You are on page 1of 7

Conteúdo

Bancos de Dados
§ Introdução aos BDs Distribuídos
Distribuídos
§ Processamento de Consultas Distribuídas
Prof. Frank Siqueira
Departamento de Informática e Estatística § Transações
Universidade Federal de Santa Catarina
§ Controle de Concorrência

§ Desenvolvimento de Aplicações
1 2

Motivação
§ Bancos de Dados
Introdução aos § Empregam tecnologia bastante sólida
Bancos de Dados Distribuídos § Usados pela imensa maioria das empresas
§ Exercem papel vital na operação da empresa
§ Motivação
§ Conceitos
§ Classificação de Bancos de Dados Vendas Pessoal
§ Arquitetura de BDs Distribuídos
§ Armazenamento dos Dados Produtos Pedidos

Clientes Estoque
3 4

Motivação Motivação
§ A venda e a utilização de Sistemas de Bancos de § Sistemas que utilizam Bancos de Dados
Dados crescem constantemente devido à § SAD: Apoio à Decisão
demanda gerada pelos Sistemas de Informação § SIG: Informações Gerenciais
que deles necessitam § ERP: Planejamento de Recursos
§ CRM: Relacionamento com o Cliente
§ BI: Inteligência de Negócio
§ etc.

5 6
Motivação Motivação
§ Benefícios § O acesso a Bancos de Dados é possível usando:
§ Gerenciar o negócio de modo eficiente
§ Determinar o mercado-
mercado-alvo de um produto
§ Definir preços, promoções e condições de compra dos
produtos
§ Verificar a eficácia de campanhas de marketing Linguagens de Consulta Aplicações Gráficas
§ Otimizar a quantidade de produtos no estoque
§ Respostas rápidas a mudanças no mercado
... ou seja, ganhar eficiência e lucratividade

Aplicações de Rede Páginas e Formulários da Web


7 8

Motivação Motivação
§ No entanto... § Panorama Atual
§ A maioria das empresas utiliza mais de um banco de § Crescimento do número de usuários
dados, muitas vezes dispersos em vários locais § Crescimento da quantidade de consultas
§ É preciso ter uma visão integrada dos dados! § Automatização de todos os processos dentro de uma
§ Operação simultânea de múltiplos BDs pode levar a empresa ou instituição
dados inconsistentes em BDs diferentes § Maior dependência dos bancos de dados
§ É preciso ter uma visão consistente dos dados! § Novos tipos de dados, como som e imagem,
imagem, exigem
Várias fontes Visão integrada e Informações maior poder de processamento e armazenamento
de dados consistente dos dados claras e precisas
§ Soluções
§ Usar processamento paralelo e distribuído para
processar as consultas em bancos de dados
9 10

Conceitos Conceitos
§ Processamento Paralelo § Processamento Distribuído
§ Consiste em executar simultaneamente várias partes § Consiste em executar processos / aplicações
de um mesmo processo ou aplicação cooperantes em máquinas diferentes
§ Processos são executadas paralelamente:
§ Processos são executadas em máquinas diferentes
§ Em um mesmo processador interligadas por uma rede
§ Em uma máquina multiprocessada § Redes locais
§ Em um cluster (máquinas interligadas por uma
rede local que se comportam como uma só § Internet
máquina) § Outras redes públicas ou privadas
§ Tornou-
Tornou-se possível a partir do desenvolvimento de § Tornou-
Tornou-se possível a partir da popularização das
sistemas operacionais multi-
multi-tarefa,
tarefa, multi-
multi-thread e redes de computadores
paralelos

11 12
Conceitos Conceitos
§ Características § Características (cont.)
§ Acoplamento § Influência do Tempo
§ Sistemas paralelos são fortemente acoplados: § Sistemas distribuídos são bastante influenciados pelo
compartilham hardware ou se comunicam através de tempo de comunicação pela rede; em geral não há
uma referência de tempo global
um barramento de alta velocidade
§ Em sistemas paralelos o tempo de troca de
§ Sistemas distribuídos são fracamente acoplados mensagens pode ser desconsiderado
§ Previsibilidade § Controle
§ O comportamento de sistemas paralelos é mais § Em geral em sistemas paralelos se tem o controle de
previsível; já os sistemas distribuídos são mais todos os recursos computacionais; já os sistemas
imprevisíveis devido ao uso da rede e a falhas distribuídos tendem a empregar também recursos de
terceiros

