SlideShare uma empresa Scribd logo
1 de 14
FACULDADES INTEGRADAS SANTA CRUZ DE CURITIBA
Sistema de Banco de Dados Distribuídos
CURITIBA
OUTUBRO/2015
FACULDADES INTEGRADAS SANTA CRUZ DE CURITIBA
DEROCI NONATO JÚNIOR
MISAEL GOLLUB POLUCHESKI
RAFAEL ROMANIECKI
Sistema de Banco de Dados Distribuídos
Trabalho apresentado como requisito parcial
para a obtenção de nota na disciplina de
Sistemas Distribuídos, pela Faculdade Santa
Cruz de Curitiba, unidade Bonat.
Orientador: Prof Silvio Bortoleto.
CURITIBA
OUTUBRO/2015
Sumário
1. Introdução .................................................................................................................. 4
2. Independência dos dados ........................................................................................... 5
3. Proposta do SBDD..................................................................................................... 5
4. Dificuldades do SBDD .............................................................................................. 6
5. SBDD homogêneos e heterogêneos........................................................................... 7
6. O que são links de banco de dados? .......................................................................... 7
7. O que são links compartilhados de banco de dados?................................................. 8
8. Banco de Dados Paralelo ........................................................................................... 9
9. Fragmentação de dados.............................................................................................. 9
10. Replicação................................................................................................................ 10
11. Transação distribuída............................................................................................... 10
12. Controle de Concorrência distribuído...................................................................... 10
13. Conceitos de fechaduras .......................................................................................... 11
14. Protocolos utilizados................................................................................................ 11
15. Protocolos ................................................................................................................ 11
16. Conclusão ................................................................................................................ 13
17. Referencias .............................................................................................................. 14
4
1. Introdução
A evolução da tecnologia sempre se deu devido as necessidades encontradas
pelos humanos em realizar determinadas ações. A evolução da tecnologia para chegar
aos sistemas de bancos de dados distribuídos não foi diferente. Um banco de dados
distribuídos pode ser definido como uma coleção de dados logicamente inter-
relacionados distribuídos fisicamente atraves de uma rede de computadores. Cada
usuário tem acesso a partes especificas do banco de dados para que possam executar
suas tarefas sem interferir com o trabalho dos outros.
Essas distribuições de dados trazem benefícios na disponibilidade dos dados,
na confiabilidade deles, em uma melhora de performance, estrutura organizacional etc.
No lado oposto aumenta a complexidade do ambiente, possível aumento de custos,
dificulta o controle da integridade etc.
Para ser possível a utilização de bancos de dados distribuídos se faz necessário
um sistema de gerenciamento de banco de dados distribuído (SGBDD), ele gerencia o
banco de dados como se estivesse tudo armazenado no mesmo computador. O SGBDD
sincroniza todos os dados periodicamente e, nos casos em que vários usuários devem
acessar os mesmos dados, garante que as atualizações e exclusões realizadas nos dados
em um local serão refletidas automaticamente nos dados armazenados em todas as
bases.
5
2. Independência dos dados
Antigamente os programas armazenavam dados em arquivos regulares e cada
programa tinha que manter seus próprios dados e isso gerava uma enorme sobre carga e
era algo completamente sujeito a erros. O desenvolvimento e utilização de banco de
dados distribuídos ajudou alcançar plenamente a independência dos dados, podendo
garantia a manutenção dos dados centralizados e com controle de acesso, auxiliou as
aplicações ficarem imune a organização física e lógica dos arquivos devido distribuição
dos dados e ao acesso dos mesmo de qualquer lugar. A distribuição desses dados não é
nada mais que a união de dados que aparentemente estão caminhando em direções
completamente opostas.
O fator determinante que possibilita a possibilidade do uso de banco de dados
distribuídos são as redes de computadores atuais que vieram para promover um modo
de trabalho que vai completamente contra a centralização. O foco é a integração e
conversação entre os bancos, a ideia é ter o mínimo de informações centralizadas porem
todas as pontas se comunicando entre si, permitindo que aplicativos acessem os dados
de bancos locais e remotos. A principal utilização de tal distribuição é alcançar a
integração e distribuição de dados da maneira mais transparente possível as pessoas que
o utilizam.
3. Proposta do SBDD
Uma de suas premissas é o aumento da confiabilidade dos dados devido a
replicação de componentes, não há pontos centralizados que podem ocorrer falhas e
perca total de dados, quando um dos computadores falhar, a carga de trabalho é captada
por outras estações de trabalho. Os processamentos de transações distribuídas garantem
a consistência do banco de dados e sua sincronização. Todos os nós ou todos as pontas
no banco de dados devem estar interligados pela rede de computadores e conversando
entre si. Os dados ou fragmentos de dados podem e devem ser replicados a outros nós
adjacentes.
O usuário final é capaz de acessar qualquer cópia dos dados disponíveis, e
pedido de um usuário final é processado por qualquer processador no local de dados.
Há uma melhora na performance devido aos dados estarem sendo distribuídos
e presente próximo de seus pontos de utilização, assim há uma redução de tempo no
6
acesso a tais informações. As execuções podem ser realizadas em paralelo, tanto no
momento de inter-consulta como de intra-consulta. O sistema espalha a carga de
trabalho por sistemas de processamento de dados em vários nós.
A expansão do sistema se torna mais simples, pois novas tecnologias, estações
e expansão do banco podem ser adicionadas a qualquer momento, bastando apenas o
banco ser instalado e configurado com os apontamentos corretos.
Dados compartilhados logicamente relacionados podem ser recolhidos por
qualquer um dos pontos. Todos os bancos são controlados pelo Sistema de
Gerenciamento de Banco de Dados Distribuídos e cada um deles participam de pelo
menos uma aplicação global.
Aumento na segurança devido a ser possível manter o controle centralizado de
todos dados distribuídos. O gerenciamento de dados é replicado, ou seja, em todas as
pontas é possível ter uma gerencia de dados centralizada de todos os dados distribuídos.
Gestão de catálogo, hierarquia e “foto” do sistema completo de maneira fácil. Gerenciar
transações de maneira distribuídas e recuperar o de banco de dados distribuído de
maneira rápida.
4. Dificuldades do SBDD
Existe uma complexidade no gerenciamento e controle notável em bancos de
dados distribuídos, pois todos os apontamentos têm de estar corretos, a liberação de
acesso deve ser criada de maneira muito criteriosa, os usuários responsáveis pela
gerencia bem selecionados e treinados, as políticas de segurança bem claras e bem
pensadas. Os problemas com segurança aumentam quando os dados estão localizados
em múltiplos locais, pois todas as diretrizes devem ser bem pensadas e aplicadas de
maneira correta, ainda mais quando falamos de sistemas heterogêneos que se
comportam de maneira diferente um do outro.
As requisições devem reconhecer a localização de todos os dados solicitados, e
elas devem ser capazes de unir dados de vários pontos diferentes em uma única
aplicação de maneira transparente e sem duplicação.
Requisitos de disponibilidade do setor de infraestrutura aumentam muito com
tais serviços, pois se faz necessário uma largura de conexão muito grande para suportar
7
o envio e requisições de dados, também deve suportar a sincronização e o trafego
normal de dados. E de armazenamento devido a necessidade de várias cópias dos dados
ter de estar em locais diferentes, logo é necessário mais espaço de armazenamento.
5. SBDD homogêneos e heterogêneos
Em um banco de dados distribuído homogêneo todos os pontos têm softwares
idênticos uns aos outros e se reconhecem cooperando no processamento de solicitações
dos usuários. Um aplicativo pode acessar ou modificar simultaneamente os dados de
vários bancos de dados através de um único ambiente distribuído. Por exemplo, uma
única consulta de um cliente que está na rede A em seu banco de dados local pode
recuperar ao mesmo tempo dados do banco local e dados de um banco de dados remoto
que se situa na rede B. Para o aplicativo cliente, a localização e plataforma dos bancos
de dados são transparentes. Podemos criar sinônimos de objetos remotos de modo que
os usuários possam os acessar com a mesma sintaxe dos objetos locais. Seria como se
você estiver conectado ao banco de dados local, mas necessitasse de acessar dados em
um banco remoto, se cria um sinônimo no banco local para a tabela do banco remoto
que permite que seja realizada a consulta sem a necessidade de adição do caminho
completo.
É encontrado uma facilidade maior em se projetar e gerenciar sistemas
homogêneos devido as similaridades. Os sistemas operacionais utilizados e o aplicativo
de banco de dados (SGBD) é o mesmo ou são no mínimo compatíveis.
Já em um banco de dados distribuído heterogêneos, diferentes pontos podem
conter diferentes esquemas, softwares, hardwares e estruturas de dados em vários
pontos. Diferentes computadores e sistemas operacionais, aplicativos de banco de dados
ou modelos de dados podem ser encontrados nesse ambiente. Se faz necessário
traduções de protocolos, comandos ou operações para permitir a comunicação entre os
diferentes pontos.
6. O que são links de banco de dados?
Um link é um ponteiro que define um caminho de comunicação unidirecional
de um servidor de banco de dados para outro servidor de banco de dados. O ponteiro da
8
ligação é definido como uma entrada em uma tabela de um dicionário de dados. Para
acessar o link, o usuário deve estar conectado ao banco de dados local que contém a
entrada do dicionário de dados.
É chamado de unidirecional no sentido de que um cliente conectado ao banco
de dados local pode utilizar somente um link armazenado no banco de dados para
acessar informações em um banco de dados remoto, mas os usuários conectados ao
banco de dados remoto não podem usar o mesmo link para acessar os dados no banco
de dados deste primeiro usuário. Se os usuários locais no banco de dados remoto
desejam acessar dados no banco de dados daquele primeiro usuário, se deve então
definir um novo link que é armazenado no dicionário de dados do banco de dados
remoto. Para esta conexão ocorra, cada banco de dados no sistema distribuído deve ter
um nome de banco de dados global único no domínio da rede. O nome do banco de
dados global identifica exclusivamente um servidor de banco de dados em um sistema
distribuído.
Links de banco de dados são divididos entre privados ou públicos. Se são
privados, apenas o usuário que criou o link tem acesso; se são públicos, todos os
usuários do banco de dados têm acesso.
7. O que são links compartilhados de banco de dados?
Um link de banco de dados compartilhado é uma ligação entre um processo do
servidor local e do banco de dados remoto. O link é compartilhado por vários processos
do cliente que podem utilizar o mesmo link simultaneamente.
Quando um banco de dados local está conectado outro banco de dados remoto
através de um link, os processos podem ser executados no servidor dedicado ou
compartilhado.
Quando um usuário precisa para estabelecer uma conexão com um servidor
remoto a partir de um processo do servidor local, o processo pode reutilizar conexões já
estabelecidas com o servidor remoto. A reutilização da conexão pode ocorrer se a
conexão for estabelecida no mesmo processo do servidor com o mesmo link de banco
de dados.
9
8. Banco de Dados Paralelo
Um sistema de banco de dados paralelo possui um ganho de desempenho
através da paralelização de várias operações, tais como o carregamento de dados,
índices de construção, consultas e inserção de dados. A paralelização é feita
exclusivamente com base no desempenho de cada máquina.
Bases de dados paralelas melhoram a velocidade de processamento e de
entrada/saída, utilizando múltiplas CPUs e discos em paralelo onde muitas operações
são realizadas simultaneamente, podemos fazer uma analogia com o processo de RAID
que pode ser feito em Desktop.
9. Fragmentação de dados
A fragmentação é um recurso do servidor de banco de dados que permite que
você controle onde os dados são armazenados a nível de tabela, também pode ser
definido como um processo de divisão ou de mapeamento das tabelas com base nas
colunas e linhas. Os dados que sofrem algum tipo de variação têm a possibilidade de se
combinar com a conclusão de coleta de dados usando fragmentação. Ela permite que
você defina grupos de linhas ou chaves de índice dentro de uma tabela.
Fragmentação Vertical: é a fragmentação de tabela a nível de colunas, onde
uma ou um conjunto de colunas de uma mesma tabela ficam em bancos separados.
Normalmente essa fragmentação realizada com base na necessidade do usuário,
deixando em bancos mais próximos do usuário suas colunas mais requisitadas, assim se
tem um ganho de desempenho, porem qualquer usuário ainda consegue requisitar
qualquer uma das colunas da tabela.
Fragmentação Horizontal: é a fragmentação da tabela a nível de linhas, onde
uma quantidade especifica ou intervalos de linhas são alocados em bancos diferentes.
Utilizado em casos que os usuários se baseiam em regiões, um exemplo seria um
sistema nacional de cadastramento onde todos os dados de clientes do Paraná são
adicionado em uma tabela que fica em um banco localizado no Paraná e os clientes de
Rondônia são adicionados na mesma tabela mas em um banco que fica localizado em
Rondônia, os dois podem acessar todos os dados da tabela, porem no Paraná é feito
mais consultas e inserção de dados de cliente de seu próprio estado, logo se ganha
desempenho com isso, em Rondônia o mesmo caso.
10
10. Replicação
Replicação é o armazenamento de várias cópias de um fragmento de dado. Um
fragmento de dado inteiro pode ser replicado em um ou mais locais. Maior
disponibilidade de dados é alcançada. Caso uma das pontas que contém uma réplica
sofre uma falha, podemos encontrar os mesmos dados em outras pontas. Ocorre da
mesma forma, se cópias locais de fragmentos de dados remotos estão disponíveis, assim
reduzimos muito possíveis falhas de conexão. Temos uma redução no tempo de
consulta, pois as consultas, podem ser executadas usando uma cópia local de um
fragmento em vez de sair para outra ponta.
11. Transação distribuída
Em um SGBD distribuídos, uma determinada operação é submetida alguma
ponta mas pode acessar dados em todas as outras pontas também. Quando uma
transação é designada a alguma ponta, o gerenciador de transações dessa ponta se divide
em uma ou mais sub-transações que são executadas em pontas diferentes, submetem a
gerenciadores de transações de outras pontas e coordena as ações.
12. Controle de Concorrência distribuído
Temos uma função que se chama Controle de Concorrência Distribuído que
assegura a persistência de todas as ações em todas as pontas em que é executada quando
uma transação é confirmada. Da mesma forma, quando uma transação for anulada,
nenhuma de suas ações devem persistir.
Gerenciamento Controle de Concorrência podem ser distribuídos nas pontas
como:
 Centralizada: Uma única ponta é encarregada de lidar com bloqueios e
