Você está na página 1de 8

04/03/12

Revisão  
• Um  dos  importantes  objeIvos  da  tecnologia  
de  bancos  de  dados  distribuídos  é…  
– alcançar  integração  sem  ter  centralização  
• Por  que  distribuir?    
– organização  inerentemente  distribuída  
Bancos  de  Dados  Distribuídos  e  Móveis   – Dividir  para  conquistar  
Aula  2  
Ana  Carolina  Salgado-­‐acs@cin.ufpe.br  
BernadeAe  Farias  Lóscio-­‐bfl@cin.ufpe.br  

Mestrado  /  Doutorado  

Revisão   Revisão  
• Definições   • Promessas  de  um  SBDD  
– Banco  de  dados  distribuído   – Gerenciamento  de  dados  distribuídos  e  replicados  
• MúlIplos  bancos  de  dados  interelacionados  e   – Facilidade  de  expansão  
distribuídos  ao  longo  de  uma  rede  de  computadores  
– Melhorias  de  desempenho  
– SGBD  Distribuído  
– Acesso  confiável  a  parIr  de  transações  distribuídas  
• Torna  possível  o  gerenciamento  dos  bancos  de  dados  
distribuídos  e  torna  a  distribuição  transparente  para  o  
usuário  
– SBDD  
• BDD  +  SGBDD  

Revisão   Agenda  
• Gerenciamento  de  dados  distribuídos  e  replicados   • Arquitetura  –  visão  geral  
– Existem  diferentes  Ipos  de  transparência…   • Modelos  de  arquitetura  para  SGBD  distribuído  
• Fragmentação  
• Replicação   • Arquiteturas  de  SGBD  distribuídos  
• Rede  
• Independência  de  dados  
• Confiabilidade  por  meio  de  transações  distribuídas    
– Não  existe  apenas  um  único  ponto  de  falha!    
• Melhoria  de  desempenho   Obje%vo  da  aula:  apresentar  os  fundamentos  para  a  definição  
– Os  dados  ficam  mais  proximos  do  seu  “uso”  (localização  de   das  arquitetura  de  SGBDDs,  bem  como  as  principais  
dados)   arquiteturas  (cliente/servidor,  peer-­‐to-­‐peer  e  bancos  de  dados  
– Redução  do  volume  de  dados  e  dos  acessos  remotos   múl%plos)  

1  
04/03/12  

Arquitetura  –  visão  geral   Arquitetura  de  SGBDD  


• A  arquitetura  de  um  sistema  define  sua  estrutura   • Definir  uma  arquitetura  consiste  em  
– Definição  dos  componentes,  a  função  de  cada  
estruturar  o  SGBDD,  de  modo  a  prover  as  
componente,  o  inter-­‐relacionamento  e  interações  entre  
esses  componentes   funcionalidades  
– Gerenciamento  transparente  de  dados  
• A  especificação  da  arquitetura  consiste  em   distribuídos  
– IdenIficar  os  vários  módulos  com  suas  interfaces  e  inter-­‐ – Confiabilidade  em  transações  distribuídas  
relacionamentos  de  dados  e  fluxos  de  controles  
– Desempenho  oImizado  
– Expansão  de  sistemas  mais  fácil  

Padronização  de  SGBD   Padronização  de  SGBD  


• Modelo  de  referência  
– Uma  estrutura  conceitual  cujo  propósito  é  dividir   • Abordagens  (Cont.)  
o  trabalho  de  padronização  em  partes   – Baseada  em  funções  
gerenciáveis  e  mostrar  em  um  nível  geral  como   • Classes  de  usuários  são  idenIficados  junto  com  a  
estas  partes  se  relacionam  umas  com  as  outras   funcionalidade  que  o  sistema  deverá  prover  para  cada  
classe  
• Abordagens  para  definição  de  um  sistema   – Baseada  em  dados  
• IdenIficar  os  diferentes  Ipos  de  descrição  dos  dados  e  
– Baseada  em  componentes   especificar  as  unidades  funcionais  que  obterão  e/ou  
• Componentes  de  um  sistema  são  definidos  junto  com  o   usarão  os  dados  de  acordo  com  essas  visões  
inter-­‐relacionamento  entre  os  componentes  

9 10

Padronização  de  SGBD   Padronização  de  SGBD  