13 14

Conceitos Conceitos
§ Vantagens § Dificuldades
§ Usam melhor o poder de processamento § Desenvolver, gerenciar e manter o sistema
§ Apresentam um melhor desempenho § Controlar o acesso concorrente a dados e a recursos
§ Permitem compartilhar dados e recursos compartilhados
§ Podem apresentar maior confiabilidade § Evitar que falhas de máquinas ou da rede
comprometam o funcionamento do sistema
§ Permitem reutilizar serviços já disponíveis
§ Garantir a segurança do sistema e o sigilo dos dados
§ Atendem um maior número de usuários
trocados entre máquinas
§ ...
§ Lidar com a heterogeneidade do ambiente
§ ...

15 16

Classificação de Bancos de Dados Classificação de Bancos de Dados


§ Bancos de Dados Centralizados § De acordo com sua classificação, o BD requer o
§ Acesso ao banco de dados apenas a partir da uso de um sistema gerenciador apropriado
máquina na qual o mesmo está localizado
§ Classificação de SGBDs:
SGBDs:
§ Bancos de Dados Cliente-
Cliente-Servidor
§ SGBDs Centralizados: gerenciam BDs acessados
§ Os dados podem ser acessados por clientes remotos,
ligados ao servidor por uma rede de comunicação apenas por usuários com acesso à máquina local
§ SGBDs Cliente-
Cliente-Servidor: gerenciam o acesso a dados
§ Bancos de Dados Paralelos
locais a partir de clientes remotos
§ O servidor utiliza uma máquina paralela (com vários
processadores) para processar consultas/transações § SGBDs Paralelos: gerenciam execução de consultas/
transações em paralelo, usando vários processadores
§ Bancos de Dados Distribuídos
§ SGBDs Distribuídos: gerenciam a execução de
§ Bancos de dados inter-
inter-relacionados localizados em
diferentes servidores interconectados por uma rede consultas em dados distribuídos por vários servidores
17 18
Classificação de Bancos de Dados Classificação de Bancos de Dados
§ Bancos de Dados Cliente-
Cliente-Servidor § Bancos de Dados Paralelos
§ Tornam os dados amplamente acessíveis para os § Máquinas paralelas vem sendo usadas para supotar
usuários uma carga maior de trabalho dos SBDs
§ Permitem o acesso remoto a partir de máquinas § Vários processadores executam as operações em
conectadas ao servidor através da rede
paralelo à uso de controle de concorrência
§ Acesso pode ser feito utilizando:
§ O usuário não vê diferença entre um BD paralelo e
§ Um aplicativo cliente do SGBD (Ex.: console do
centralizado à transparência
Oracle, query analyzer do SQL Server, etc.)
Oracle,
§ Um programa que acessa o BD usando uma API § Memória e disco podem ser compartilhados ou não
(Ex.: ODBC, JDBC, ADO, etc.) § Custo de máquinas multi-
multi-processadas está caindo
§ Uma aplicação Web que acessa os dados no BD § Clusters podem ser montados a um custo reduzido
(navegador Web à servidor HTTP à BD) utilizando PCs e software de gerenciamento adequado
19 20

Classificação de Bancos de Dados Classificação de Bancos de Dados


§ Bancos de Dados Paralelos (cont.) § Bancos de Dados Distribuídos
§ Paralelismo pode ser usado: § Os dados estão distribuídos por várias localidades
§ Na entrada e saída de dados (operações de I/O)
I/O) § Localização dos dados é transparente para o usuário
§ No processamento de consultas § Máquinas se comunicam via rede para acessar os
dados e processar as consultas
§ No processamento de operações individuais
Clientes
§ Como resultado, pode-
pode-se obter um aumento de:
§ Escala: processar mais transações
§ Desempenho: tornar o processamento mais rápido
Rede
§ Problema: mais hardware à mais falhas
§ Solução: replicar dados à controlar consistência Servidores

21 22

Classificação de Bancos de Dados Classificação de Bancos de Dados