desbloqueios de todos os pedidos de objetos.
 Cópia Primária: Uma cópia de cada objeto é submetida a cópia primária.
Todas as solicitações para bloquear ou desbloquear deste objeto são tratadas
11
pelo gerenciador de bloqueio no local onde a cópia principal é armazenada,
independentemente de onde a cópia é armazenada.
 Totalmente distribuído: As solicitações para bloquear ou desbloquear uma
cópia de um objeto armazenado em uma ponta são tratadas pelo gerenciador
de bloqueio no local onde a cópia é armazenada.
13. Conceitos de fechaduras
Um bloqueio é utilizado quando vários usuários precisam acessar um banco de
dados simultaneamente, e isso evita que os dados sejam corrompidos ou invalidados.
Qualquer usuário só pode modificar os registros de banco de dados quando
lhes dá acesso exclusivo para o registro. O processo de bloqueio não só proporciona
exclusividade para escrever, mas também impede leituras imprecisa dos dados.
14. Protocolos utilizados
Podemos dividir as transações de aplicações distribuídas em locais e globais.
Transações locais são as que iniciam e se concluem em uma mesma ponta, não afetando
as demais pontas para realizar sua transação. Já as globais são aquelas que iniciam em
determinada ponta e terminam em outra ponta, ou iniciam e concluem na mesma ponta,
porém no meio da transação foi necessário acessar a outra ponta para realizar alguma
operação, assim utilizando o desempenho da outra ponta em algum momento do
processamento.
15. Protocolos
A integridade das transações distribuídas é garantida pelos protocolos de
efetivação que atinge mais de uma ponta, fazendo com que a transação só seja realizada
(Commit) ou cancelada (Rollback) quando todas as pontas entram em um acordo.
“Two-Phase Commit: O protocolo de efetivação Two-Phase
Commit é composto por duas fases, em que todos os servidores
envolvidos na transação entraram em acordo se efetivaram
(Commit) ou abortaram (Rollback) a transação.
12
Theree-Phase Commit: O protocolo Theree-Phase Commit é
uma continuação do protocolo de duas fases em que é
adicionada uma terceira fase que busca a diminuição de falhas
do coordenador. Com a implementação da terceira fase, a troca
de dados entre coordenador e gerenciadores de transação
aumenta o grau de complexidade e proporciona um maior
trafego na rede (overhead). ” (ROSÁRIO, 2013).
13
16. Conclusão
O documento abordou conceitos e fundamentos de sistemas de banco de dados
distribuídos, conceitos de modelagem e estruturação, bem como protocolos utilizados e
métodos de controle e replicação.
Concluímos que os recursos apresentados permitem que sistemas de Banco de
Dados distribuídos apresentem performance e confiabilidade nos cenários onde estão
inseridos. Neste tipo de implementação, devido a sua complexidade e criticidade todos
os componentes devem ser bem planejados e implementados, porém, uma vez o sistema
implementado, tomando em conta todas essas premissas, temos como resultado em
geral um sistema sólido, performático e tolerante a falhas.
14
17. Referencias
R OUSE, Margaret. Distributed database definition. Setembro de 2005.
Disponível em <http://searchoracle.techtarget.com/definition/distributed-database>.
Acessado em 16/10/15 às 08h30min.
GAMPER, Johann. Distributed Databases. Setembro de 2008. Disponível em
<http://www.inf.unibz.it/dis/teaching/DDB07/ln/ddb01.pdf>. Acessado em 16/10/15 às
09h10min.
Oracle9i Database Administrator’s Guide, Resease 2 (9.2). Disponível em
<https://docs.oracle.com/cd/B10501_01/server.920/a96521/ds_concepts.htm#20409>.
Acessado em 16/10/15 às 09h40min.
SULEMAG. Distributed Database System. 02 de Março de 2014. Disponível
em <http://pt.slideshare.net/Sulemang/distributed-database-system>. Acessado em
16/10/15 às 10h45min.
PATIL, Bharat. Distributed database. 20 de Março de 2013. Disponível em
<http://pt.slideshare.net/patilbharat7/distributed-database-final?next_slideshow=1>.
Acessado em 16/10/15 às 14h00min.
ROSÁRIO, Luiz Garetti. O que é Banco de Dados Distribuído? 8 de Outubro
de 2013. Disponível em <http://imasters.com.br/banco-de-dados/o-que-e-banco-de-
dados-distribuido/?trace=1519021197&source=single>. Acessado em 18/10/15 às
10h05min.