• Análise  comparaIva   • Análise  (Cont.)  
–  Baseada  em  componentes   –  Baseada  em  dados  
• Vantagem:    possui  uma  visão  completa  de  todos  os  inter-­‐
relacionamentos  do  sistema,  facilitando  o  projeto   • Vantagem:  dá  importância  central  ao  dado.  É  
• Desvantagem:  não  oferece  informação  sobre  os  objeIvos  e   especificada  uma  estrutura  arquitetônica  que  define  as  
dados  a  serem  uIlizados   unidades  funcionais  que  perceberão  ou  usarão  os  
– Baseada  em  funções   dados.  
• Vantagem:  possui  clareza  na  especificação  dos  objeIvos  do   • Desvantagem:  não  dá  para  criar  um  modelo  de  
sistema   arquitetura  completo  sem  os  módulos  funcionais  
• Desvantagem:  oferece  pouca  informação  sobre  como  os  
objeIvos  serão  aIngidos  ou  o  nível  de  complexidade  do  
sistema  

2  
04/03/12  

Arquitetura  ANSI/SPARC   Modelos  arquitetônicos  para  SGBDD    


Baseada  na  organização  de  dados  
Usuários   Usuários  
• A  arquitetura  define  
Usuários  
– os  modos  pelos  quais  vários  bancos  de  dados  podem  
...   interoperar  
Como  os  usuários    
visualizam  o  BD  
– como  um  SGBDD  pode  ser  estruturado    
Visão Visão Visão
Externa Externa Externa • A  arquitetura  dos  sistemas  pode  ser    classificada  
de  acordo  com  as  seguintes  caracterísIcas:  
Visão Uma  visão  do  mundo  real  da    
Conceitual Empresa  sendo  modelada  no  BD  
– Autonomia    
– Distribuição  
Visão Definição  Ksica  e    
Interna organização  dos  dados  
– Heterogeneidade  

Modelos  Arquitetônicos  de  SGBDD   Modelos  Arquitetônicos  de  SGBDD  


• Autonomia  
Distribuição (A0,D2,H0)  
– Refere-­‐se  à  distribuição  de  controle,  indicando  o  
grau  no  qual  SGBDs  individuais  podem  operar  de  
(A2,D2,H1)  
Alternativas forma  independente  
de
Autonomia Arquiteturas

(A2,D0,H0)  

Heterogeneidade

Modelos  Arquitetônicos  de  SGBDD   Modelos  Arquitetônicos  de  SGBDD  


• Requisitos  de  um  sistema  que  preserva   • Dimensões  da  Autonomia  
autonomia   • Autonomia  de  projeto  -­‐  Os  SGBDs  são  livres  para  usar  
os  modelos  de  dados  e  as  técnicas  de  gerenciamento  
– As  operações  locais  dos  SGBDs  individuais  não  são  
de  transações  que  preferirem  
afetadas  pela  sua  parIcipação  no  sistema  
• Autonomia  de  comunicação  -­‐  habilidade  de  um  SGBD  
distribuído   componente  decidir  como  se  comunicar  com  outros  
– O  processamento  de  consultas  local  não  deve  ser   SGBDs  
afetado  pelo  processamento  de  consultas  global   • Autonomia  de  execução  -­‐  habilidade  de  um  SGBD  
– A  consistência  do  sistema  não  deve  ser  afetada   componente  executar  operações  locais  da  maneira  que  
ele  queira  fazer  
pela  sua  entrada  ou  saída  no  sistema  distribuído  

3  
04/03/12  

Modelos  Arquitetônicos  de  SGBDD   Modelos  Arquitetônicos  de  SGBDD  


• Classificação  de  acordo  com  a  autonomia   • Classificação  de  acordo  com  a  autonomia  
– Fortemente  integrados   – Semi-­‐autônomos    
• Os  dados  estão  logicamente  centralizados  em  um  BD   • SGBDs  que  operam  independentemente,  mas  
• Um  dos  SGBDs  fica  no  controle  do  processamento  das   decidiram  parIcipar  de  uma  federação  para  
requisições  dos  usuários   comparIlhar  seus  dados  locais  
• Cada  SGBD  determina  que  partes  de  seus  próprios  BDs  
serão  acessíveis  por  usuários  de  outros  SGBDs.    
• precisam  ser  modificados  para  habilitar  a  troca  de  
informações  com  os  demais  

Modelos  Arquitetônicos  de  SGBDD   Modelos  Arquitetônicos  de  SGBDD  


