• Nenhum resultado encontrado

Banco de Dados Distribuídos

N/A
N/A
Protected

Academic year: 2021

Share "Banco de Dados Distribuídos"

Copied!
10
0
0

Texto

(1)

Banco de Dados Distribuídos

Emmanuel Filho¹, Maria Cristina C. Rodrigues¹

Nayguron Henrique de S. Barreto¹, Wilton de Serpa Monteiro¹

¹ Tecnologia em Análise e Desenvolvimento de Sistemas do Instituto Federal de Educação Tecnológica do Pará (IFPA)

emmanuelcpf@yahoo.com.br, tinacavalheiro@yahoo.com.br nayguron@hotmail.com, wiltonserp@uol.com.br

RESUMO

Com o crescente aumento dos dados a serem armazenados, o gerenciamento centralizado desses dados pode se tornar uma tarefa muito trabalhosa, assim, com as novas tecnologias para comunicação de dados, é possível trabalhar com bancos de dados não mais centralizados em um único servidor, mas sim distribuídos em vários servidores que podem estar na mesma rede, ou até mesmo em países diferentes, e estão interligados logicamente, compartilhando informações de uma maneira transparente para os usuários.

1. INTRODUÇÃO

Há tempos atrás as informações de empresas e de governos eram armazenadas em salas de arquivos com uma imensa quantidade de papeis que iam envelhecendo com o tempo, alguns desses documentos deveriam ser guardados durante anos, ocupando espaços que nem sempre estavam disponíveis nas empresas (Reis, 2006). Com o advento da informática o arquivamento de informações mudou, informações viraram “dados” e salas de arquivo transformaram-se em “bancos”.

O banco de dados é o desejo de integrar os dados operacionais de um empreendimento e proporcionar acesso controlado a esses dados (Melo & Fornari, 2004). Porém com o aumento constante de informações, a necessidade de gerenciamento de grandes volumes de dados tornou-se um desafio para a comunidade de ciência da computação, tornando-se mais problemática com o advento da internet (Dorneles & Galante, 2008).

(2)

Surge então o sistema de Banco de Dados Distribuído, que é uma coleção de vários bancos de dados logicamente inter-relacionados, distribuídos por uma rede de computadores (Wikipédia).

2. CONCEITO

Consta em Özsu(2001, p.1), que:

A tecnologia de sistemas de bancos de dados distribuídos (SBDDs) é a união daquilo que consideramos duas abordagens diametralmente opostas para processamento de dados: as tecnologias de sistemas de banco de dados e rede de computadores.

Com os bancos de dados tem-se a centralização dos dados e com a rede de computadores pode-se fazer a integração. A tecnologia dos SBDDs busca a integração sem a centralização. Özsu (2001, p.5) definindo bancos de dados distribuídos como uma “coleção de vários bancos de dados logicamente inter-relacionados, distribuídos por uma rede de computadores”. Além disso, cada banco é independente, ou seja, possui sua própria função de Database Administrator (DBA), um servidor próprio para armazenar os dados e tornar os relacionamentos entre os bancos invisíveis para o usuário.

3. VANTAGENS

Conforme ÖZSU, KORTH e CASANOVA existem diversas vantagens para se implantar um sistema de gerenciamento de bancos de dados distribuídos (SGBDD), das quais pode - se destacar:

Gerenciamento transparente de dados distribuídos. Um sistema de bancos de dados distribuídos transparente, “esconde” dos usuários os detalhes de implementação.

Autonomia Local: Os sistemas podem ser relativamente independentes uns dos outros, é possível ter acesso a dados situados em sites próximos e ao mesmo tempo, compartilhar dados armazenados em outros sites mais distantes.

Integridade e Disponibilidade: Os SGBDDs são planejados para melhorar a confiabilidade, pois têm componentes replicados e, portanto, eliminam pontos únicos de falha.

(3)