Mais conteúdo relacionado

Mais procurados

Modelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosModelagem relacional e normalização de dados
Modelagem relacional e normalização de dados
julianaveregue
 
Documentação da infraestrutura de rede
Documentação da infraestrutura de redeDocumentação da infraestrutura de rede
Documentação da infraestrutura de rede
Marcos Monteiro
 
Apresentaçao Final De Redes
Apresentaçao Final De RedesApresentaçao Final De Redes
Apresentaçao Final De Redes
guesta9bd8d
 
Árvores: Conceitos e binárias
Árvores:  Conceitos e bináriasÁrvores:  Conceitos e binárias
Árvores: Conceitos e binárias
Sérgio Souza Costa
 

Mais procurados (20)

Zabbix: Uma ferramenta para Gerenciamento de ambientes de T.I
Zabbix: Uma ferramenta para Gerenciamento de ambientes de T.IZabbix: Uma ferramenta para Gerenciamento de ambientes de T.I
Zabbix: Uma ferramenta para Gerenciamento de ambientes de T.I
 
Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...
Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...
Introdução à Computação - Aula Prática 3 - Banco de Dados (Conversão do model...
 
VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...
VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...
VMware Tutorial For Beginners | VMware Workstation | VMware Virtualization | ...
 
Modelação de Dados
Modelação de DadosModelação de Dados
Modelação de Dados
 
Modelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosModelagem relacional e normalização de dados
Modelagem relacional e normalização de dados
 
Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)Banco de Dados II: MER (aula 1)
Banco de Dados II: MER (aula 1)
 