§ BDs Distribuídos x Centralizados § BDs Distribuídos x Cliente-
Cliente-Servidor
§ BDs centralizados possuem um ponto único de falha § BDs distribuídos também podem ser acessados
§ BDs distribuídos podem aumentar a robustez do remotamente por clientes
sistema e a disponibilidade dos dados § BDs Distribuídos x Paralelos
§ BDs centralizados são limitados pela capacidade de § Ambos podem processar consultas em paralelo
processamento e armazenamento de uma máquina usando os vários processadores disponí
disponíveis
§ BDs distribuídos podem crescer em escala § Em BDs paralelos os processadores podem trocar
adicionando novos servidores ao sistema dados usando discos ou memória compartilhada
§ BDs distribuídos são mais sujeitos a apresentar falhas § O uso da rede em BDs distribuídos pode prejudicar o
parciais de funcionamento e de segurança desempenho do sistema ao processar consultas
§ BDs distribuídos são mais difíceis de administrar pois § BDs paralelos são mais vulneráveis a algumas falhas,
falhas,
os servidores estão em locais diferentes e não são tão escaláveis quanto BDs distribuídos

23 24
Classificação de Bancos de Dados Arquitetura de BDs Distribuídos
§ BDs distribuídos podem ser classificados como:
como: § Arquitetura Genérica de BDs [ANSI/SPARC]
ANSI/SPARC]
Homogêneos: todos os sites usam o mesmo software
§ Homogêneos: Usuários
§ Heterogêneos •Adminstradores …
•Programadores
§ Usam software diferente •Usuários Finais

§ Podem usar esquemas de dados diferentes Esquemas


EE1 EE2 EE3 …
§ Linguagem de consulta pode ser diferente Externos
§ Dificuldades adicionais em BDs distribuídos
Esquema
§ Controlar a consistência dos dados armazenados
Conceitual
§ Processar consultas e transações de modo distribuído
§ Controlar a concorrência e resolver conflitos
§ Conciliar as diferenças em sistemas heterogêneos Esquema
Interno
25 26

Arquitetura de BDs Distribuídos Arquitetura de BDs Distribuídos


§ Arquitetura Genérica de BDs Distribuídos § Usuários de BDs Distribuídos
Esquemas § Tipos de Usuários
Externos EEGA EEGB …
Globais § Administradores locais ou globais
§ Programadores locais ou globais
Esquema § Usuários finais locais ou globais
Conceitual Global
§ Usuários Globais
Esquemas § Possuem visão global do sistema
Externos
Locais EEL1A EEL2A EEL1B EEL2B … § Visualizam um esquema externo global
Esquemas § Usuários Locais
Conceituais ECLA ECLB § Acessam diretamente o servidor local
Locais
Esquemas § Visualizam um esquema externo local
Internos Site A EILA EILB Site B …
Locais 27 28

Arquitetura de BDs Distribuídos Arquitetura de BDs Distribuídos


§ Gerência § Problemas em BDs distribuídos
de BDs § Otimização e processamento de consultas/transações
distribuídas requer algoritmos/protocolos adequados
Linguagem Interface de § Mecanismos de controle e gerenciamento devem
de Consulta Programação trabalhar de maneira integrada
Cliente Módulo de Comunicação
Consultas Respostas § Problemas em BDDs heterogêneos
Módulo de Comunicação § Precisamos conciliar as diferenças entre:
Interface c/ Usuário
Gerenc. de Transações § Modelos lógicos
Servidor Gerenc. de Recuperação § Linguagens de definição e manipulação de dados
Processamento de Consultas
Otimização de Consultas
§ Formatos de dados: língua, ordenação dos bits,
Controle de Armazenamento tamanho dos tipos de dados e representação na
memória, tabelas de caracteres, etc.
BD 29 30
Arquitetura de BDs Distribuídos Arquitetura de BDs Distribuídos
§ Sistema de Gerência de BDs Distribuídos § Construção de BDs com arquitetura distribuída
§ Abordagens de projeto
§ Top-
Top-Down: usada em sistemas construídos do
Linguagem Interface de Consultas Linguagem Interface de zero, geralmente homogêneos
de Consulta Programação de Consulta Programação
Globais
Módulo de Comunicação Módulo de Comunicação § Bottom-
Bottom-Up: usada quando os sistemas locais já
Consultas Consultas
Locais Locais estão instalados e precisam ser integrados
Módulo de Comunicação
Módulo de Comunicação
Interface c/ Usuário
Módulo de Comunicação
Interface c/ Usuário
§ Questões a serem respondidas no projeto de BDDs
Interface c/ Usuário Global
Gerenc. de Transações
Processamento de Consultas
Proc. Transações Globais Gerenc. de Transações
Processamento de Consultas
§ Onde colocar os sites?
Proc. Consultas Globais
Otimização de Consultas
Gerenc. de Recuperação
Otimiz. de Consultas Globais
Otimização de Consultas
Gerenc. de Recuperação
distribuí-los pelos sites?
§ Como fragmentar dados e distribuí-
Gerenc. Recuperação Global
Controle de Armazenamento Controle de Armazenamento § Replicação de dados é necessária?
SGBD Local SGBD Global SGBD Local
BD § Como integrar diferentes sistemas?
BD
31 32

