A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Motor de Armazenamento

Apresentações semelhantes


Apresentação em tema: "Motor de Armazenamento"— Transcrição da apresentação:

1 Motor de Armazenamento

2 Prof. Marcus Vinícius

3 MySQL INNODB – Introdução e principais características

4 A arquitetura interna do MySQL é provida de duas camadas principais:
A camada de parser e otimização de consultas SQL A segunda que é onde estão conectadas os “Motores de Armazenamento” de forma modular. Assim como o INNODB, existem outros Motores como MyISAM, FEDERATED, MERGE, MEMORY, BDB, ARCHIVE, CSV, EXAMPLES, BLACKHOLE, cada qual com suas características próprias.

5

6 Os Motores de Armazenamento funcionam como plugins que são adicionados ao servidor MySQL, que apresenta uma estrutura 100% modular. Estes motores gerenciam diretamente os arquivos no disco. Cada tabela que é criada utilizando o motor de Armazenamento INNODB, armazena no diretório do banco de dados, sob o diretório de dados, um arquivo .frm; este por sua vez armazena a estrutura da tabela. O INNODB armazena índices e dados de todas as tabelas de todos os bancos de dados contidos em um servidor MySQL.

7 Principais Características do INNODB:
Todas as tabelas INNODB são representadas em disco por um arquivo de extensão.frm no diretório de banco de dados e armazena dados e índices em tablespaces*. Tais tablespaces são padronizadas e são localizadas no diretório data ou datadir. Também por padrão, todas as tabelas INNODB de um servidor compartilham um mesmo tablespace. O INNODB ainda nos permite configurar que cada tabela tenha sua própria tablespace, evitando problemas com arquivos grandes.

8 Tablespace é uma subdivisão lógica de um banco de dados utilizado para agrupar estruturas lógicas relacionadas. As tablespaces apenas especificam a localização de armazenamento do banco de dados e são armazenadas fisicamente em datafiles, que alocam imediatamente o espaço especificado na sua criação.

9 INNODB dá suporte a transações e é totalmente adequada às propriedades ACID. O multi- versionamento é utilizado para garantir o isolamento de uma transação em relação à outra; INNODB provê auto_recovery após um crash ou queda no servidor onde o MySQL roda; ACID (acrônimo de Atomicidade, Consistência, Isolamento e Durabilidade) é um conceito criado para caracterizar uma transação, entre outras coisas.

10 INNODB tem multi-versionamento e bloqueio em nível de linha, ou seja, caso uma transação A esteja atualizando uma determinada linha de uma tabela, esta será bloqueada até que haja um COMMIT ou ROLLBACK. O multi-versionamento provê à transação uma visão própria do estado do banco de dados, combinado com o bloqueio em nível de linha, provê o mínimo possível de contenções;

11 Prevalece a “good query concurrency” ou boa concorrência entre consultas.
INNODB tem suporte a integridade referencial, ou seja, tem suporte a criação de FOREIGN KEY, incluindo cascateamentos em DELETE e UPDATE. As propriedades de integridade referencial suportados pelo INNODB são: { RESTRICT | CASCADE | SET NULL | NO ACTION }

12 O INNODB trabalha basicamente utilizando dois recursos em disco, os tablespaces que armazenam dados e índices e um conjunto de arquivos de log que registram todas as transações que manipulam dados em tabelas INNODB no servidor MySQL;

13 O tablespace do INNODB é portável e pode ser copiado diretamente para outro servidor, juntamente com os arquivos .frm. Alguns pontos devem ser analisados com cuidado para que não haja problemas com o backup físico do banco de dados. Considere fazer um backup lógico ao invés de copiar arquivos;

14 ACID: Atomicidade: Trata o trabalho como parte indivisível (atômico). A transação deve ter todas as suas operações executadas em caso de sucesso ou nenhum resultado de alguma operação refletido sobre a base de dados em caso de falha. Ou seja, após o término de uma transação (commit ou abort), a base de dados não deve refletir resultados parciais da transação.

15 Consistência: A execução de uma transição deve levar o banco de dados de um estado consistente a um outro estado consistente, ou seja, uma transação deve respeitar as regras de integridade dos dados (como unicidade de chaves, restrições de integridade lógica, etc...). Por exemplo: considere um banco de dados que guarde informações de clientes e que use o CPF como chave primária. Então, qualquer inserção ou alteração no banco não pode duplicar um CPF (unicidade de chaves) ou colocar um valor de CPF inválido (restrição de integridade lógica).

16 Isolamento: Em sistemas multiusuários, várias transações podem estar acessando o mesmo registro (ou parte do registro) no banco de dados. Por exemplo, se um usuário tentasse alterar um registro e um outro estivesse tentando ler este mesmo registro. O isolamento é um conjunto de técnicas que tentam evitar que transações paralelas interfiram umas nas outras, fazendo com que o resultado de várias transações em paralelo seja o mesmo destas mesmas transações sendo executadas sequencialmente (uma após a outra).

17 Durabilidade: Os efeitos de uma transação em caso de sucesso (commit) devem persistir no banco de dados mesmo em presença de falhas. Garante que os dados estarão disponíveis em definitivo.


Carregar ppt "Motor de Armazenamento"

Apresentações semelhantes


Anúncios Google