• Classificação  de  acordo  com  a  autonomia   • Distribuição  qsica  dos  dados  
– Isolamento  total     – Lida  com  a  distribuição  qsica  de  dados  sobre  
• os  sistemas  individuais  são  SGBDs  isolados  (stand-­‐ vários  sites  
alone)  e  não  se  comunicam  com  outros  SGBDs   • Cliente/servidor  -­‐  Concentra  a  tarefa  de  gerenciamento  
de  dados  em  servidores,  enquanto  os  clientes  se  
• Não  existe  um  controle  global  sobre  a  execução  de   concentram  em  fornecer  o  ambiente  do  aplicaIvo,  
SGBDs  individuais.   incluindo  a  interface  com  o  usuário  
• Não  hierárquica  (peer-­‐to-­‐peer  ou  distribuição  total)  -­‐  
Cada  máquina  tem  toda  a  funcionalidade  de  SGBD  e  
pode  se  comunicar  com  outras  máquinas  para  executar  
consultas  e  transações  

Modelos  Arquitetônicos  de  SGBDD   Modelos  Arquitetônicos  de  SGBDD  


• Heterogeneidade  
– Vários  níveis  (hardware,  subsistemas  de   Distribuição (A0,D2,H0)  
comunicação,  sistemas  operacionais)  
– SGBD   (A2,D2,H1)  
Alternativas
de
•  Modelo  de  dados,  linguagem  de  consulta,  algoritmos  
Autonomia Arquiteturas
(protocolos)  de  gerenciamento  de  transações  
(A2,D0,H0)  

Heterogeneidade

4  
04/03/12  

AlternaMvas  de  Arquiteturas   AlternaMvas  de  Arquiteturas  


• IdenIficadas  por  dimensões   • SGBD  Distribuído  Cliente/Servidor  (A0,  D1,  H0)  
– Dimensões:  A  (Autonomia),  D  (Distribuição)  e  H   • SGBD  Distribuído  Peer-­‐to-­‐Peer  (A0,  D2,  H0)  
(Heterogeneidade)  
• Sistema  de  múlIplos  bancos  de  dados  
– AlternaIvas:  números  0,  1  ou  2  
heterogêneos  (A2,  D2,  H1)  
• A:  0  (firme  integração),  1  (sistemas  semi-­‐autônomos)  e  
2  (isolamento  total)  
• D:  0  (sem  distribuição),  1  (sistemas  cliente/servidores)  
e  2  (distribuição  ponto-­‐a-­‐ponto)  
• H:  0  (sistemas  homogêneos)  e  1  (sistemas  
heterogêneos)  

AlternaMvas  de  Arquiteturas   Arquiteturas  de  SGBD  Distribuído  


O  servidor  processa  e  
• Arquitetura  cliente/servidor   oImiza  as  consultas,  o   Interface  
Usuário  
Programas  
de  Aplicação   ...  
SGBD  Cliente/
Servidor  se  refere  às  
gerenciamento  de   SO   máquinas  e  não  aos  
– Estamos  interessados  no  sotware  que  deverá   transações  e  do   SGBD  Cliente   processos  (sotware  
armazenamento  
rodar  na  máquina  cliente  e  qual  sotware  deverá    
SW  de  Comunicação   que  rodam  nos  
clientes  ou  nos  
rodar  no  servidor   O  cliente  processa  a  
aplicação,  a  interface  do   Consultas  SQL   Relação  
servidores)  

usuário  e  o  módulo   Resultado  


– Como  distribuir     cliente  do  SGBD   S SW  de  Comunicação  

• Processamento  e  oImização  de  consultas   I Controlador  SemânMco  de  Dados  

S OMmizado  de  Consultas   Duas  camadas  


• Gerenciamento  de  transações   T Gerenciador  de  Transações  
(servidoras  e  
clientes)  para  
• Gerenciamento  de  cache   BD   E Gerenciador  de  Recuperação   gerenciar  os  SGBD  e  
M a  sua  distribuição  
Processador  de  Suporte  RunMme  
• …   A
OPERACIONAL  

Arquitetura  cliente-­‐servidor  de  referência  


  28  

Arquiteturas  de  SGBD  Distribuído   Arquiteturas  de  SGBD  Distribuído  


