Você está na página 1de 7

28/7/2014 O que Banco de Dados Distribudo?

| iMasters
http://imasters.com.br/banco-de-dados/o-que-e-banco-de-dados-distribuido/ 1/7
Portal Frum 7Masters Ferramentas Cursos online Agenda Revista iMasters InterCon
Faa Login
Faa sua busca
Voc est aqui:
Tweetar 14 5
BANCO DE DADOS
O que Banco de Dados
Distribudo?
08 de outubro de 2013 por Luiz Garetti Rosrio
A necessidade de manipular e gerenciar grandes quantidades de dados de maneira
confivel, junto com o interesse em descentralizar a informao, fez com que fossem
impulsionados os estudos e desenvolvimentos na rea de banco de dados distribudos
(BDD).
Diferente do banco de dados convencional, tambm conhecido como centralizado, no
qual toda a massa de dados fica em um nico local, no BDD, os dados ficam distribudos
em diversos servidores, e esses servidores podem estar fisicamente prximos ou, em
alguns casos, geograficamente distantes.
Arquitetura de Banco de Dados Centralizado
Como os dados nesse ambiente muitas vezes esto replicados entre servidores, alm
de melhorar a eficincia no desempenho, consegue prover uma melhora na segurana
dos dados em caso de desastres, pois no existe mais um nico ponto de falha.
40 Like Share
CURSOS RELACIONADOS
LTIMAS NOTCIAS
25/07 S 05H40
Ao completar um ano,
Chromecast registra 400 milhes
de transmisses
25/07 S 04H35
Lgica de Programao Primeiros
passos
DESIGN & UX FRONT-END DEV BD MOBILE MARKETING GESTO APIS SEARCH INFRA TECH E-COMMERCE ANALYTICS