Banco De Dados
Banco De DadosBanco De Dados
Banco De Dados
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e Especialização
 
Gerenciamento de configuração com puppet
Gerenciamento de configuração com puppetGerenciamento de configuração com puppet
Gerenciamento de configuração com puppet
 
Documentação da infraestrutura de rede
Documentação da infraestrutura de redeDocumentação da infraestrutura de rede
Documentação da infraestrutura de rede
 
Netezza Architecture and Administration
Netezza Architecture and AdministrationNetezza Architecture and Administration
Netezza Architecture and Administration
 
SISTEMÁTICA DE BACKUP: UM ESTUDO DE CASO
SISTEMÁTICA DE BACKUP: UM ESTUDO DE CASOSISTEMÁTICA DE BACKUP: UM ESTUDO DE CASO
SISTEMÁTICA DE BACKUP: UM ESTUDO DE CASO
 
Computação em Nuvem: conceitos básicos
Computação em Nuvem: conceitos básicosComputação em Nuvem: conceitos básicos
Computação em Nuvem: conceitos básicos
 
Meios de armazenamento
Meios de armazenamentoMeios de armazenamento
Meios de armazenamento
 
Comunicação cliente servidor
Comunicação cliente servidorComunicação cliente servidor
Comunicação cliente servidor
 
Introdução a Bancos de Dados
Introdução a Bancos de DadosIntrodução a Bancos de Dados
Introdução a Bancos de Dados
 
Apresentaçao Final De Redes
Apresentaçao Final De RedesApresentaçao Final De Redes
Apresentaçao Final De Redes
 
Árvores: Conceitos e binárias
Árvores:  Conceitos e bináriasÁrvores:  Conceitos e binárias
Árvores: Conceitos e binárias
 
Banco de Dados II: Tabelas (aula 2)
Banco de Dados II: Tabelas (aula 2)Banco de Dados II: Tabelas (aula 2)
Banco de Dados II: Tabelas (aula 2)
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de Dados
 

Semelhante a Banco de dados distribuidos

Célio Azevedo - Apostilas de SQL atualizadas
Célio Azevedo - Apostilas de SQL atualizadasCélio Azevedo - Apostilas de SQL atualizadas
Célio Azevedo - Apostilas de SQL atualizadas
UCAM
 
O computador
O computadorO computador
O computador
ana.vaz
 
Trabalho banco de dados orientado a objetos
Trabalho banco de dados orientado a objetosTrabalho banco de dados orientado a objetos
Trabalho banco de dados orientado a objetos
eneck
 

Semelhante a Banco de dados distribuidos (20)

549891
549891549891
549891
 
BDD
BDDBDD
BDD
 
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosAula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de Dados
 
1_intro.ppt
1_intro.ppt1_intro.ppt
1_intro.ppt
 
Poster08
Poster08Poster08
Poster08
 
12 objetivos de banco de dados distribuídos
12 objetivos de banco de dados distribuídos12 objetivos de banco de dados distribuídos
12 objetivos de banco de dados distribuídos
 
Banco de Dados Distribuidos
Banco de Dados DistribuidosBanco de Dados Distribuidos
Banco de Dados Distribuidos
 
Banco de Dados Distribuidos
Banco de Dados DistribuidosBanco de Dados Distribuidos
Banco de Dados Distribuidos
 
Célio Azevedo - Apostilas de SQL atualizadas
Célio Azevedo - Apostilas de SQL atualizadasCélio Azevedo - Apostilas de SQL atualizadas
Célio Azevedo - Apostilas de SQL atualizadas
 
Utilização de sistemas distribuidos
Utilização de sistemas distribuidosUtilização de sistemas distribuidos
Utilização de sistemas distribuidos
 