Economia com hardware: O custo com comunicação de dados diminui, uma vez que os dados estão mais próximos dos usuários. Os gastos com compra de servidores também podem ser reduzidos, pelo fato de que computadores de menores valores e portes podem ser utilizados.

Melhoramentos de desempenho: Um SBDD pode apresentar melhor desempenho que um sistema centralizado através da distribuição da carga de trabalho.

Expansibilidade: Ao utilizar um SBDD, os custos associados ao aumento no número de sites são menores, quando comparados com os custos associados à expansão de um banco de dados centralizados.

Compartilhamento: Em diversos sites geograficamente distribuídos e muito distantes entre si, a distribuição de dados se faz necessária já que mantê-los centralizados pode envolver um alto custo para uma empresa.

4. DESVANTAGENS

Conforme ÖZSU, KORTH e CASANOVA, existem algumas desvantagens também para se implantar um sistema de gerenciamento de bancos de dados distribuídos das quais pode-se citar:

Complexidade: Os bancos de dados nos SBDD são mais complexos que os bancos de dados centralizados, pois além de existirem os problemas encontrados em um ambiente de bancos de dados centralizados, terá vários problemas não resolvidos (aspectos de modelagem, processamento, consultas, concorrência, sistema operacionais, entre outros).

Custo com treinamento e aplicativos: Existe um crescimento no custo ligado a treinamento, administração do ambiente operacional (ferramentas, técnicas, e pessoal) e desenvolvimento de aplicativos.

Distribuição de controle: Mesmo sendo considerado como vantagem dos SBDDs anteriormente, a distribuição gera problemas de sincronização e coordenação. Portanto, o controle distribuído exige mais responsabilidade e cuidados já que pode se tornar facilmente uma obrigação.

Segurança: Um dos mais importantes benefícios dos bancos de dados centralizados é a fiscalização sobre os acessos aos dados. Em um

(4)

sistema de bancos de dados distribuídos existe uma rede para a comunicação entre os sites, e esta rede tem seus próprios requisitos de segurança.

Falta de Experiência: Os bancos de dados distribuídos já estão sendo muito utilizados. Porém, existe uma ausência de especialistas nas unidades responsáveis pelo gerenciamento de tecnologia de informação.

5. TRANSPARÊNCIA

O objetivo principal dos sistemas de BDD é fornecer a transparência de localização. Esta transparência significa que os usuários e suas aplicações não precisam saber qual a localização de qualquer item particular de dados. Ao invés disso, todas essas informações de localização devem ser mantidas pelo próprio sistema como parte de seu catálogo, e todas as solicitações de dados, por usuários, deveriam ser interpretadas pelo sistema de acordo com estas informações contidas nele.

Uma solicitação para operar uma peça de dados não-local poderá fazer com que:

1. Esses dados sejam deslocados para o nodo local, para processamento local

2. O processamento deve ocorrer no nodo remoto e os resultados movimentados para o local

3. A combinação de a e b, mais comumente usados

As vantagens de tal transparência são óbvias: simplifica a lógica dos programas de aplicação, e permite que os dados sejam deslocados de um nodo para outro à medida que os padrões de utilização mudar, sem necessitar de qualquer reprogramação.

6. TIPOS DE SGBDDS

Existem dois tipos de banco de dados distribuídos:

Os homogêneos são compostos pelos mesmos bancos de dados Os Heterogêneos são aqueles que são compostos por mais de um tipo de banco de dados.

(5)

 Oferecem interfaces idênticas ou, pelo menos, da mesma família;  Fornecem os mesmos serviços aos usuários em diferentes nós. b) SGBDD Heterogêneo

 Pode não oferecer interfaces idênticas ou, pelo menos, da mesma família;

 Pode não oferecer os mesmos serviços aos usuários em diferentes nós.

a) Homogêneo sobre as Interfaces

