Sistemas de Gerência de Bancos de Dados 7 - Outras Arquiteturas para SGBDs 7.4 - SGBDs Distribuídos Homogêneos 1 Tópicos Introdução Arquitetura Processamento de Consultas Gerência de Transações 2 Introdução BD Distribuído: banco de dados armazenado em vários servidores, conectados por uma rede de comunicação de dados SGBD Distribuído: estende as técnicas de armazenamento de dados, processamento de consultas e gerência de transações para permitir a implementação de BDDs T Servidorj Rede Servidori BDL Servidork BDL BDL3 Arquitetura SGBDD Homogêneo: T DD GTi GDj SGBDLj BDL DD Rede GTi GTi GDi GDj SGBDLi SGBDLj BDL BDL 4 DD Arquitetura SGBDD Homogêneo: Esquema Externo Global Esquema Externo Global Esquema Conceitual Global Esquema Conceitual Local Esquema Conceitual Local Esquema Interno Local Esquema Interno Local 5 Processamento de Consultas comando expresso em termos do esquema externo (1) Tradutor1 comando expresso em termos do esquema conceitual global (2) Tradutor2 seqüência de comandos locais e transferências de dados Noi Rede comando expresso em termos do esquema conceitual local Noj (3) SGBDL seqüência de acessos físicos sobre o banco de dados local BDL 6 Processamento de Consultas Estratégias de Processamento Processamento centralizado: mova os dados para um único nó, reduzindo ao caso centralizado Processamento centralizado com redução prévia: reduza os dados antes de movê-los para um único nó Otimização com fragmentação prévia: traduza a consulta para o nível de fragmentos otimize a consulta Otimização com fragmentação à posteriori: otimize a consulta antes de traduzir a nível de fragmentos 7 Gerência de Transações Fases da execução de uma transação: início: GT gera uma identificação unívoca para a transação execução: GT implementa o plano de execução gerado pelo otimizador término: GT interage com todos os GDs que atualizaram dados conforme especificado pela transação, garantindo que todos instalem definitivamente nos BDs locais as atualizações, ou as abandonem 8 Gerência de Transações Two-phase commit protocol (2PC): protocolo para coordenar o término das transações Implementação: primeira fase: informa aos nós participantes que a transação quer terminar segunda fase: se todos concordaram em terminar, ordena que o façam se algum não concordou, ordena que todso cancelem a transação 9