DBMS Distribuído - Ambientes de Banco de Dados

Nesta parte do tutorial, estudaremos os diferentes aspectos que auxiliam no projeto de ambientes de banco de dados distribuídos. Este capítulo começa com os tipos de bancos de dados distribuídos. Os bancos de dados distribuídos podem ser classificados em bancos de dados homogêneos e heterogêneos com outras divisões. A próxima seção deste capítulo discute as arquiteturas distribuídas, nomeadamente cliente - servidor, ponto a ponto e multi - DBMS. Finalmente, as diferentes alternativas de design, como replicação e fragmentação, são apresentadas.

Tipos de bancos de dados distribuídos

Os bancos de dados distribuídos podem ser amplamente classificados em ambientes de banco de dados distribuídos homogêneos e heterogêneos, cada um com outras subdivisões, conforme mostrado na ilustração a seguir.

Bancos de dados distribuídos homogêneos

Em um banco de dados distribuído homogêneo, todos os sites usam DBMS e sistemas operacionais idênticos. Suas propriedades são -

  • Os sites usam softwares muito semelhantes.

  • Os sites usam DBMS ou DBMS idênticos do mesmo fornecedor.

  • Cada site está ciente de todos os outros sites e coopera com outros sites para processar as solicitações dos usuários.

  • O banco de dados é acessado por meio de uma única interface como se fosse um único banco de dados.

Tipos de banco de dados distribuído homogêneo

Existem dois tipos de banco de dados homogêneo distribuído -

  • Autonomous- Cada banco de dados é independente e funciona por conta própria. Eles são integrados por um aplicativo de controle e usam a passagem de mensagens para compartilhar atualizações de dados.

  • Non-autonomous - Os dados são distribuídos entre os nós homogêneos e um DBMS central ou mestre coordena as atualizações de dados nos sites.

Bancos de dados distribuídos heterogêneos

Em um banco de dados distribuído heterogêneo, diferentes sites têm diferentes sistemas operacionais, produtos DBMS e modelos de dados. Suas propriedades são -

  • Sites diferentes usam esquemas e softwares diferentes.

  • O sistema pode ser composto por uma variedade de SGBDs como relacional, de rede, hierárquico ou orientado a objetos.

  • O processamento de consultas é complexo devido a esquemas diferentes.

  • O processamento de transações é complexo devido ao software diferente.

  • Um site pode não estar ciente de outros sites e, portanto, há cooperação limitada no processamento de solicitações do usuário.

Tipos de bancos de dados distribuídos heterogêneos

  • Federated - Os sistemas de banco de dados heterogêneos são independentes por natureza e integrados entre si para que funcionem como um único sistema de banco de dados.

  • Un-federated - Os sistemas de banco de dados empregam um módulo de coordenação central por meio do qual os bancos de dados são acessados.

Arquiteturas DBMS Distribuídas

As arquiteturas DDBMS são geralmente desenvolvidas dependendo de três parâmetros -

  • Distribution - Afirma a distribuição física dos dados entre os diferentes sites.

  • Autonomy - Indica a distribuição de controle do sistema de banco de dados e o grau em que cada DBMS constituinte pode operar de forma independente.

  • Heterogeneity - Refere-se à uniformidade ou dissimilaridade dos modelos de dados, componentes do sistema e bancos de dados.

Modelos arquitetônicos

Alguns dos modelos arquitetônicos comuns são -

  • Cliente - Arquitetura de servidor para DDBMS
  • Arquitetura ponto a ponto para DDBMS
  • Multi - Arquitetura DBMS

Cliente - Arquitetura de servidor para DDBMS

Esta é uma arquitetura de dois níveis em que a funcionalidade é dividida em servidores e clientes. As funções do servidor abrangem principalmente o gerenciamento de dados, processamento de consultas, otimização e gerenciamento de transações. As funções do cliente incluem principalmente a interface do usuário. No entanto, eles têm algumas funções, como verificação de consistência e gerenciamento de transações.

As duas arquiteturas cliente-servidor diferentes são -

  • Cliente Único Servidor Múltiplo
  • Multiple Server Multiple Client (mostrado no diagrama a seguir)

Arquitetura ponto a ponto para DDBMS