Como em um SGBDD homogêneo todos os SGBDs locais oferecem interfaces idênticas, estes últimos usam, então, o mesmo modelo de dados, a mesma LDD e as mesmas LMDs.

Logo, uma vez fixadas às interfaces locais, é natural que o SGBD global também ofereça estas mesmas interfaces. Assim, qualquer usuário, local ou global, poderá acessar tanto dados locais quanto dados remotos através da mesma LMD.

b) Heterogêneo sobre as Interfaces

Em sistemas heterogêneos, os SGBDs locais potencialmente usam modelos de dados e LMDs diferentes. Uma opção seria o SGBD global oferecer ao usuário global, residente em um dado nó, uma visão do banco de dados distribuído no mesmo modelo de dados que o banco local, e permitir que este usuário acesse dados definidos nesta visão através da própria LMD local.

Esta opção é interessante, pois não é necessário ensinar uma nova LMD aos usuários residentes em um determinado nó para que possam acessar dados remotos. Nesta opção, o SGBD global possui, na verdade, uma interface diferente para cada nó.

7. ADMINISTRAÇÃO DE BANCO DE DADOS DISTRIBUÍDO

Abordamos os problemas, as tarefas e a organização da equipe de administração de um banco de dados distribuído.

(6)

A organização da equipe de administração, no caso distribuído, deve acompanhar a própria estratégia de descentralização. Uma organização plausível seria criar uma equipe local para cada nó onde o banco reside com autoridade para propor e implementar mudanças em detalhe no banco local e nos esquemas externos locais. Haveria ainda uma equipe central com autoridade para coordenar e vetar, se necessário, mudanças no sistema (a serem implementadas pelas equipes locais).

As tarefas tradicionais da equipe de administração de um banco de dados (centralizado) incluem o projeto lógico e físico do banco e sua documentação, definição dos vários esquemas externos em consulta com os analistas de aplicação, definição dos critérios de autorização, criação de rotinas de recuperação do banco, monitoração da utilização do banco e reestruturação do banco.

Três facetas da administração de um BDD merecem especial atenção: documentação do banco, administração dos recursos locais de cada sistema e monitoração do sistema.

A documentação do BDD deve esclarecer a todos os usuários o significado dos itens de dados armazenados pelo banco. Isto requer regras para sistematizar a nomenclatura e a descrição informal dos itens de dados, definição dos tipos de cada item de dados e regras para traduzir um tipo utilizado em uma máquina para o tipo equivalente de outra.

A administração da carga imposta a cada sistema que compõe o BDD exige, antes de qualquer coisa, a definição de critérios de medição. Feito isto, é necessário criar regras que assegurem a usuários remotos acesso a recursos locais e que atinjam um balanceamento entre a carga local e a imposta por acessos remotos. Administração da carga inclui, também, definir como será cobrada aos usuários locais e remotos a utilização do sistema.

Finalmente, uma vez estabelecidas regras para administração do banco, a equipe deverá auditar periodicamente o sistema para assegurar a aderência a tais regras. A carga, tempo de resposta e utilização do sistema deverá ser constantemente monitorada, prevendo-se reestruturação do banco ou mudanças nas regras de administração para corrigir desequilíbrios.

(7)

Os problemas a serem enfrentados pela equipe de administração para atingir os seus objetivos podem ser compreendidos considerando-se três cenários básicos para um banco de dados distribuído.

Se o BDD resultou da interligação de sistemas existentes então certamente aparecerão problemas devidos a: heterogeneidade do sistema global, introdução de padrões globais sem que seja comprometida a autonomia local, critérios de alocação de custos tendo em vista acessos locais e remotos, além do balanceamento do tempo de resposta de acessos locais e remotos.

Se o cenário admite a criação de novos bancos locais de forma semi-autônoma, aparecerão problemas relativos à: definição de regras e responsabilidades locais, descrição da semântica dos dados definidos localmente, grau de cooperação entre os núcleos locais, principalmente no que se refere à alocação de recursos para processamento de acessos remotos.

