Sistema de Banco de Dados Distribu´ıdos e
DataGrid
Leandro Melo de Sales
M ´ario Hozano Lucas de Souza
Trabalho para obtenc¸ ˜ao de nota da disciplina Banco de Dados
Roteiro
1
Introduc¸ ˜ao
2
Disponibilizac¸ ˜ao e acesso aos dados
3
Estrutura e funcionamento do DataGrid
4
Conclus ˜ao
Contextualizac¸ ˜ao
Informac¸ ˜oes espalhadas em
diversos lugares do mundo
podem
ser disponibilizadas utilizando a Internet.
Estas informac¸ ˜oes diferem...
... na forma de armazenamento
... na forma de acesso
Contextualizac¸ ˜ao
Informac¸ ˜oes espalhadas em
diversos lugares do mundo
podem
ser disponibilizadas utilizando a Internet.
Estas informac¸ ˜oes diferem...
... na forma de armazenamento
... na forma de acesso
Contextualizac¸ ˜ao
A
integrac¸ ˜ao de informac¸ ˜oes
que est ˜ao espalhadas em
diversos pontos requer uma infra-estrutura capaz de
manipular
os dados armazenados.
Mecanismos necess ´arios:
Replicac¸ ˜ao/fragmentac¸ ˜ao de dados
Suporte `a transac¸ ˜ao
Contextualizac¸ ˜ao
A
integrac¸ ˜ao de informac¸ ˜oes
que est ˜ao espalhadas em
diversos pontos requer uma infra-estrutura capaz de
manipular
os dados armazenados.
Mecanismos necess ´arios:
Replicac¸ ˜ao/fragmentac¸ ˜ao de dados
Suporte `a transac¸ ˜ao
Tecnologias relacionadas
O que ´e um SGBD distribu´ıdo?
´
E um sistema que define um conjunto de sites fracamente
acoplados que compartilham
informac¸ ˜oes
de uma base de
dados definida.
Tecnologias relacionadas
O que ´e Grid?
´
E uma plataforma heterog ˆenea, de alta dispers ˜ao geogr ´afica,
que permite o compartilhamento de
recursos
computacionais.
DataGrid
Reunindo as caracter´ısticas de um SGBD distribu´ıdo com os
recursos providos em um Grid torna-se possivel:
Gerenciamento eficiente de informac¸ ˜oes
F ´acil armazenamento e acesso aos dados
Replicac¸ ˜ao
DataGrid
Reunindo as caracter´ısticas de um SGBD distribu´ıdo com os
recursos providos em um Grid torna-se possivel:
Gerenciamento eficiente de informac¸ ˜oes
F ´acil armazenamento e acesso aos dados
Replicac¸ ˜ao
Exemplo de aplicac¸ ˜oes
Bibliotecas digitais (Proj. DataGrid)
Integrac¸ ˜ao de dados (Proj. SegHidro, BaBar)
Publicac¸ ˜ao de grandes quantidades de dados
Problemas a serem discutidos
Disponibilizac¸ ˜ao de grandes quantidades de dados
(usando ou n ˜ao SGBDs)
Acesso transparente
Replicac¸ ˜ao e transac¸ ˜ao
Otimizac¸ ˜ao de consultas
Seguranc¸a dos dados
Disponibilizac¸ ˜ao e acesso aos dados
Em SGBDs o acesso aos dados ´e feito atrav ´es de
mecanismos de consulta pr ´e-definidos
Em DataGrid, este acesso ´e disponibilizado como servic¸o
Informac¸ ˜oes de conte ´udo
Em ambos os casos s ˜ao armazenados informac¸ ˜oes acerca dos
dados dispon´ıveis e como ´e poss´ıvel acess ´a-los.
Disponibilizac¸ ˜ao e acesso aos dados
Em SGBDs o acesso aos dados ´e feito atrav ´es de
mecanismos de consulta pr ´e-definidos
Em DataGrid, este acesso ´e disponibilizado como servic¸o
Informac¸ ˜oes de conte ´udo
Em ambos os casos s ˜ao armazenados informac¸ ˜oes acerca dos
dados dispon´ıveis e como ´e poss´ıvel acess ´a-los.
Metadados
O que s ˜ao metadados?
S ˜ao dados capazes de descrever outros dados, ou seja, dizer
do que se tratam, dar um significado real e plaus´ıvel a um
arquivo de dados.
Metadados
Os metadados s ˜ao utilizados para informar:
O que
est ´a sendo armazenado
Como
os dados est ˜ao armazenados
Onde
s ˜ao armazenados
Desta forma um
cat ´alogo
de metadados pode:
Ter acesso independente dos dados
Ser disponibilizado em um local diferente
Servic¸o de diret ´orio
O que ´e um diret ´orio?
Reposit ´orio que cont ´em informac¸ ˜oes geralmente descritivas,
baseadas em atributos. Tais informac¸ ˜oes raramente s ˜ao
alteradas, por ´em frequentemente lidas.
Servic¸o de diret ´orio
Por que utilizar?
Grid ´e um ambiente heterog ˆeneo
V ´arias fontes de dados
Gerenciamento de r ´eplicas
M ´etodo padronizado de acesso a arquivos independente
de como est ˜ao dispon´ıveis
Servic¸o de diret ´orio
Caracter´ısticas:
Resposta r ´apida a um grande volume de consultas
Mecanismo eficiente de replicac¸ ˜ao de informac¸ ˜oes
Protocolo de comunicac¸ ˜ao padronizado (RFC2251)
Objetivo:
Obter alta disponibilidade de informac¸ ˜ao
Confiabilidade
Servic¸o de diret ´orio
Caracter´ısticas:
Resposta r ´apida a um grande volume de consultas
Mecanismo eficiente de replicac¸ ˜ao de informac¸ ˜oes
Protocolo de comunicac¸ ˜ao padronizado (RFC2251)
Objetivo:
Obter alta disponibilidade de informac¸ ˜ao
Confiabilidade
Servic¸o de diret ´orio
Um servic¸o de diret ´orio bastante disseminado ´e o Lightweight
Directory Access Protocol - LDAP.
Acessando conte ´udo
Uma vez que os dados est ˜ao armazenados em SGBDs, como
acess ´a-los via LDAP?
Servic¸o de diret ´orio
Um servic¸o de diret ´orio bastante disseminado ´e o Lightweight
Directory Access Protocol - LDAP.
Acessando conte ´udo
Uma vez que os dados est ˜ao armazenados em SGBDs, como
acess ´a-los via LDAP?
Ponte de comunicac¸ ˜ao LDAP/SGBD
A ligac¸ ˜ao entre um servidor LDAP e um determinado SGBD ´e
realizada atrav ´es de drivers.
Drivers LDAP
Os drivers LDAP s ˜ao capazes de traduzir uma consulta SQL
em consultas LDAP e virce-versa.
Ponte de comunicac¸ ˜ao LDAP/SGBD
Componentes do DataGrid
Aplicac¸ ˜ao Cliente: Um software que gera consultas
Interface de Acesso: M ´etodo de recuperar os dados de
forma uniforme
Infra-estrutura distribu´ıda (grid): Prov ˆe o acesso
transparente entre os n ´os do grid
Dados: Informac¸ ˜oes distribu´ıdas no grid em algum SGBD
Consulta em SGBD
SGBD Dados
SELECT dn, cn, sn, nome, senha, telefone1, telefone2
FROM empregado
WHERE dn = “example.com” AND sn = “joão” Consulta SQL
dn cn sn nome senha telefone1 telefone2 [email protected] joao silva joao zGdd%2# 32224323 99990909
Consulta em LDAP
Servidor LDAP Dados
ldapsearch -x -b dc=examplo,dc=com sn=João Consulta LDAP
# LDAPv3
# base <dc=example,dc=com> with scope subtree # filter: sn=joao
#
# João Silva, example.com
dn: cn=João Silva,dc=examplo,dc=com
cn: João Silva
sn: Silva
nome: João
Consulta no DataGrid
SGBD Driver de Mapeamento LDAP / SGBD Consulta SQL SQL p ara LD AP Driver de ConversãoSQL/LDAP Servidor LDAP
ldaps earch ... coma ndo lda p Dados coma ndo s ql BASENAME dc=exemplo,dc=com SELECT * FROM OPENQUERY(
'SELECT cn, sn, senha FROM''LDAP://BASENAME/ cn=João''')