Motor de Armazenamento

Slides:



Advertisements
Apresentações semelhantes
Checkpoint SGBD com alta demanda de transações Checkpoint
Advertisements

Introdução Gdes. bancos de dados: Concorrência: Transação:
Controle de Concorrência Serializabilidade
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Banco de Dados I Aula 20.
01/08/2011 Professor Leomir J. Borba- –
Prof.: Bruno Rafael de Oliveira Rodrigues
Prof.: Bruno Rafael de Oliveira Rodrigues
SISTEMAS DE INFORMAÇÃO
© Marcelo Bezerra de AlcântaraBanco de Dados II - Transação - 1 Disciplina Banco de Dados II Gerenciamento de transações Msc, Marcelo Bezerra de Alcântara.
Maurício Edgar Stivanello
Sistemas de Informação Gerencial
SGBD.
Transações Atômicas Distribuídas
Sistema Gerenciador de Banco de Dados SGBD
Sumário 1 SQL Embutida 2 Processamento de Consultas
Componentes Arquitetônicos de um Banco de Dados Oracle
Banco de Dados Oracle AESO.
Introdução à Engenharia da Computação
Fundamentals of Database Processing
Conceitos Básicos Dado: fato do mundo real que está registrado e possui um significado implícito no contexto de um domínio de aplicação Exemplos: endereço,
Org. e Projeto de Banco de Dados
Prof. Alexander Roberto Valdameri
Prof. Alexander Roberto Valdameri
Fundamentos de Banco de Dados Prof. Alexander Roberto Valdameri
Linguagem de Banco de Dados - SQL
Bancos de Dados – SQL – parte 1
RECUPERAÇÃO APÓS FALHA
SQL Server 2012 Introdução a Modelagem de Dados
Gerenciamento de Transações - Introdução
Banco de Dados Aplicado ao Desenvolvimento de Software
Banco de Dados II Prof. Antônio Cordeiro.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Exercícios SGBD - CESPE
Transações Atômicas Distribuídas Prof. Alcides Calsavara
FaculdadePitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Sistemas Gerenciadores de Banco de Dados Prof.: Fernando Hadad Zaidan.
Controle de concorrência
Banco de dados.
BD Distribuído Conceitos Iniciais.
Controle de Concorrência Locks. Conceito de Transação Transações podem ser vistas como um grupo de operações combinadas em uma unidade lógica de trabalho.
Banco de Dados Aplicado ao Desenvolvimento de Software
Processos.
Assunto: Transações concorrentes, Disciplina: Banco de dados II, profa. Cristina Paludo Max W. Ourique Ranieri R. Tremea
SISTEMAS DISTRIBUÍDOS Transações Atômicas
Introdução a Banco de Dados Aula 04
Bancos de Dados Estrutura e Funcionamento de um SGBD
Bancos de Dados.
Falhas.
Teste.
1 15/4/ :36 FMU – 1. Semestre – Tecnologia – Analise e Desenvolvimento de Sistemas Professor: Eduardo Silvestri Aluno:Clóvis de Oliveira- RA
SQLite Banco de Dados II.
Controle de Concorrência
1 24/4/ :29 FMU – 1. Semestre – Tecnologia – Analise e Desenvolvimento de Sistemas Professor: Eduardo Silvestri Aluno:Clóvis de Oliveira- RA
DELETE, UPDATE, COMMIT, ROLLBACK
Sumário 1 Processamento de Consultas 2 Introdução a Transações
Transações Banco de Dados II Aline S Costa 1. TRANSAÇÕES Conjunto de operações que formam uma única unidade lógica de trabalho; Conjunto de instruções.
TLBD II – Técnicas e Linguagem para Bando de Dados II
Daniel Paulo Introdução Neste capítulo trataremos a relação entre tabelas e FILEGROUPS, bem como a alocação interna de dados.
Projeto e Implementação de Sistemas de Arquivos
Linguagem Técnica II SCM Software Configuration Management Aula 03 Prof. Renato Novais
Daniel Paulo SQL Server 2014 Módulo II Daniel Paulo
UCSal – Bacharelado em Informática
UCSal – Bacharelado em Informática Banco de Dados Profa. Semíramis Assis
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 1 Tópicos  Introdução  Um exemplo  Características da abordagem de banco de dados  Vantagens.
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para:
 Trabalho realizado por:  Francisco de Assis Marinho Lanza;  Simone Martins Rodrigues;  Tânia Moraes Nascimento da Fonseca.
MySQL STORAGE & TRANSACTIONs Pedro da Silva. Índice 1. Storage 1.1. Tabelas MyISAM 1.1. Tabelas MyISAM 1.2 Tabelas InnoDB 1.2 Tabelas InnoDB 2. Transactions.
Universidade de Passo Fundo Tecnologia em Sistemas de Informação TSI109- Fundamentos de Banco de Dados (Restrições de Integridade) Prof. Alexandre Tagliari.
Transcrição da apresentação:

Motor de Armazenamento

Prof. Marcus Vinícius

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

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.

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.

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.

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.

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.

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;

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 }

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;

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;

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.

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).

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).

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.