Finalmente, em um cenário onde o BDD foi criado pela distribuição em nós homogêneos de um sistema centralizado, haverá o problema fundamental de definir uma estratégia de distribuição que otimize o tempo de resposta global, sem penalizar demasiadamente grupos de usuários.

8. PROJETO DE BANCO DE DADOS DISTRIBUÍDO

Princípio Fundamental: Para o usuário, um sistema distribuído deve parecer exatamente como um sistema não distribuído. A afirmação anterior nos conduz a certas regras ou objetivos secundários, que passaremos a listá-los:

a) Autonomia Local – todas as operações em determinado site são controlados por este site; nenhum site X deve depender de outro site Y para uma operação bem-sucedida;

b) Não dependência de um site central – todos os sites devem ser tratados como iguais;

c) Operação Contínua – garantir o funcionamento ininterrupto do sistema (paradas não planejadas x paradas planejadas);

d) Independência de Localização – transparência de localização física;

e) Independência de Fragmentação – fragmentos de uma determinada relação, estão armazenados em sites diferentes;

(8)

f) Independência de Replicação – determinado fragmento, pode ser representada por muitas cópias ou réplicas distintas, armazenadas em sites distintos;

g) Processamento de Consultas Distribuído – banco relacional x não relacional;

h) Gerenciamento de Transações Distribuído – recuperação (transação atômica) e concorrência (bloqueio);

i) Independência do Hardware – executar o mesmo SGBD em diferentes plataformas de hardware, tendo todas como parceiras em um sistema distribuído;

j) Independência do Sistema Operacional – tipos e versões de SO participando do mesmo sistema distribuído;

k) Independência da Rede – diversas redes de comunicações distintas;

l) Independência do SGBD – É necessário apenas que as instâncias do SGBD em sites diferentes admitam todas a mesma interface

9. APLICAÇÂO

Objetivo: Instalar alguns sistemas de gerenciamento de banco de dados distribuídos (SGBDD) e configurar a distribuição de dados através deles, além disso, foi implementado um sistema utilizando Banco de dados Distribuídos (BDD) que pudesse suprir as necessidades de uma rede de farmácias, tal como a procura por um determinado produto em todas as unidades dispersas pela cidade.

9.1. Vantagens consideradas para esta aplicação

a) Um SGBD distribuído fragmenta o banco de dados, permitindo que os dados fiquem armazenados próximos aos seus pontos de utilização, reduzindo o atraso de acesso remoto, além disso, cada site manipula apenas uma parte do banco de dados, tornando a administração deste mais simples.

b) A possibilidade de autonomia local é possível devido ao fato de que os dados são replicados em vários nós, assim quando uma transação que necessitar de um particular item de dado poderá encontrá-lo em qualquer outro

(9)

nós. Com isso, a falha de um nó não necessariamente implica na parada de funcionamento de um sistema, aumentando a confiabilidade e disponibilidade do sistema.

9.2. Implementação do sistema

O sistema desenvolvido permite ao usuário cadastrar produtos, fabricantes, estoque, classificação dos produtos, realizar vendas, atualizar os dados do estoque local ou até mesmo os de outras filiais, e realizar um busca por determinados produtos apenas no estoque local da filial ou também em outras filiais.

Para a implementação do sistema foi utilizado banco de dados distribuídos, assim, cada filial de uma rede de farmácia controla um banco de dados local e, além disso, os bancos de dados de todas as filiais estão interligados logicamente, que permite que uma filial tenha acesso a todos os dados das demais filiais.

Como cada filial controla seu banco de dados, consultas e atualizações se tornam mais rápidas, pois diferentemente de um sistema centralizado não é preciso acessar remotamente o banco de dados para realizar as operações necessárias.

9.3. Implementação do sistema banco de dados distribuído