Elmasri_cap1.pptx
Elmasri_cap1.pptxElmasri_cap1.pptx
Elmasri_cap1.pptx
 
Banco de dados_i-ok
Banco de dados_i-okBanco de dados_i-ok
Banco de dados_i-ok
 
BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS
 
Banco de Dados - Conceitos
Banco de Dados - ConceitosBanco de Dados - Conceitos
Banco de Dados - Conceitos
 
Aula 3 banco de dados
Aula 3   banco de dadosAula 3   banco de dados
Aula 3 banco de dados
 
O computador
O computadorO computador
O computador
 
escalonamento de processos
escalonamento de processosescalonamento de processos
escalonamento de processos
 
Trabalho banco de dados orientado a objetos
Trabalho banco de dados orientado a objetosTrabalho banco de dados orientado a objetos
Trabalho banco de dados orientado a objetos
 
TA1 - Slides Acessibilidade.pdf
TA1 - Slides Acessibilidade.pdfTA1 - Slides Acessibilidade.pdf
TA1 - Slides Acessibilidade.pdf
 
Banco aula 01
Banco aula 01Banco aula 01
Banco aula 01
 

Mais de Deroci Nonato Júnior

Mais de Deroci Nonato Júnior (18)

Nova Genesis - Internet do Futuro
Nova Genesis - Internet do FuturoNova Genesis - Internet do Futuro
Nova Genesis - Internet do Futuro
 
Resenha WoSida 2015
Resenha WoSida 2015Resenha WoSida 2015
Resenha WoSida 2015
 
Sistema de Banco de Dados Distribuídos
Sistema de Banco de Dados DistribuídosSistema de Banco de Dados Distribuídos
Sistema de Banco de Dados Distribuídos
 
Nova Genesis - Internet do Futuro
Nova Genesis - Internet do FuturoNova Genesis - Internet do Futuro
Nova Genesis - Internet do Futuro
 
V Workshop de Sistemas Distribuídos Autonômicos - WoSiDA
V Workshop de Sistemas Distribuídos Autonômicos - WoSiDAV Workshop de Sistemas Distribuídos Autonômicos - WoSiDA
V Workshop de Sistemas Distribuídos Autonômicos - WoSiDA
 
SIG - Sistema de Informações Gerenciais
SIG - Sistema de Informações GerenciaisSIG - Sistema de Informações Gerenciais
SIG - Sistema de Informações Gerenciais
 
COBIT - Control Objectives for Information and related Technology
COBIT - Control Objectives for Information and related TechnologyCOBIT - Control Objectives for Information and related Technology
COBIT - Control Objectives for Information and related Technology
 
Sistema de Informacoes Gerenciais - SIG
Sistema de Informacoes Gerenciais - SIGSistema de Informacoes Gerenciais - SIG
Sistema de Informacoes Gerenciais - SIG
 
COBIT - Objetivo de Controle para Tecnologia da Informação e Áreas Relacionadas
COBIT - Objetivo de Controle para Tecnologia da Informação e Áreas RelacionadasCOBIT - Objetivo de Controle para Tecnologia da Informação e Áreas Relacionadas
COBIT - Objetivo de Controle para Tecnologia da Informação e Áreas Relacionadas
 
Segurança de redes wi fi - WPA
Segurança de redes wi fi - WPASegurança de redes wi fi - WPA
Segurança de redes wi fi - WPA
 
Segurança de rede wi fi - WPA
Segurança de rede wi fi - WPASegurança de rede wi fi - WPA
Segurança de rede wi fi - WPA
 
Interconexão de redes - Documentação de Rede
Interconexão de redes - Documentação de RedeInterconexão de redes - Documentação de Rede
Interconexão de redes - Documentação de Rede
 
Projeto Asterisk - Empresa
Projeto Asterisk - EmpresaProjeto Asterisk - Empresa
Projeto Asterisk - Empresa
 
Proposta Executiva do Projeto - Asterisk
Proposta Executiva do Projeto - AsteriskProposta Executiva do Projeto - Asterisk
Proposta Executiva do Projeto - Asterisk
 
Queijos Nacionais - Proposta de Negócio
Queijos Nacionais - Proposta de NegócioQueijos Nacionais - Proposta de Negócio
Queijos Nacionais - Proposta de Negócio
 
Automação Residencial
Automação ResidencialAutomação Residencial
Automação Residencial
 
Windows Server
Windows ServerWindows Server
Windows Server
 
Histórico das comunicações, teleprocessamento e tipos de processamento
Histórico das comunicações, teleprocessamento e tipos de processamentoHistórico das comunicações, teleprocessamento e tipos de processamento
Histórico das comunicações, teleprocessamento e tipos de processamento
 

Último

Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Dirceu Resende
 

Último (6)

Certificado - Data Analytics - CoderHouse.pdf
Certificado - Data Analytics - CoderHouse.pdfCertificado - Data Analytics - CoderHouse.pdf
Certificado - Data Analytics - CoderHouse.pdf
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
 
Concurso Caixa TI - Imersão Final - Rogério Araújo.pdf
Concurso Caixa TI - Imersão Final - Rogério Araújo.pdfConcurso Caixa TI - Imersão Final - Rogério Araújo.pdf
Concurso Caixa TI - Imersão Final - Rogério Araújo.pdf
 
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
 
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdfFrom_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
 
Apresentação Comercial VITAL DATA 2024.pdf
Apresentação Comercial VITAL DATA 2024.pdfApresentação Comercial VITAL DATA 2024.pdf
Apresentação Comercial VITAL DATA 2024.pdf
 