28/7/2014 O que Banco de Dados Distribudo? | iMasters
http://imasters.com.br/banco-de-dados/o-que-e-banco-de-dados-distribuido/ 2/7
Arquitetura de Banco de Dados Distribuda
A arquitetura de BDD totalmente transparente para os usurios que utilizam
aplicaes nessa arquitetura distribuda, ou seja, para o usurio, os dados esto
centralizados em um nico servidor, mas na verdade eles podem estar espalhados,
distribudos em vrios locais fisicamente separados.
Arquitetura de Banco de Dados Distribudo
Na implementao desse ambiente distribudo, existem vrios desafios, e manter a
consistncia dos dados certamente est entre os mais importantes e complexos.
Garantir que os dados esto consistentes altamente complexo, pois uma nica
transao pode manipular dados em diversos servidores. Para exemplificar, imagine
uma instituio financeira na qual o banco de dados est distribudo em trs grandes
cidades brasileiras So Paulo, Braslia e Rio de Janeiro -, e transaes distribudas
entre esses servidores so executadas o dia todo para armazenar informaes e
movimentaes de seus clientes.
Agora imagine a situao em que o cliente Jos sacou R$ 1.000,00 de sua conta
corrente, e essa movimentao deve ser replicada para todos os servidores envolvidos
na transao; caso contrario, o saldo de Jos ficar inconsistente, gerando informaes
diferentes em determinado servidor.
Site afirma que Google comprou
Twitch, que deve integrar jogos
ao YouTube
25/07 S 04H00
Instagram pode ganhar recurso
para concorrer com Snapchat
25/07 S 03H40
Oracle Linux 7 disponibilizado
para download
25/07 S 02H30
Vendas de tablets registram alta
de 11% no mundo todo
TODAS AS NOTCIAS
Find us on Facebook
iMasters
101,197 people like iMasters.
Facebook social plugin
Like
28/7/2014 O que Banco de Dados Distribudo? | iMasters
http://imasters.com.br/banco-de-dados/o-que-e-banco-de-dados-distribuido/ 3/7
Isso pode causar grandes transtornos, pois teoricamente o usurio acessa os dados em
servidores de acordo com a localidade, diminuindo assim a latncia e retornando o
resultado com mais rapidez, ou seja, se o usurio est acessando sua conta em So
Paulo, o sistema busca os dados nos servidores de So Paulo, e assim por diante.
Como no exemplo acima Jos sacou R$ 1.000,00 de sua conta, imagine se ele estivesse
em So Paulo e essa informao no fosse replicada para o servidor de Braslia? No
servidor de So Paulo, ele estaria com determinado saldo e em Braslia com R$
1.000,00 a mais em sua conta.
Esse um dos exemplos, mas poderia ser o estoque de um produto que foi vendido
porm no foi executada baixa em todos os servidores envolvidos na transao,
gerando informaes falsas sobre a quantidade em estoque desse produto. Claro que
esse ambiente s um exemplo simples para demonstrar a consistncia dos dados.
A fim de garantir toda essa segurana e confiabilidade dos dados, o BDD preserva as
propriedades ACID,onde:
A Atomicidade: Indica que a transao deve ter todas as suas aes concludas
ou no. Caso todas as aes da transao sejam terminadas com sucesso, ento
executado o Commit na transao inteira; caso contrrio, a transao inteira deve
ser revertida, Rollback.
C Consistncia: A execuo de uma transao isolada preserva a consistncia do
banco de dados.
I Isolamento: Cada transao no toma conhecimento de outras transaes
concorrentes.
D Durabilidade: Depois que transao for completada com sucesso (Commit), as
mudanas que ela faz no banco de dados persistem.
Protocolos de efetivao
Em ambiente distribudo, podem existir transaes locais e globais. Transaes locais
seriam aquelas que iniciam e terminam no mesmo n, no afetando outros servidores
para realizar determinada transao. J as globais seriam aquelas que iniciam em
determinado n e terminam em outro n, ou iniciam e terminam no mesmo n, porm no
meio da transao foi necessrio acessar outro n para realizar alguma operao,
afetando assim outro servidor em algum momento do processamento.
Os protocolos de efetivao garantem integridade de transao distribuda que atinge
mais de um servidor, fazendo com que a transao s seja efetuada (Commit) ou
abortada (Rollback) quando todos os servidores entram em um acordo.
Two-Phase Commit
O protocolo de efetivao Two-Phase Commit composto por duas fases, em que todos
os servidores envolvidos na transao T entram em acordo se efetivaram (Commit) ou
abortaram (Rollback) a transao.
Theree-Phase Commit
O protocolo Theree-Phase Commit uma continuao do protocolo de duas fases em
que adicionada uma terceira fase que busca a diminuio de falhas do coordenador.
Com a implementao da terceira fase, a troca de dados entre coordenador e
gerenciadores de transao aumenta o grau de complexidade e proporciona um maior
trafego na rede (overhead).
Vantagens na utilizao de BDD
A confiabilidade assim como a disponibilidade visam ao funcionamento do sistema
mesmo com falhas, mas sem violar a consistncia do banco de dados.
Autonomia local, um departamento pode controlar seus dados (j que o mais
familiarizado com eles).
O aumento de desempenho uma vantagem em um sistema de banco de dados
distribudos, a consulta pode ser subdividida e realizada paralelamente.
Maior disponibilidade uma falha em um banco de dados afetar somente um
fragmento, em vez do banco de dados inteiro.
28/7/2014 O que Banco de Dados Distribudo? | iMasters
http://imasters.com.br/banco-de-dados/o-que-e-banco-de-dados-distribuido/ 4/7
VB .NET
Selecionando registros
entre um intervalo de
datas no SQL Server
.NET, Banco de Dados,
Visual Basic
Comente!
Vdeo Cassandra
#7Masters
Banco de Dados
1 comentrio
Office 2013 Como
usar o Geoflow no
Excel 2013
Anlise de Dados, Banco
de Dados,
Desenvolvimento
Comente!
Falha em um servidor
Desvantagens na utilizao de BDD
A complexidade dos problemas uma desvantagem, porque os problemas so mais
complexos do que em bancos de dados centralizados, pois alm de haver os
problemas que so comuns em banco de dados centralizados, que normalmente
ocorrem nos servidores locais, haver os problemas que surgem com a comunicao
entre esses servidores locais.
Implantao mais cara o aumento da complexidade e uma infraestrutura mais
extensa significam custo extra de trabalho.
Falta de padres ainda no h metodologias e ferramentas para ajudar usurios a
converterem um SGBD centralizado para um SGBD distribudo.
Com o crescente avano tecnolgico em comunicao de dados, BDD passou a ser uma
possibilidade para trabalhar com banco de dados em grande escala, possibilitando a
distribuio geogrfica (WAN). Como foi demonstrado, existem algumas desvantagens
devido complexidade e aos custos, mas com certeza os pontos positivos as superam.
Essa rea muito ampla, demanda muito estudo e, consequentemente, vrios pontos
de duvidas interessantes, pois a construo de uma arquitetura como essa envolve
vrios departamentos, como infraestrutura, segurana da informao e banco de dados.
Bons estudos e at a prxima.
Artigos relacionados
Luiz Garetti Rosrio
Graduado em Cincia da Computao pela Universidade Paulista,
possui artigos publicados em grandes eventos na rea de Banco de
Dados com foco em Alta Disponibilidade e Distribuio Geogrfica
dos Dados. Apaixonado por Banco de Dados e Motocicletas,
profissional certificado Microsoft e atual como DBA SQL Server e
Sybase.
Pgina do autor Email
28/7/2014 O que Banco de Dados Distribudo? | iMasters
http://imasters.com.br/banco-de-dados/o-que-e-banco-de-dados-distribuido/ 5/7
COMENTE TAMBM
Leia os ltimos artigos publicados por Luiz Garetti Rosrio
Mais de um arquivo de log (.ldf) no SQL Server?
Buffer Pool, Maximum e Minimum Server Memory no SQL Server
Escovando bit com operadores KEY Lookup e RID Lookup
Como e por que as estatsticas influenciam no desempenho do SQL
Server? Parte 02
Como e por que as estatsticas influenciam no desempenho do SQL
Server? Parte 01
11 COMENTRIOS
Jackson Morato
Excelente!
Seria interessante tambm um exemplo de implementao e as ferramentas
disponveis para os bancos de dados mia utilizados
H 10 meses Responder
Luiz Garetti Rosrio
Ol Jackson, Obrigado.
Quando se fala em BDD podemos pensar em dois modos. Homogneo
onde todos SGBDS so do mesmo fabricante, por exemplo, SQL
Server da Microsoft ou pode ser Heterogneo onde existem SGBDS
diferentes no conjunto geral que engloba todo o BDD.
Sobre as ferramentas mais utilizadas, a grande maioria dos casos que
conheo so feitos atravs do Linked Server onde o MSDTC coordena
as transaes distribudas. Se tiver interesse, me passe seu e-mail
que te encaminho alguns materiais que documentam a implementao
na pratica de um BDD.
Abraos
H 10 meses Responder
Eder
Boa noite.
Gostaria de saber se voc tem o email do felipe maciel e se poderia passar para
mim, pois estou fazendo um tcc sobre replicao de dados e achei o artigo dele,
mas o odbc do mysql que ele usou no estou conseguindo achar para instalar, pois
saiu uma verso mais recente, s que ela da problema na hora de configurar. Se
voc puder fazer isto por mim eu agradeo, e ser que voc pode me passar alguns
materiais de BDD.
Obrigado
H 10 meses Responder
Luiz Garetti Rosrio
Boa Tarde Eder,
No tenho o e-mail do Felipe.
Me mande o artigo dele sobre Replicao do MySQL, que te ajudo a
solucionar o problema.
H 10 meses Responder
Luiz Garetti Rosrio
Meu e-mail luizh.rosario@gmail.com
J aproveito e te envio alguns materiais sobre BDD tambm.
Abraos
H 10 meses Responder
Paulo Victor
nico comentrio que posso dizer que o post bem instrutivo. Me interessam
outras contribuies a esse respeito ;)
H 10 meses Responder
Luiz Garetti Rosrio
Ol Paulo, Blz?
Obrigado.
A ideia deste artigo realmente era demonstrar o que o BDD e os
principais conceitos.
Irei publicar alguns artigos mais avanados sobre esse tema.
Grande Abrao.
H 10 meses Responder
28/7/2014 O que Banco de Dados Distribudo? | iMasters
http://imasters.com.br/banco-de-dados/o-que-e-banco-de-dados-distribuido/ 6/7
thiano lima
Li seu comentrio sobre uma ferramente para SQL Server, voc tem conhecimento de algo para
Oracle?
H 9 meses Responder
Luiz Garetti Rosrio
Ol Thiano, blz?
J utilizei o Mecanismo de replicao do SQL Server para distribuir
dados em servidores Oracle. Porem o Oracle s pode ser assinante e
no consegue publicar.
Mas atravs do Linked Server possvel criar essa replicao entre
Oracle e SQL Server. Sendo assim, Tanto Oracle como o SQL Server
podem enviar e receber transaes, com isso criando a distribuio
dos dados entre eles.
Segue alguns link:
http://msdn.microsoft.com/en-us/library/ms152481.aspx
http://imasters.com.br/banco-de-dados/sql-server/linked-server-pra-que-
serve-e-quando-utilizar/
Estou disposio.
Abs
H 9 meses Responder
Rodrigo Santos
Ol Luiz.,
Poderia me indicar alguma ideia de TCC relacionado a BDD.
Estou cursando Sistemas de informao e preciso encontrar um tema para TCC,
pois prximo semestre irei pagar TCC1.
E poderia por favor me enviar esses materiais sobre BDD que voc enviou para os
outros rapazes.
Desde j agradeo, abrao.
H 9 meses Responder
Luiz Garetti Rosrio
Ol Rodrigo,
Op vamos l, um assunto bem interessante, seria voc fazer uma
avaliao de desempenho em BDD. Criando um ambiente com
algumas maquinas e distribuindo o BD entre elas, Com isso voc
poderia aplicar lotes de transaes no banco, (por exemplo, 1 milho
de transaes) e avaliar quantas transaes so feitas por segundo.
Com isso voc poderia criar alguns fatores, como Qtd de Usuario, Qtd
de Transaes, Qtd de host e assim por diante.
Me passa seu e-mail, que te envio os materiais..
Outra ideia, Seria fazer um comparativo entre BDD e BD local..
comparando Desempenho, Complexidade, Custos.. Etc..
Abraos
H 9 meses Responder
QUAL A SUA OPINIO?
Escreva seu comentrio aqui...
Twitter
Siga o perfil do iMasters
LinkedIn
Cadastre-se no grupo iMasters
gitHub
Cdigos iMasters DEV
RSS
Assine os feeds
28/7/2014 O que Banco de Dados Distribudo? | iMasters
http://imasters.com.br/banco-de-dados/o-que-e-banco-de-dados-distribuido/ 7/7

SOCIAL MEDIA
faleconosco@imasters.com.br
NEWSLETTER
Fique por dentro de todas as novidades,
eventos, cursos, contedos exclusivos e
muito mais.
Seu nome
Seu e-mail
ENVIAR
Sobre o iMasters
Poltica de Privacidade
Fale conosco
iMasters Expert (english blog)
Copyri ght 2014 Todos os di rei tos reservados

Você também pode gostar