Armazenamento dos Dados Armazenamento dos Dados


§ Em BDs distribuídos os dados podem ser: § Localização das Réplicas
§ Replicados § Deve levar em conta os locais e usuários que
§ Fragmentados acessam os dados replicados com maior freqüência
§ Replicados e Fragmentados § Deve ser transparente para o usuário
§ Replicação de Dados § Atualização de Réplicas
§ Uma mesma tabela pode ser armazenada em mais de
§ Snapshot : é feita a cópia completa das tabelas
um servidor
replicadas, podendo ocorrer atualizações periódicas
§ Vantagens: aumenta a disponibilidade e o paralelismo
§ Incremental: os dados alterados são transferidos pela
§ Desvantagem: atualizações devem ser feitas em todos
os servidores para manter consistência entre réplicas rede em um horário programado
§ Apresenta bom desempenho nas operações de leitura, § Transacional: dados são atualizados nas réplicas no
mas causa overhead nas operações de escrita instante em que são modificados
33 34

Armazenamento dos Dados Armazenamento dos Dados


§ Fragmentação de Dados § Fragmentação Horizontal
§ Os dados mantidos em uma tabela podem ser § Cada fragmento contém um subconjunto das tuplas
divididos em dois ou mais fragmentos da relação completa
§ Cada fragmento é armazenado em servidor do banco § Cada tupla de uma relação precisa ser armazenada
de dados distribuído em pelo menos um servidor
§ Fragmentação deve ser transparente para o usuário, § A relação completa pode ser obtida fazendo a união
que tema visão completa da tabela dos fragmentos
§ Métodos usados para fragmentação:
§ Fragmentação horizontal Servidor A
§ Fragmentação vertical
§ Fragmentação mista Servidor B
35 36
Armazenamento dos Dados Armazenamento dos Dados
§ Técnicas para fragmentação horizontal: § Tipos de Fragmentação Horizontal
§ Round-
Round-Robin § Fragmentação Horizontal Primária
§ Tuplas distribuídas uma a uma entre os servidores § O(s) atributo(s) usados para fragmentar a tabela
§ Divide os dados igualmente fazem parte da mesma
§ Hash § Fragmentação Horizontal Derivada
§ Usa uma função hash para determinar o servidor § O(s) atributo(s) usados para fragmentar a tabela
§ Boa para processar seleções de igualdade pertencem a outra tabela
§ Por faixa § As tabelas precisam estar relacionadas através de
§ Cada servidor armazena as tuplas que estiverem algum atributo chave
dentro de uma faixa de valores
§ Pode exigir mais processamento e acesso a disco
§ Boa para processar seleções de igualdade e para
procurar por faixas de valores para execução de consultas
37 38

Armazenamento dos Dados Armazenamento dos Dados


§ Fragmentação Vertical § Fragmentação Mista
§ Relações são decompostas em conjuntos de atributos § Combina fragmentação horizontal e vertical
mantidos em servidores diferentes Servidor A
§ Cada fragmento é uma projeç
projeção da relaç
relação completa
§ A relaç
relação completa pode ser obtida fazendo a junç
junção Servidor B
de todos os fragmentos
Servidor A Servidor B Servidor C

§ Fragmentação e Replicação de Dados


§ Dados são fragmentados horizontal ou verticalmente
§ Cada fragmento é mantido em mais de um servidor
39 40

You might also like