Você está na página 1de 25

DISCIPLINA: Desenvolvimento de

Aplicações com Banco de Dados

TEMA 01: SGBD


SGBD
SISTEMA DE ARQUIVOS
SGBD
SISTEMA DE ARQUIVOS
SGBD
SISTEMA DE ARQUIVOS
SGBD
ARQUITETURA
SGBD
SISTEMA DE ARQUIVOS

Sistema de Arquivos SGBD

é uma abstração de um sistema de É uma coleção de dados e


Definição armazenamento, atualização e recuperação de aplicações que permite acesso à
um conjunto de arquivos. dados.

Controla o nível de redundância


Redundância dos
Implementado pelo próprio usuário. necessária para manter os dados
dados
seguros.

Compartilhamento Não é permitido de forma usual. Há Pode ser realizada de forma mais
dos dados necessidade de uso de outras aplicações. simples.

Quando os dados estão replicados, mantê-los


Consistência de A consistência é assegurada pelo
atualizados é difícil, podendo ocasionar
dados próprio SGBD.
inconsistência.
SGBD
SISTEMA DE ARQUIVOS

Sistema de Arquivos SGBD

Pesquisa e Responsabilidade do usuário. Outras Facilmente realizada pelo


acesso aplicações podem ser usadas. SGBD.

A segurança, quando existe, é baixa.


Recursos adicionais são ofertados
Permite alto nível de
pelo gerenciamento de usuários
Segurança segurança, incluindo
através do tipo de acesso.
dos dados criptografia, presente em
Aplicações externas costumam
alguns SGBDs.
assegurar critérios adicionais de
segurança.
SGBD
ARQUITETURA
SGBD
MERCADO SGBDS

https://db-engines.com/en/ranking
SGBD
SGBD
Um dos SGBDs mais populares do mundo. Com as seguintes
características:
• Portabilidade;
• Compatibilidade;
• Desempenho e estabilidade;
• Pouco exigente quanto a recursos de hardware;
• Facilidade de uso;
• Software Livre;
• Implementa tipos geométricos; e
• Suporte a vários tipos de tabelas.
SGBD
ARQUITETURA DO MYSQL
SGBD
ENGINES

Os dados no MySQL são armazenados em arquivos (ou


memória) usando uma variedade de técnicas diferentes.

Cada uma dessas técnicas emprega diferentes mecanismos


de armazenamento, formas de indexação e uma variedade de
funções e capacidades diferentes.

Ao escolher uma técnica diferente, você pode ganhar


velocidade ou funcionalidade adicional benefícios que
melhorarão a funcionalidade geral da sua aplicação.
SGBD
ENGINES

Você pode disponibilizar as engines disponíveis utilizando o


comando

show engines;
SGBD
ENGINES

Para escolher uma engine, deve ser explicitamente citado na


criação da estrutura.

CREATE TABLE mytable (id int, title char(20)) ENGINE =


INNODB;
ALTER TABLE mytable ENGINE = MyISAM;
SGBD
ENGINES

Critérios de seleção das ensines:

- tipos dos dados;


- tipos de bloqueios;
- bloqueio de tabela (MyISAM)
- bloqueio de página (Berkeley DB)
- bloqueio de linha (InnoDB)
- tipo de indexação; e
- tipo de transação.
SGBD
Tipos de engines: ENGINES

- MyISAM;
- MERGE;
- MEMORY;
- EXAMPLE;
- FEDERATED;
- ARCHIVE;
- CSV;
- BLACKHOLE;
- ISAM;
- BERKELEY DB; e
- INNODB.
SGBD
ENGINES

Nome Versão MySQL Instalação Padrão Limitação de Dados Limitações de Índice Transação Nível de bloqueio

MyISAM 3.23 Sim Nenhum 64 índices/tabela Não Tabela


Alinhado com
MERGE 3.23.25 Sim MyISAM N/A Não Tabela
Não suporta BLOB
MEMORY 1.0 Sim e TEXT Nenhum Não Tabela
EXAMPLE 4.1.3 Não N/A N/A N/A N/A
FEDERATED 5.0 Não Sim N/A Não Não
ARCHIVE 4.1.3 Não Não faz UPDATE N/A Não N/A
CSV 4.1.4 Não Nenhum Não suportado Não Tabela
Nenhum dado é
BLACKHOLE 4.1.11 Não armazenado N/A Não N/A
ISAM 1.0 Sim Banco < 4GB 16 índice/tabela Não Tabela
Berkeley DB 3.23.34A Não Nenhum Sim Sim Página
InnoDB 3.23 Não Nenhum Nenhum Sim Linha
SGBD
TÓPICO EXTRA