Nesses sistemas, cada par atua tanto como cliente quanto como servidor para fornecer serviços de banco de dados. Os pares compartilham seus recursos com outros pares e coordenam suas atividades.

Essa arquitetura geralmente tem quatro níveis de esquemas -

  • Global Conceptual Schema - Descreve a visão lógica global dos dados.

  • Local Conceptual Schema - Descreve a organização lógica de dados em cada site.

  • Local Internal Schema - Descreve a organização de dados físicos em cada site.

  • External Schema - Descreve a visão dos dados do usuário.

Multi - arquiteturas DBMS

Este é um sistema de banco de dados integrado formado por uma coleção de dois ou mais sistemas de banco de dados autônomos.

Multi-DBMS pode ser expresso por meio de seis níveis de esquemas -

  • Multi-database View Level - Representa múltiplas visualizações do usuário que compreendem subconjuntos do banco de dados distribuído integrado.

  • Multi-database Conceptual Level - Representa vários bancos de dados integrados que compreendem definições de estrutura de vários bancos de dados lógicos globais.

  • Multi-database Internal Level - Descreve a distribuição de dados em diferentes sites e vários bancos de dados para mapeamento de dados locais.

  • Local database View Level - Retrata a visão pública dos dados locais.

  • Local database Conceptual Level - Descreve a organização de dados locais em cada site.

  • Local database Internal Level - Descreve a organização de dados físicos em cada site.

Existem duas alternativas de design para multi-DBMS -

  • Modelo com nível conceitual de multi-banco de dados.
  • Modelo sem nível conceitual de banco de dados múltiplo.

Alternativas de Design

As alternativas de design de distribuição para as tabelas em um DDBMS são as seguintes -

  • Não replicado e não fragmentado
  • Totalmente replicado
  • Parcialmente replicado
  • Fragmented
  • Mixed

Não replicado e não fragmentado

Nesta alternativa de design, diferentes tabelas são colocadas em locais diferentes. Os dados são colocados de forma que fiquem próximos ao local onde são mais usados. É mais adequado para sistemas de banco de dados onde a porcentagem de consultas necessárias para juntar informações em tabelas colocadas em sites diferentes é baixa. Se uma estratégia de distribuição apropriada for adotada, esta alternativa de design ajuda a reduzir o custo de comunicação durante o processamento de dados.

Totalmente Replicado

Nesta alternativa de design, em cada site, uma cópia de todas as tabelas do banco de dados é armazenada. Como cada site tem sua própria cópia de todo o banco de dados, as consultas são muito rápidas, exigindo um custo de comunicação insignificante. Pelo contrário, a redundância massiva de dados requer um custo enorme durante as operações de atualização. Portanto, isso é adequado para sistemas onde um grande número de consultas é necessário para ser tratado, enquanto o número de atualizações do banco de dados é baixo.

Parcialmente Replicado

Cópias de tabelas ou partes de tabelas são armazenadas em sites diferentes. A distribuição das tabelas é feita de acordo com a frequência de acesso. Isso leva em consideração o fato de que a frequência de acesso às tabelas varia consideravelmente de site para site. O número de cópias das tabelas (ou partes) depende da frequência com que as consultas de acesso são executadas e do site que as gera.

Fragmentado

Nesse projeto, uma tabela é dividida em duas ou mais partes denominadas fragmentos ou partições, e cada fragmento pode ser armazenado em locais diferentes. Isso leva em consideração o fato de que raramente acontece que todos os dados armazenados em uma tabela sejam necessários em um determinado site. Além disso, a fragmentação aumenta o paralelismo e fornece melhor recuperação de desastres. Aqui, há apenas uma cópia de cada fragmento no sistema, ou seja, nenhum dado redundante.

As três técnicas de fragmentação são -

  • Fragmentação vertical
  • Fragmentação horizontal
  • Fragmentação híbrida

Distribuição Mista

Esta é uma combinação de fragmentação e replicações parciais. Aqui, as tabelas são inicialmente fragmentadas em qualquer forma (horizontal ou vertical) e, em seguida, esses fragmentos são parcialmente replicados nos diferentes sites de acordo com a frequência de acesso aos fragmentos.