Fundamentals of
Database Processing
Hugo Feitosa de Figueirêdo
Sumário
 Arquitetura Convencional de Banco de Dados
 Processamento do Banco de Dados
 Serialização de transações
 Modelos Avançados de Transação
Arquitetura convencional de Banco de
Dados
 Definição
 SGBD
 Consultas
 Tipos de SGBD:
Centralizado;
 Distribuído;

Arquitetura convencional de Banco de
Dados
SGBD Distribuído
SGBD Distribuído
 Existem 2 categorias:


Sistemas de Banco de Dados Federativos
Sistemas com Múltiplos Banco de Dados
SGBD Distribuído
 Arquitetura Federativa



Sub-conjunto de servidores que são parcialmente
autônomos no gerenciamento de suas atividades.
Cada membro coopera e participa com outros
servidores
Pode ser:


homogêneo
heterogêneo
SGBD Distribuído
 Arquitetura com Múltiplos Banco de Dados


Todos os servidores do sistema de banco de
dados distribuído possuem total autonomia.
Cada servidor fica responsável de cooperar
ou não com outro servidor na arquitetura.
Particionamento e Distribuição do
Banco de Dados
 Em Sistemas Distribuídos os Banco de
Dados são distribuídos de três formas:
 Particionado
 Replicado Parcialmente
 Replicado Totalmente
Banco de Dados Particionado
 Critérios para o particionamento:
 A partição deve possuir a maior base de dados local.
 A partição deve ajudar a minimizar o custo de
comunicação de dados.
 A partição deve ajudar a minimizar o custo da
manutenção da consistência global.
 A partição deve ajudar na serialização das transações
correntes.
 A partição deve diminuir o custo de recuperação.
 Problemas:
 Partição fora do ar
Replicação Parcial
 Banco é particionado e um subconjunto de partições
que são replicadas em mais de um servidor.
 A replicação parcial possui todas as propriedades do
esquema particionado
 Vantagens:


Provê confiabilidade e localidade.
A recuperação se torna bem mais rápida.
 Problemas
 Tempo consumido para manter a consistência global
Replicação Total
 Neste esquema o banco de dados é replicado
inteiramente em todos os servidores.
 Vantagens:



Localidade dos dados
minimiza o custo de comunicação de dados durante o
processamento de uma consulta.
Maior confiabilidade e disponibilidade
 Problemas:
 Alto custo de manter a consistência global.
 Alto custo de armazenamento.
Particionamento e Distribuição do
Banco de Dados
Processamento do Banco de Dados
 Transação


Mantêm a consistência
Transação = < Conjunto de Restrições, Banco
de Dados, Programa de Aplicação>
 O conjunto de restrições pode ser
implementado de duas formas:


Programando na aplicação
Incluindo como parte da estrutura de
transação
Estrutura de Transação
 ACID
Atomicidade
 Consistência
 Isolação
 Durabilidade
 Ações
 Desprotegidos ou Ação livre
 Protegidos ou Ação restrita



Operação com sucesso completo ou Nunca
iniciada (rollback)
Ação Real
Flat Transactions
 Mecanismo mais simples para operação de
um nível

Durante suas execuções elas não disparam
outra transação dependente.
Serialização de Transações
 Concorrência e Paralelismo


Operações básicas são confrontadas
Execução em série



Não permite compartilhamento de dados
Prejudica vazão e o tempo de resposta
Execução concorrente



Não garante consistência
Precisa de um controle de dados compartilhados
Serialização das transações concorrentes
Serialização de Transações
 Anomalias de Sincronização:



Perda de Consistência no Banco
Acesso a dados inconsistentes
Perda de Atualizações
Perda de Atualização
Recuperação Inconsistente
Serialização de Transações
Teoria da Serialização
 Critérios de Correção

Para transações



Para o sistema



Quando executada sozinha, sempre termina
Quando executada sozinha, preserva a consistência do Banco
de Dados
Deve funcionar corretamente para qualquer conjunto de
transações acessando qualquer Banco de Dados
A resposta do Sistema deve ser independente do significado
das transações e dos valores dos próprios dados armazenados
Para controle de concorrência


Cada transação deve eventualmente terminar
Cada transação deve ser executada atomicamente, sem
interferência de outras
Teoria da Serialização
 Duas operações p e q conflitam em um estado s, denotado de
conflito(p,q), se:
 estado(estado(s,p),q ) <> estado(estado(s,q),p)
 retorno(s,q) <> retorno(estado(s,p),q)
 retorno(s,p) <> retorno(estado(s,q),p)
 Duas operações que não conflitam são compatíveis e comutam.
Operações
Ler(x)
Escrever(x)
Ler(x)
Sim
Não
Escrever(x)
Não
Não
Grau de Isolação

Grau 0



Grau 1



Uma transação não sobrescreve dados não confirmados de outra transação.
Uma transação não confirma sua escrita antes de finalizar.
Grau 2




Um transação não sobrescreve dados não confirmados de outra transação.
Uma transação confirma sua escrita antes de ser finalizada.
Uma transação não sobrescreve dados não confirmados de outra transação.
Uma transação não confirma sua escrita antes de finalizar.
Uma transação não lê dados não confirmados de outra transação
Grau 3




Uma transação não sobrescreve dados não confirmados de outra transação.
Uma transação não confirma sua escrita antes de finalizar.
Uma transação não lê dados não confirmados de outra transação
Uma transação não lê dados não confirmados de outra transação antes deste
finalizar
Modelos Avançados de Transação
 Modelo de Transação Aninhada
 SAGA
 Transação Cooperativa
 Contrato
 Transação Flexível
Referências Bibliográficas
 ELMASRI, R. A. and NAVATHE, S. B. Fundamentals of Database
Systems. 2nd. Addison-Wesley Longman Publishing Co., Inc. 1998.
 KUMAR, V. Mobile Database Systems. Wiley-Interscience. 2006.
Download

Fundamentals of Database Processing