MariaDB é um servidor de banco de dados que oferece a


funcionalidade e substituição para o MySql, é hoje construído por
alguns autores do MySQL com a ajuda de outros desenvolvedores
de software livre.

• Mais rápido e leve que o MySQL;


• Velocidade;
• Menor exigência de hardware; e
• Total compatibilidade com o MySQL.
SGBD
TÓPICO EXTRA

NoSQL é Banco de Dados Orientado a Documento, como o próprio


nome sugere, este modelo armazena coleções e documentos.

• No exemplo desejamos investigar as opiniões sobre um site. A


opinião terá como campos: Assunto, Autor, Data, Tags e
Mensagens. Não há nenhum tipo de restrição ou complexidade de
inserir tal dado no banco de dados, esta flexibilidade é um ponto
forte neste tipo de modelo NoSQL.

Documento com informações


Mecanismos do MySQL: InnoDB vs. MyISAM
uma comparação de prós e contras
Os 2 principais tipos de mecanismos de armazenamento de tabelas para bancos
de dados MySQL são InnoDB e MyISAM. Para resumir as diferenças de recursos
e desempenho,

1. InnoDB é mais recente, enquanto MyISAM é mais antigo.


2. InnoDB é mais complexo enquanto MyISAM é mais simples .
3. O InnoDB é mais rígido na integridade dos dados enquanto o MyISAM é
solto.
4. InnoDB implementa bloqueio em nível de linha para inserir e atualizar
enquanto MyISAM implementa bloqueio em nível de tabela .
5. InnoDB tem transações, enquanto MyISAM não.
6. InnoDB tem chaves estrangeiras e restrições de relacionamento, enquanto
MyISAM não.
7. O InnoDB tem uma recuperação de travamento melhor, enquanto o
MyISAM não recupera a integridade dos dados em travamentos do sistema.
8. MyISAM tem índice de pesquisa de texto completo, enquanto InnoDB não.
À luz dessas diferenças, InnoDB e MyISAM têm suas vantagens e desvantagens
exclusivas um contra o outro. Cada um deles é mais adequado em alguns
cenários do que o outro.
InnoDB
Vantagens do InnoDB
1. O InnoDB deve ser usado onde a integridade dos dados é uma prioridade,
porque inerentemente cuida deles com a ajuda de restrições de relacionamento
e transações.
2. Mais rápido em tabelas de gravação intensiva (inserções, atualizações)
porque utiliza o bloqueio de nível de linha e apenas mantém as alterações na
mesma linha que está sendo inserida ou atualizada.
Desvantagens do InnoDB
1. Como o InnoDB precisa cuidar dos diferentes relacionamentos entre as
tabelas, o administrador do banco de dados e os criadores do esquema
precisam levar mais tempo para projetar os modelos de dados que são mais
complexos do que os do MyISAM.
2. Consome mais recursos do sistema , como RAM. Na verdade, é recomendado
por muitos que o mecanismo InnoDB seja desligado se não houver necessidade
substancial dele após a instalação do MySQL.
3. Sem indexação de texto completo.
MyISAM

Vantagens do MyISAM

1. Mais simples de projetar e criar , portanto, melhor para iniciantes. Não se


preocupe com as relações externas entre as tabelas.
2. Mais rápido do que o InnoDB em geral, como resultado da estrutura mais
simples, portanto, muito menos custos de recursos do servidor.
3. Indexação de texto completo .
4. Especialmente bom para tabelas de leitura intensiva (selecionadas) .
Desvantagens do MyISAM

1. Nenhuma verificação de integridade de dados (por exemplo, restrições de


relacionamento), o que, então, é uma responsabilidade e sobrecarga dos
administradores de banco de dados e desenvolvedores de aplicativos.
2. Não oferece suporte a transações que são essenciais em aplicativos de
dados críticos, como bancos.
3. Mais lento que o InnoDB para tabelas que são freqüentemente inseridas ou
atualizadas, porque a tabela inteira está bloqueada para qualquer inserção ou
atualização.
A comparação é bastante direta. InnoDB é mais adequado para situações críticas de
dados que requerem inserções e atualizações frequentes. MyISAM, por outro lado,
tem melhor desempenho com aplicativos que não dependem muito da integridade
dos dados e, principalmente, apenas selecionam e exibem os dados.
Revisão
1. SGBD
2. PRINCIPAIS DIFERENÇAS COM SISTEMA DE ARQUIVO
3. MYSQL X MARIADB
4. PRINCIPAIS ENGINES

Você também pode gostar