• Tipos  de  arquitetura  cliente/servidor   • Arquitetura  cliente/servidor  
– Mais  simples  -­‐  um  servidor  que  é  acessado  por   – A  visão  lógica  dos  dados  é  a  mesma  que  os  
múlIplos  clientes  (múlIplos  clientes-­‐único   sistemas  ponto-­‐a-­‐ponto,  ou  seja,  tem  a  aparência  
servidor)   de  um  BD  único  
– Mais  sofisIcada  -­‐  múlIplos  servidores  no  sistema   – O  que  disIngue  uma  arquitetura  da  outra  é  a  
(múlIplos  clientes-­‐múlIplos  servidores)  com  o   forma  como  a  transparência  é  alcançada!  
gerenciamento  das  conexões  para  o  servidor  em  
cada  cliente  ou  cada  cliente  conhece  apenas  “seu”  
servidor    que  se  comunica  com  outros  servidores  

5  
04/03/12  

Arquiteturas  de  SGBD  Distribuído   Arquiteturas  de  SGBD  Distribuído  


• Arquitetura  peer-­‐to-­‐peer  (não-­‐hierárquica)   ES 1 ES 2 ...   ES n
– Implica  na  mesma  funcionalidade  em  cada  site  da   ECG/CGS  –  Esquema  Conceitual  
ES  –  Esquemas  Externos/  
rede,  ou  seja,  não  existe  disInção  entre  funções   Global/Global  Conceptual  Schema  
possui  a  visão  organizacional  dos   External  Schemas  suportam  as  
ECG    aplicações  de  usuários  e  seus  
do  cliente  e  do  servidor   dados  e  descreve  a  estrutura  
lógica  em  de  todos  os  locais    acessos  ao  BD  
ECGé  a  união  de  vários  ECL  
– Visão  tradicional  do  conceito  peer-­‐to-­‐peer  x  Visão  
moderna  do  conceito  peer-­‐to-­‐peer   EIL/LIS  –    Esquema  Interno  
ECL 1 ECL 2 ...   ECL n
ECL/LCS  –  Esquema  Conceitual  
Local/Local  Conceptual  Schema  
Local/Local  Internal  Schema  
possui  os  dados  que  são  
para  as  diferentes  organizações  
normalmente  fragmentados  e  
qsicas  dos  dados  em  cada  
replicados  num  BDD.  É  necessário  
máquina  
EIL 1 EIL 2 ...   EIL n  descrever  a  organização  lógica  de  
 dados  (terceira  camada)  

Arquitetura  não-­‐hierárquica  de  referência  


 

Arquiteturas  de  
Arquiteturas  de  SGBD  Distribuído   SGBDD  
• Arquitetura  não-­‐hierárquica  (Cont.)   • Componentes  de  
– Fornece  níveis  de  transparência   um  SGBDD  
• A  independência  dos  dados    
• A  transparência  de  localização  e  replicação  pela  
definição  do  esquemas  conceituais  locais  e  global,  e  o  
mapeamento  entre  eles  
• A  transparência  da  rede,  com  suporte  oferecido  pela  
definição  do  esquema  conceitual  global  (o  SGBDD  
traduz  as  consultas  globais  em  grupos  de  consultas  
locais,  que  são  executadas  em  diferentes  locais)  

34  

Arquiteturas  de  SGBD  Distribuído   Arquiteturas  de  SGBD  Distribuído  


• User  interface  handler  (Gerenciador  da  interface  do   • Seman%c  Data  Controller  (Controlador  de  dados  
usuário)   semânIcos)  
– Interpretação  dos  comandos  do  usuário  à  medida  que  eles   – UIliza  as  restrições  de  integridade  e  as  autorizações  
chegam   definidas  como  parte  do  esquema  conceitual  global,  a  fim  
– Formatação  dos  dados  do  resultado  conforme  eles  são   de  verificar  se  a  consulta  do  usuário  pode  ser  processada  
enviados  para  o  usuário  

6  
04/03/12  

Arquiteturas  de  SGBD  Distribuído   Arquiteturas  de  SGBD  Distribuído  


• Global  Query  Optmizer  (OImizador  e  decompositor   • Global  Execu%on  Monitor  (Monitor  de  execução  
de  consultas  globais)     global)  
– Determina  uma  estratégia  de  execução  para  minimizar   – Coordena  a  execução  distribuída  da  solicitação  do  usuário  
uma  função  de  custo   – Durante  a  execução  de  consultas  de  forma  distribuída,  os  
– Converte  as  consultas  globais  em  consultas  locais,  usando   monitores  de  execução  em  vários  sites  podem  se  
os  esquemas  conceituais  globais,  assim  como  o  diretório   comunicar  uns  com  os  outros  
global  

