1 / 18

Transações em Bancos de Dados distribuidos Banco de dados em aplicativos WEB Aula 18

Transações em Bancos de Dados distribuidos Banco de dados em aplicativos WEB Aula 18. Agenda. Conceito Fundamentação – 12 regras Vantagens Desvantagens Exemplo. Conceito.

miles
Télécharger la présentation

Transações em Bancos de Dados distribuidos Banco de dados em aplicativos WEB Aula 18

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Transações em Bancos de Dados distribuidosBanco de dados em aplicativos WEBAula 18 09/05/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  2. Agenda Conceito Fundamentação – 12 regras Vantagens Desvantagens Exemplo 25/04/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  3. Conceito Banco de dados distribuído (BDD) é uma coleção de várias Base de Dados logicamente inter-relacionadas, distribuídas por uma rede de computadores. Existem dois tipos de banco de dados distribuídos, os homogêneos e os heterogêneos. Os homogêneos são compostos pelos mesmos bancos de dados, já os Heterogêneos são aqueles que são compostos por mais de um tipo de banco de dados. Num banco de dados distribuídos os arquivos podem estar replicados ou fragmentados, esses dois tipos podem ser encontrados ao longo dos nós do sistema de BDD's. Quando os dados se encontram replicados, existe uma cópia de cada um dos dados em cada nó, tornando as bases iguais (ex: tabela de produtos de uma grande loja). Já na fragmentação, os dados se encontram divididos ao longo do sistema, ou seja a cada nó existe uma base de dados diferente se olharmos de uma forma local, mas se analisarmos de uma forma global os dados são vistos de uma forma única, pois cada nó possui um catálogo que contém cada informação dos dados dos bancos adjacentes. A replicação dos dados pode se dar de maneira síncrona ou assíncrona. No caso de replicação síncrona, cada transação é dada como concluída quando todos os nós confirmam que a transação local foi bem sucedida. Na replicação assíncrona, o nó principal executa a transação enviando confirmação ao solicitante e então encaminha a transação aos demais nós 09/05/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  4. Fundamentação – 12 regras • Autonomia local • Apesar de existirem diversos sites no sistema, para o cliente existe somente um servidor de dados, sendo transparente para o mesmo, a distribuição tanto dos dados como do processamento. Ex. :Para o sistema da Caixa Econômica Federal existem três importantes sites, mas para o cliente existe somente um banco de dados. • Inexistência de um site central • Em um sistema distribuído não há uma hierarquia de sites, mas todos podem trabalhar independentemente. Com a queda de um site, o sistema continua executando, mas com uma redução de recursos proporcional à representação do potencial computacional do site que caiu em relação ao sistema (Performance). Ex.: Não há um servidor mestre, nem um escravo no sistema da Caixa. Não há uma hierarquia entre eles. Há uma distribuição de atividades que o sistema deve executar de maneira igual. 09/05/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  5. Fundamentação – 12 regras • Operação contínua • Uma importante característica de um sistema de dados distribuído é a sua alta tolerância a falhas tanto de hardware, software, como de rede. Em um sistema monolítico, havendo falha em qualquer dos quesitos mencionados anteriormente, ocorre a indisponibilidade do mesmo. Em um sistema distribuído, as chances de indisponibilidade são inversamente proporcionais à quantidade de sites. Havendo falha em um site, o sistema poderá continuar processando de forma reduzida ao invés de sair do ar. Há uma queda de performance, e até indisponibilidade de alguns dados, mas não a indisponibilidade do serviço. Ex.: Já houve queda de um ou dois sites do sistema existente da Caixa Econômica, mas o mesmo nunca saiu do ar. É claro que o sistema ficou seriamente comprometido, mas não saiu do ar. 09/05/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  6. Fundamentação – 12 regras • Independência de localização • Em um sistema distribuído, o cliente solicitará qualquer dado existente no sistema sem a preocupação em acessar o site onde se encontra armazenada cada informação. Para o cliente, todas as informações estarão no site que ele acessa. 09/05/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  7. Fundamentação – 12 regras • Independência de fragmentação • Um sistema de bancos de dados distribuído deverá acatar a possibilidade fragmentar os dados de forma a manter em um site as informações que seus clientes solicitam mais, distribuindo assim os dados e o processamento das informações. Estes dados são unificados por meio de junções para fragmentações verticais e de uniões para fragmentações horizontais. Para o cliente esta fragmentação não é visível. Exemplo: No sistema da CEF há uma divisão geográfica da informação: dados referentes a clientes de São Paulo estão na base de São Paulo, Rio de Janeiro concentra as informações do centro-sul-brasileiro, e a base de Brasília armazena dados das regiões norte e nordeste. Mas para o usuário do sistema, estas informações estão em um único site. 09/05/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  8. Fundamentação – 12 regras • Independencia de replicação • Dados podem estar replicados em vários nós da rede, de forma transparente. As réplicas de dados devem ser mantidas sincronizadas automaticamente pelo SGBDD 09/05/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  9. Fundamentação – 12 regras • Processamento de consultas distribuído • O desempenho de uma consulta deve ser independente do local onde a mesma é submetida. Um SGBDD deve possuir um otimizador capaz de selecionar não apenas o melhor caminho para o acesso a um determinado nó da rede, mas também otimizar o desempenho de uma consulta distribuída, levando em conta a localização dos dados, utilização de CPU, I/O e o tráfego na rede. 09/05/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  10. Fundamentação – 12 regras • Gerenciamento de transações distribuído • Um sistema distribuído será capaz de conferir atomicidade a uma transação, mesmo que a mesma envolva sites diferentes. • Ex. CEF, quando há uma transferência de valores de uma conta armazenada no site São Paulo para outra armazenada site Rio de Janeiro o valor é retirado da conta do site São Paulo e depositada no site Rio de Janeiro, havendo a confirmação desta transação somente no término da mesma. Isto confere atomicidade a uma transação distribuída. 09/05/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  11. Fundamentação – 12 regras • Independência de hardware • Um sistema de dados distribuído deve operar em cima de uma abstração de software capaz de operar em diferentes arquiteturas – daí o suporte a diversos tipos de hardwares. 09/05/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  12. Fundamentação – 12 regras • Independência de sistema operacional • Um sistema de dados distribuído assim como deve oferecer tolerância a diversas arquiteturas, deverá oferecer implementação em diversos sistemas operacionais por meio de versões do SGBD capazes de operar em diversos sistemas operacionais. No caso do sistema utilizado na CEF o SGBD utilizado é o DB2 da IBM que pode ser utilizado em diversos sistemas Operacionais. 09/05/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  13. Fundamentação – 12 regras • Independência da rede • Se o SGBD utilizado para implantação da rede distribuída suporta diversos sistemas operacionais, deverá ser capaz de operar sobre um sistema operacional que tenha suporte a diversos tipos de rede. 09/05/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  14. Fundamentação – 12 regras • Independência de SGBD • O sistema de bancos de dados distribuído poderá ter sites implementados com SGBDs diferentes. No sistema da CEF, é utilizado somente o DB2, mas se for viável, poderá ser instanciado um site com outro SGBD. 09/05/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  15. Exemplo • SGBDD Distribuido geograficamebnte em três sites, interligados em uma WAN. 09/05/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  16. Vantagens 09/05/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com • Reflete a estrutura organizacional • Fragmentos do banco de dados estão localizados nos departamentos que se relacionam com os dados que estes persistem. • Autonomia Local • Um departamento pode controlar seus dados (já que é o mais familiarizado com estes). • Maior disponibilidade • Uma falha em um banco de dados afetará somente um fragmento, ao invés do banco de dados inteiro. • Melhor performance • Os dados estão localizados próximo do local de maior demanda e os sistemas de banco de dados por si só são paralelizáveis, permitindo carregar no banco de dados para o balanceamento entre servidores (a elevada carga em um módulo do banco de dados não irá afetar os outros módulos de banco de dados em um banco de dados distribuído). • Econômico • Custa menos criar uma rede de pequenos computadores com o mesmo poder que um único computador maior. • Modularidade • Sistemas podem ser modificados, adicionados ou removidos do banco de dados distribuído sem afetar os outros módulos (sistemas).

  17. Desvantagens 09/05/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com • Complexidade — Trabalho extra deve ser feito pelos DBAs para garantir que a natureza da distribuição do sistema é transparente. Trabalho extra deve ser feito para manter sistemas múltiplos diferentes, ao invés de um único grande. Design de banco de dados extra deve também ser feito para levar em conta a natureza desconectada do banco de dados - por exemplo, joins tornam-se proibitivamente caros quando são rodados entre múltiplas plataformas. • Implantação mais cara — Aumento da complexidade e uma infra-estrutura mais extensa significa custo extra de trabalho • Segurança — Fragmentos de banco de dados remotos devem ser seguros e, como eles não são centralizados então os lugares remotos também devem ser seguros. A infraestrutura também deve ser segura (por exemplo, pela encriptação dos links de rede entre os lugares remotos). • Difícil de manter a integridade — Sistemas distribuídos, reforçar a integridade ao longo de uma rede pode exigir demais dos recursos da rede para ser viável. • Inexperiência — Pode ser difícil trabalhar com banco de dados distribuídos e como é uma área relativamente nova ainda não há tantos casos (ou experiências) práticos de seu uso disponíveis como exemplo. • Design do banco de dados mais complexo – Além das dificuldades normais, o design de um banco de dados distribuídos tem que considerar a fragmentação dos dados, alocação dos fragmentos em lugares específicos e a replicação de dados.

  18. Bibliografia 09/05/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

More Related