Para implementar os sistemas de replicação foram utilizados dois computadores, o COP-LC39 e o COP-LC40 do Departamento de Computação da Universidade Estadual de Londrina, cada um contendo dois bancos de dados, em um total de quatro bancos de dados, sendo que cada um deles representavam uma unidade de uma rede de farmácia: Matriz, FilialA, FilialB e FilialC. Os bancos de dados que representavam a Matriz e a FilialA estavam localizados no servidor COP-LC39 e no COP-LC40 estavam os que representavam a FilialB e a FilialC.

10. CONCLUSÃO

Um banco de dados distribuído é um software que gerência os mecanismos de acesso com uma coleção de múltiplas bases de dados

(10)

inter-relacionadas através de uma rede de comunicação, com a preocupação de tornar todo seu processamento transparente para o usuário, ele oferece maior agilidade, maior capacidade de processamento e menor possibilidade de erros já que seus nós são independentes, solucionando dificuldades já atribuídas aos tempos modernos, onde a quantidade de informações para ser armazenada cresce expressivamente a necessidade de processamento de dados é cada vez maior. Trabalhos estão sendo feitos para que haja um melhoramento da qualidade e segurança deste serviço e o mesmo vem sendo aperfeiçoado diariamente.

9. BIBLIOGRAFIA

CASANOVA, Marco Antônio ; MOURA, Arnaldo Vieira, Princípios de Sistemas de Gerência de Banco de Dados Distribuídos, Rio de Janeiro : Campus, 1985.

DATE, C. J., Introdução a Sistemas de Bancos de Dados, Rio de Janeiro: Elsevier, 2003.

KORTH, Henry F., Sistema de Banco de Dados, tradução [da 2ª ed. ver] Maurício Heihachiro Galvan Abe. São Paulo : Makron Books, 1995.

MELO, Rene Eduardo Mesquita; FORNARI, Miguel Rodrigues. Desenvolvimento de Sistema de Distribuição de Bases de Dados Heterogêneas. IV Congresso Brasileiro de Computação – CBComp 2004.

ÖZSU, M. Tamer, VALDURIEZ, Patrick. Princípios de Sistemas de Banco de Dados Distribuídos. Tradução da 2ª ed., Rio de Janeiro:Campus, 2001.

REIS, Luis. O Arquivo e Arquivística Evolução Histórica. Portugal, 2006.

SHIBAYAMA, Eric Teruo. Aplicações em Banco de dados distribuídos. Londrina, 2004.

WIKIPEDIA.ORG. http://pt.wikipedia.org/wiki/Banco_de_dados_distribu %C3%ADdos. Acessado em 08 de dezembro de 2009.

Referências

Documentos relacionados

Conclui-se que o conhecimento do desenvolvimento ponderal evidenciou um padrão racial, que o perímetro torácico está altamente associado ao peso corporal e que equações de

Este presente artigo é o resultado de um estudo de caso que buscou apresentar o surgimento da atividade turística dentro da favela de Paraisópolis, uma

seria usada para o parafuso M6, foram utilizadas as equações 14 e 15, referentes aos parafusos de 8 mm de diâmetro e folga entre parafuso e furo de 0,5 mm, que definem,

No entanto, os resultados apresentados pelo --linalol não foram semelhantes, em parte, aos do linalol racêmico, uma vez que este apresenta um efeito vasorelaxante em anéis de

Resumo: O presente trabalho corresponde a um estudo empírico descritivo e exploratório que aborda comportamentos e falas de atores políticos que participaram do processo legislativo

As micotoxinas são compostos químicos tóxicos provenientes do metabolismo secundário de fungos filamentosos e conhecidas pelos danos causados à saúde humana e

onde Qe são as forças de origem externa ao sistema e Qc são as forças de reação. Estas equações não podem ser utilizadas diretamente, pois as forças de

A não uniformização quanto ao método de referência pode promover diferenças entre as curvas de calibração geradas por laboratórios de dosimetria citogenética, que podem