Arquiteturas  de  SGBD  Distribuído   Arquiteturas  de  SGBD  Distribuído  


• Local  Query  Processor  (Processador  (OImizador)  de   • Run%me  Support  Processor  (Processador  de  suporte  
consulta  local)   runIme)  
– É  responsável  pelo  melhor  caminho  para  acessar  qualquer   – Acessa  fisicamente  o  banco  de  dados,  de  acordo  com  os  
item  de  dados   comandos  qsicos  no  escalonamento  gerado  pelo  
– Atua  como  um  seletor  de  caminho  de  acesso   oImizador  de  consultas    
– É  a  interface  para  o  sistema  operacional  e  contem  o  
• Local  Recovery  Manager  (Gerenciador  de   gerenciador  de  buffers(ou  cache)  do  BD,  que  é  responsável  
recuperação  local)   por  manter  o  cache  em  memória  principal  e  gerenciar  o  
– É  responsável  pela  garanIa  de  que  o  banco  de  dados  local   acesso  aos  dados  
permanecerá  consistente,  mesmo  quando  ocorrerem  
falhas  

Arquiteturas  de  SGBD  Distribuído   Arquiteturas  de  SGBD  Distribuído  


• Componentes  de  um  SGBDD  (arquitetura   • Sistema  de  múlIplos  bancos  de  dados  
peer-­‐to-­‐peer)   heterogêneos  (A2,  D2,  H1)  
– A  divisão  entre  processador  do  usuário  e   – SGBDs  individuais  são  completamente  autônomos  
processador  de  dados  é  meramente   e  não  tem  conhecimento  de  outros  SGBDs  
organizacional   – Também  conhecidos  como  sistemas  de  integração  
– Cada  máquina  deverá  ter  os  dois  componentes!   de  dados  
• Sistemas  de  integração  podem  envolver  outros  Ipos  de  
fontes  de  dados    

7  
04/03/12  

Arquiteturas  de  SGBD  Distribuído   Arquiteturas  de  SGBD  Distribuído  


GCS  –  Esquema  Conceitual  Global:  
LES  –  Esquema  exportado  Local:     representa  a  integração  de  parte  dos  
representa  a  porção  do  Banco  de   esquemas  dos  bancos  de  dados,  ou  
Dados  local  a  ser  comparIlhada     seja,  apenas  da  porção  que  eles  
desejam  comparIlhar    

LCS  –  Esquema  exportado  


Local:    representa  a  porção  do  
Banco  de  Dados  local  a  ser  
comparIlhada    

Arquitetura  genérica  de  um  sistema  de  múlIplos  


bancos  de  dados    

Arquiteturas  de  SGBD  Distribuído   Arquiteturas  de  SGBD  Distribuído  

aplicação aplicação aplicação


data
Mediador–  decompõe  consultas   Wrapper  –  faz  a  tradução  de  dados  
query dos  modelos  locais  para  o  modelo  de  
globais  em  subconsultas  a  serem  
executadas  nas  fontes  de  dados   dados  comum  e  tradução  das  
mediador consultas  da  linguagem  de  consultas  
locais  e  integra  os  resultados  
obIdos  das  fontes  locais   comum  para  as  linguagens  de  consulta  
query
locais  
data
wrapper wrapper wrapper

query data

Fonte  de  Dados  1   Fonte  de  Dados  2   Fonte  de  Dados  n  

Arquitetura  de  mediadores  


Arquitetura  de  
múlIplos  mediadores    

Conclusões  
• Definir  a  arquitetura  de  um  sistema  é  importante  
para  especificar  a  sua  estrutura  
• Existem  arquitetura  de  referências  (geralmente  são  
apenas  ideais)  
• Arquiteturas  de  SGBDDs  são  definidas  com  base  em  
três  fatores:  
– Autonomia,  Distribuição  e  Heterogeneidade  
• Possíveis  arquiteturas  
– SGBD  Distribuído  Cliente/Servidor    
– SGBD  Distribuído  Peer-­‐to-­‐Peer  Sistema  de  múlIplos  
bancos  de  dados  heterogêneos    

8  

Você também pode gostar