Banco de dados distribuidos

  • 1. FACULDADES INTEGRADAS SANTA CRUZ DE CURITIBA Sistema de Banco de Dados Distribuídos CURITIBA OUTUBRO/2015
  • 2. FACULDADES INTEGRADAS SANTA CRUZ DE CURITIBA DEROCI NONATO JÚNIOR MISAEL GOLLUB POLUCHESKI RAFAEL ROMANIECKI Sistema de Banco de Dados Distribuídos Trabalho apresentado como requisito parcial para a obtenção de nota na disciplina de Sistemas Distribuídos, pela Faculdade Santa Cruz de Curitiba, unidade Bonat. Orientador: Prof Silvio Bortoleto. CURITIBA OUTUBRO/2015
  • 3. Sumário 1. Introdução .................................................................................................................. 4 2. Independência dos dados ........................................................................................... 5 3. Proposta do SBDD..................................................................................................... 5 4. Dificuldades do SBDD .............................................................................................. 6 5. SBDD homogêneos e heterogêneos........................................................................... 7 6. O que são links de banco de dados? .......................................................................... 7 7. O que são links compartilhados de banco de dados?................................................. 8 8. Banco de Dados Paralelo ........................................................................................... 9 9. Fragmentação de dados.............................................................................................. 9 10. Replicação................................................................................................................ 10 11. Transação distribuída............................................................................................... 10 12. Controle de Concorrência distribuído...................................................................... 10 13. Conceitos de fechaduras .......................................................................................... 11 14. Protocolos utilizados................................................................................................ 11 15. Protocolos ................................................................................................................ 11 16. Conclusão ................................................................................................................ 13 17. Referencias .............................................................................................................. 14
  • 4. 4 1. Introdução A evolução da tecnologia sempre se deu devido as necessidades encontradas pelos humanos em realizar determinadas ações. A evolução da tecnologia para chegar aos sistemas de bancos de dados distribuídos não foi diferente. Um banco de dados distribuídos pode ser definido como uma coleção de dados logicamente inter- relacionados distribuídos fisicamente atraves de uma rede de computadores. Cada usuário tem acesso a partes especificas do banco de dados para que possam executar suas tarefas sem interferir com o trabalho dos outros. Essas distribuições de dados trazem benefícios na disponibilidade dos dados, na confiabilidade deles, em uma melhora de performance, estrutura organizacional etc. No lado oposto aumenta a complexidade do ambiente, possível aumento de custos, dificulta o controle da integridade etc. Para ser possível a utilização de bancos de dados distribuídos se faz necessário um sistema de gerenciamento de banco de dados distribuído (SGBDD), ele gerencia o banco de dados como se estivesse tudo armazenado no mesmo computador. O SGBDD sincroniza todos os dados periodicamente e, nos casos em que vários usuários devem acessar os mesmos dados, garante que as atualizações e exclusões realizadas nos dados em um local serão refletidas automaticamente nos dados armazenados em todas as bases.
  • 5. 5 2. Independência dos dados Antigamente os programas armazenavam dados em arquivos regulares e cada programa tinha que manter seus próprios dados e isso gerava uma enorme sobre carga e era algo completamente sujeito a erros. O desenvolvimento e utilização de banco de dados distribuídos ajudou alcançar plenamente a independência dos dados, podendo garantia a manutenção dos dados centralizados e com controle de acesso, auxiliou as aplicações ficarem imune a organização física e lógica dos arquivos devido distribuição dos dados e ao acesso dos mesmo de qualquer lugar. A distribuição desses dados não é nada mais que a união de dados que aparentemente estão caminhando em direções completamente opostas. O fator determinante que possibilita a possibilidade do uso de banco de dados distribuídos são as redes de computadores atuais que vieram para promover um modo de trabalho que vai completamente contra a centralização. O foco é a integração e conversação entre os bancos, a ideia é ter o mínimo de informações centralizadas porem todas as pontas se comunicando entre si, permitindo que aplicativos acessem os dados de bancos locais e remotos. A principal utilização de tal distribuição é alcançar a integração e distribuição de dados da maneira mais transparente possível as pessoas que o utilizam. 3. Proposta do SBDD Uma de suas premissas é o aumento da confiabilidade dos dados devido a replicação de componentes, não há pontos centralizados que podem ocorrer falhas e perca total de dados, quando um dos computadores falhar, a carga de trabalho é captada por outras estações de trabalho. Os processamentos de transações distribuídas garantem a consistência do banco de dados e sua sincronização. Todos os nós ou todos as pontas no banco de dados devem estar interligados pela rede de computadores e conversando entre si. Os dados ou fragmentos de dados podem e devem ser replicados a outros nós adjacentes. O usuário final é capaz de acessar qualquer cópia dos dados disponíveis, e pedido de um usuário final é processado por qualquer processador no local de dados. Há uma melhora na performance devido aos dados estarem sendo distribuídos e presente próximo de seus pontos de utilização, assim há uma redução de tempo no
  • 6. 6 acesso a tais informações. As execuções podem ser realizadas em paralelo, tanto no momento de inter-consulta como de intra-consulta. O sistema espalha a carga de trabalho por sistemas de processamento de dados em vários nós. A expansão do sistema se torna mais simples, pois novas tecnologias, estações e expansão do banco podem ser adicionadas a qualquer momento, bastando apenas o banco ser instalado e configurado com os apontamentos corretos. Dados compartilhados logicamente relacionados podem ser recolhidos por qualquer um dos pontos. Todos os bancos são controlados pelo Sistema de Gerenciamento de Banco de Dados Distribuídos e cada um deles participam de pelo menos uma aplicação global. Aumento na segurança devido a ser possível manter o controle centralizado de todos dados distribuídos. O gerenciamento de dados é replicado, ou seja, em todas as pontas é possível ter uma gerencia de dados centralizada de todos os dados distribuídos. Gestão de catálogo, hierarquia e “foto” do sistema completo de maneira fácil. Gerenciar transações de maneira distribuídas e recuperar o de banco de dados distribuído de maneira rápida. 4. Dificuldades do SBDD Existe uma complexidade no gerenciamento e controle notável em bancos de dados distribuídos, pois todos os apontamentos têm de estar corretos, a liberação de acesso deve ser criada de maneira muito criteriosa, os usuários responsáveis pela gerencia bem selecionados e treinados, as políticas de segurança bem claras e bem pensadas. Os problemas com segurança aumentam quando os dados estão localizados em múltiplos locais, pois todas as diretrizes devem ser bem pensadas e aplicadas de maneira correta, ainda mais quando falamos de sistemas heterogêneos que se comportam de maneira diferente um do outro. As requisições devem reconhecer a localização de todos os dados solicitados, e elas devem ser capazes de unir dados de vários pontos diferentes em uma única aplicação de maneira transparente e sem duplicação. Requisitos de disponibilidade do setor de infraestrutura aumentam muito com tais serviços, pois se faz necessário uma largura de conexão muito grande para suportar
  • 7. 7 o envio e requisições de dados, também deve suportar a sincronização e o trafego normal de dados. E de armazenamento devido a necessidade de várias cópias dos dados ter de estar em locais diferentes, logo é necessário mais espaço de armazenamento. 5. SBDD homogêneos e heterogêneos Em um banco de dados distribuído homogêneo todos os pontos têm softwares idênticos uns aos outros e se reconhecem cooperando no processamento de solicitações dos usuários. Um aplicativo pode acessar ou modificar simultaneamente os dados de vários bancos de dados através de um único ambiente distribuído. Por exemplo, uma única consulta de um cliente que está na rede A em seu banco de dados local pode recuperar ao mesmo tempo dados do banco local e dados de um banco de dados remoto que se situa na rede B. Para o aplicativo cliente, a localização e plataforma dos bancos de dados são transparentes. Podemos criar sinônimos de objetos remotos de modo que os usuários possam os acessar com a mesma sintaxe dos objetos locais. Seria como se você estiver conectado ao banco de dados local, mas necessitasse de acessar dados em um banco remoto, se cria um sinônimo no banco local para a tabela do banco remoto que permite que seja realizada a consulta sem a necessidade de adição do caminho completo. É encontrado uma facilidade maior em se projetar e gerenciar sistemas homogêneos devido as similaridades. Os sistemas operacionais utilizados e o aplicativo de banco de dados (SGBD) é o mesmo ou são no mínimo compatíveis. Já em um banco de dados distribuído heterogêneos, diferentes pontos podem conter diferentes esquemas, softwares, hardwares e estruturas de dados em vários pontos. Diferentes computadores e sistemas operacionais, aplicativos de banco de dados ou modelos de dados podem ser encontrados nesse ambiente. Se faz necessário traduções de protocolos, comandos ou operações para permitir a comunicação entre os diferentes pontos. 6. O que são links de banco de dados? Um link é um ponteiro que define um caminho de comunicação unidirecional de um servidor de banco de dados para outro servidor de banco de dados. O ponteiro da
  • 8. 8 ligação é definido como uma entrada em uma tabela de um dicionário de dados. Para acessar o link, o usuário deve estar conectado ao banco de dados local que contém a entrada do dicionário de dados. É chamado de unidirecional no sentido de que um cliente conectado ao banco de dados local pode utilizar somente um link armazenado no banco de dados para acessar informações em um banco de dados remoto, mas os usuários conectados ao banco de dados remoto não podem usar o mesmo link para acessar os dados no banco de dados deste primeiro usuário. Se os usuários locais no banco de dados remoto desejam acessar dados no banco de dados daquele primeiro usuário, se deve então definir um novo link que é armazenado no dicionário de dados do banco de dados remoto. Para esta conexão ocorra, cada banco de dados no sistema distribuído deve ter um nome de banco de dados global único no domínio da rede. O nome do banco de dados global identifica exclusivamente um servidor de banco de dados em um sistema distribuído. Links de banco de dados são divididos entre privados ou públicos. Se são privados, apenas o usuário que criou o link tem acesso; se são públicos, todos os usuários do banco de dados têm acesso. 7. O que são links compartilhados de banco de dados? Um link de banco de dados compartilhado é uma ligação entre um processo do servidor local e do banco de dados remoto. O link é compartilhado por vários processos do cliente que podem utilizar o mesmo link simultaneamente. Quando um banco de dados local está conectado outro banco de dados remoto através de um link, os processos podem ser executados no servidor dedicado ou compartilhado. Quando um usuário precisa para estabelecer uma conexão com um servidor remoto a partir de um processo do servidor local, o processo pode reutilizar conexões já estabelecidas com o servidor remoto. A reutilização da conexão pode ocorrer se a conexão for estabelecida no mesmo processo do servidor com o mesmo link de banco de dados.
  • 9. 9 8. Banco de Dados Paralelo Um sistema de banco de dados paralelo possui um ganho de desempenho através da paralelização de várias operações, tais como o carregamento de dados, índices de construção, consultas e inserção de dados. A paralelização é feita exclusivamente com base no desempenho de cada máquina. Bases de dados paralelas melhoram a velocidade de processamento e de entrada/saída, utilizando múltiplas CPUs e discos em paralelo onde muitas operações são realizadas simultaneamente, podemos fazer uma analogia com o processo de RAID que pode ser feito em Desktop. 9. Fragmentação de dados A fragmentação é um recurso do servidor de banco de dados que permite que você controle onde os dados são armazenados a nível de tabela, também pode ser definido como um processo de divisão ou de mapeamento das tabelas com base nas colunas e linhas. Os dados que sofrem algum tipo de variação têm a possibilidade de se combinar com a conclusão de coleta de dados usando fragmentação. Ela permite que você defina grupos de linhas ou chaves de índice dentro de uma tabela. Fragmentação Vertical: é a fragmentação de tabela a nível de colunas, onde uma ou um conjunto de colunas de uma mesma tabela ficam em bancos separados. Normalmente essa fragmentação realizada com base na necessidade do usuário, deixando em bancos mais próximos do usuário suas colunas mais requisitadas, assim se tem um ganho de desempenho, porem qualquer usuário ainda consegue requisitar qualquer uma das colunas da tabela. Fragmentação Horizontal: é a fragmentação da tabela a nível de linhas, onde uma quantidade especifica ou intervalos de linhas são alocados em bancos diferentes. Utilizado em casos que os usuários se baseiam em regiões, um exemplo seria um sistema nacional de cadastramento onde todos os dados de clientes do Paraná são adicionado em uma tabela que fica em um banco localizado no Paraná e os clientes de Rondônia são adicionados na mesma tabela mas em um banco que fica localizado em Rondônia, os dois podem acessar todos os dados da tabela, porem no Paraná é feito mais consultas e inserção de dados de cliente de seu próprio estado, logo se ganha desempenho com isso, em Rondônia o mesmo caso.
  • 10. 10 10. Replicação Replicação é o armazenamento de várias cópias de um fragmento de dado. Um fragmento de dado inteiro pode ser replicado em um ou mais locais. Maior disponibilidade de dados é alcançada. Caso uma das pontas que contém uma réplica sofre uma falha, podemos encontrar os mesmos dados em outras pontas. Ocorre da mesma forma, se cópias locais de fragmentos de dados remotos estão disponíveis, assim reduzimos muito possíveis falhas de conexão. Temos uma redução no tempo de consulta, pois as consultas, podem ser executadas usando uma cópia local de um fragmento em vez de sair para outra ponta. 11. Transação distribuída Em um SGBD distribuídos, uma determinada operação é submetida alguma ponta mas pode acessar dados em todas as outras pontas também. Quando uma transação é designada a alguma ponta, o gerenciador de transações dessa ponta se divide em uma ou mais sub-transações que são executadas em pontas diferentes, submetem a gerenciadores de transações de outras pontas e coordena as ações. 12. Controle de Concorrência distribuído Temos uma função que se chama Controle de Concorrência Distribuído que assegura a persistência de todas as ações em todas as pontas em que é executada quando uma transação é confirmada. Da mesma forma, quando uma transação for anulada, nenhuma de suas ações devem persistir. Gerenciamento Controle de Concorrência podem ser distribuídos nas pontas como:  Centralizada: Uma única ponta é encarregada de lidar com bloqueios e desbloqueios de todos os pedidos de objetos.  Cópia Primária: Uma cópia de cada objeto é submetida a cópia primária. Todas as solicitações para bloquear ou desbloquear deste objeto são tratadas
  • 11. 11 pelo gerenciador de bloqueio no local onde a cópia principal é armazenada, independentemente de onde a cópia é armazenada.  Totalmente distribuído: As solicitações para bloquear ou desbloquear uma cópia de um objeto armazenado em uma ponta são tratadas pelo gerenciador de bloqueio no local onde a cópia é armazenada. 13. Conceitos de fechaduras Um bloqueio é utilizado quando vários usuários precisam acessar um banco de dados simultaneamente, e isso evita que os dados sejam corrompidos ou invalidados. Qualquer usuário só pode modificar os registros de banco de dados quando lhes dá acesso exclusivo para o registro. O processo de bloqueio não só proporciona exclusividade para escrever, mas também impede leituras imprecisa dos dados. 14. Protocolos utilizados Podemos dividir as transações de aplicações distribuídas em locais e globais. Transações locais são as que iniciam e se concluem em uma mesma ponta, não afetando as demais pontas para realizar sua transação. Já as globais são aquelas que iniciam em determinada ponta e terminam em outra ponta, ou iniciam e concluem na mesma ponta, porém no meio da transação foi necessário acessar a outra ponta para realizar alguma operação, assim utilizando o desempenho da outra ponta em algum momento do processamento. 15. Protocolos A integridade das transações distribuídas é garantida pelos protocolos de efetivação que atinge mais de uma ponta, fazendo com que a transação só seja realizada (Commit) ou cancelada (Rollback) quando todas as pontas entram em um acordo. “Two-Phase Commit: O protocolo de efetivação Two-Phase Commit é composto por duas fases, em que todos os servidores envolvidos na transação entraram em acordo se efetivaram (Commit) ou abortaram (Rollback) a transação.
  • 12. 12 Theree-Phase Commit: O protocolo Theree-Phase Commit é uma continuação do protocolo de duas fases em que é adicionada uma terceira fase que busca a diminuição de falhas do coordenador. Com a implementação da terceira fase, a troca de dados entre coordenador e gerenciadores de transação aumenta o grau de complexidade e proporciona um maior trafego na rede (overhead). ” (ROSÁRIO, 2013).
  • 13. 13 16. Conclusão O documento abordou conceitos e fundamentos de sistemas de banco de dados distribuídos, conceitos de modelagem e estruturação, bem como protocolos utilizados e métodos de controle e replicação. Concluímos que os recursos apresentados permitem que sistemas de Banco de Dados distribuídos apresentem performance e confiabilidade nos cenários onde estão inseridos. Neste tipo de implementação, devido a sua complexidade e criticidade todos os componentes devem ser bem planejados e implementados, porém, uma vez o sistema implementado, tomando em conta todas essas premissas, temos como resultado em geral um sistema sólido, performático e tolerante a falhas.
  • 14. 14 17. Referencias R OUSE, Margaret. Distributed database definition. Setembro de 2005. Disponível em <http://searchoracle.techtarget.com/definition/distributed-database>. Acessado em 16/10/15 às 08h30min. GAMPER, Johann. Distributed Databases. Setembro de 2008. Disponível em <http://www.inf.unibz.it/dis/teaching/DDB07/ln/ddb01.pdf>. Acessado em 16/10/15 às 09h10min. Oracle9i Database Administrator’s Guide, Resease 2 (9.2). Disponível em <https://docs.oracle.com/cd/B10501_01/server.920/a96521/ds_concepts.htm#20409>. Acessado em 16/10/15 às 09h40min. SULEMAG. Distributed Database System. 02 de Março de 2014. Disponível em <http://pt.slideshare.net/Sulemang/distributed-database-system>. Acessado em 16/10/15 às 10h45min. PATIL, Bharat. Distributed database. 20 de Março de 2013. Disponível em <http://pt.slideshare.net/patilbharat7/distributed-database-final?next_slideshow=1>. Acessado em 16/10/15 às 14h00min. ROSÁRIO, Luiz Garetti. O que é Banco de Dados Distribuído? 8 de Outubro de 2013. Disponível em <http://imasters.com.br/banco-de-dados/o-que-e-banco-de- dados-distribuido/?trace=1519021197&source=single>. Acessado em 18/10/15 às 10h05min.