Upload
gilmarinacio
View
13
Download
0
Embed Size (px)
Citation preview
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 DadosDistribudo?
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.
40Like Share
CURSOS RELACIONADOS
LTIMAS NOTCIAS
25/07 S 05H40
Ao completar um ano,Chromecast registra 400 milhesde transmisses
25/07 S 04H35
Lgica de Programao Primeirospassos
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 comprouTwitch, que deve integrar jogosao YouTube
25/07 S 04H00
Instagram pode ganhar recursopara concorrer com Snapchat
25/07 S 03H40
Oracle Linux 7 disponibilizadopara download
25/07 S 02H30
Vendas de tablets registram altade 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 registrosentre um intervalo dedatas no SQL Server
.NET, Banco de Dados,Visual Basic
Comente!
Vdeo Cassandra #7Masters
Banco de Dados
1 comentrio
Office 2013 Comousar o Geoflow noExcel 2013
Anlise de Dados, Bancode 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 deDados com foco em Alta Disponibilidade e Distribuio Geogrficados Dados. Apaixonado por Banco de Dados e Motocicletas, profissional certificado Microsoft e atual como DBA SQL Server eSybase.
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 SQLServer? Parte 02
Como e por que as estatsticas influenciam no desempenho do SQLServer? Parte 01
11 COMENTRIOS
Jackson MoratoExcelente!Seria interessante tambm um exemplo de implementao e as ferramentasdisponveis para os bancos de dados mia utilizados
H 10 meses Responder
Luiz Garetti RosrioOl Jackson, Obrigado.Quando se fala em BDD podemos pensar em dois modos. Homogneoonde todos SGBDS so do mesmo fabricante, por exemplo, SQLServer da Microsoft ou pode ser Heterogneo onde existem SGBDSdiferentes no conjunto geral que engloba todo o BDD.Sobre as ferramentas mais utilizadas, a grande maioria dos casos queconheo so feitos atravs do Linked Server onde o MSDTC coordenaas transaes distribudas. Se tiver interesse, me passe seu e-mailque te encaminho alguns materiais que documentam a implementaona pratica de um BDD.Abraos
H 10 meses Responder
EderBoa noite.Gostaria de saber se voc tem o email do felipe maciel e se poderia passar paramim, 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, poissaiu uma verso mais recente, s que ela da problema na hora de configurar. Sevoc puder fazer isto por mim eu agradeo, e ser que voc pode me passar algunsmateriais de BDD.Obrigado
H 10 meses Responder
Luiz Garetti RosrioBoa Tarde Eder,No tenho o e-mail do Felipe.Me mande o artigo dele sobre Replicao do MySQL, que te ajudo asolucionar o problema.
H 10 meses Responder
Luiz Garetti RosrioMeu e-mail [email protected] aproveito e te envio alguns materiais sobre BDD tambm.Abraos
H 10 meses Responder
Paulo Victornico comentrio que posso dizer que o post bem instrutivo. Me interessamoutras contribuies a esse respeito ;)
H 10 meses Responder
Luiz Garetti RosrioOl Paulo, Blz?Obrigado.A ideia deste artigo realmente era demonstrar o que o BDD e osprincipais 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 limaLi seu comentrio sobre uma ferramente para SQL Server, voc tem conhecimento de algo paraOracle?
H 9 meses Responder
Luiz Garetti RosrioOl Thiano, blz?J utilizei o Mecanismo de replicao do SQL Server para distribuirdados em servidores Oracle. Porem o Oracle s pode ser assinante eno consegue publicar.Mas atravs do Linked Server possvel criar essa replicao entreOracle e SQL Server. Sendo assim, Tanto Oracle como o SQL Serverpodem enviar e receber transaes, com isso criando a distribuiodos dados entre eles.Segue alguns link:http://msdn.microsoft.com/en-us/library/ms152481.aspxhttp://imasters.com.br/banco-de-dados/sql-server/linked-server-pra-que-serve-e-quando-utilizar/Estou disposio.Abs
H 9 meses Responder
Rodrigo SantosOl 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 osoutros rapazes.Desde j agradeo, abrao.
H 9 meses Responder
Luiz Garetti RosrioOl Rodrigo,Op vamos l, um assunto bem interessante, seria voc fazer umaavaliao de desempenho em BDD. Criando um ambiente comalgumas maquinas e distribuindo o BD entre elas, Com isso vocpoderia aplicar lotes de transaes no banco, (por exemplo, 1 milhode transaes) e avaliar quantas transaes so feitas por segundo.Com isso voc poderia criar alguns fatores, como Qtd de Usuario, Qtdde 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...
TwitterSiga o perfil do iMasters
LinkedInCadastre-se no grupo iMasters
gitHubCdigos iMasters DEV
RSSAssine 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
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)
Copyright 2014 Todos os direitos reservados