Banco de Dados Distribuídos



Documentos relacionados
Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

CAPÍTULO 2. BANCOS DE DADOS DISTRIBUÍDOS

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Disciplina de Banco de Dados Introdução

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. DCC-IME-USP

SISTEMA GERENCIADOR DE BANCO DE DADOS

Introdução ao Modelos de Duas Camadas Cliente Servidor

SISTEMAS DISTRIBUÍDOS

Banco de Dados Orientado a Objetos

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Fundamentos de Banco de Dados

ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE LIBERAÇÃO

Conceitos de Banco de Dados

BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015

Projeto de Banco de Dados Distribuído Proj o e j to t o de d B a B nc n o o d e d Da D do d s o D i D str t ibu b í u do d s

Sistemas Distribuídos

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Processos Técnicos - Aulas 4 e 5

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

ISO 9001:2008. Alterações e Adições da nova versão

1 INTRODUÇÃO. 1.1 Motivação e Justificativa

Sistemas de Informações Gerenciais

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Sistemas de Informação I

Introdução à Banco de Dados. Definição

Prof.: Clayton Maciel Costa

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

ISO/IEC 12207: Gerência de Configuração

Desenvolvimento de um software de gerenciamento de projetos para utilização na Web

Importância da normalização para as Micro e Pequenas Empresas 1. Normas só são importantes para as grandes empresas...

Módulo 4: Gerenciamento de Dados

Gerenciamento de Problemas

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Gerenciamento de Incidentes

Arquitetura dos Sistemas de Informação Distribuídos

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

ITIL v3 - Operação de Serviço - Parte 1

Prof. Luiz Fernando. Unidade III ADMINISTRAÇÃO DE

EVOLUÇÃO DA MANUTENÇÃO

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

15/09/2015. Gestão e Governança de TI. Modelo de Governança em TI. A entrega de valor. A entrega de valor. A entrega de valor. A entrega de valor

Roteiro 2 Conceitos Gerais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Admistração de Redes de Computadores (ARC)

Características Carlos Ferraz

Teoria Geral da Administração II

Profa. Gislaine Stachissini. Unidade III GOVERNANÇA DE TI

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com

Introdução a Computação

ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE CONFIGURAÇÃO

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Entendendo como funciona o NAT

Introdução à Computação

Administração de Sistemas de Informação Gerenciais

PLANO DE ATUALIZAÇÃO E MANUTENÇÃO DE EQUIPAMENTOS

Sistemas Cliente-Servidor

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

CONSULTORIA E SERVIÇOS DE INFORMÁTICA

Fundamentos de Sistemas de Informação Sistemas de Informação

Gestão de Relacionamento com o Cliente CRM

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

Prof. Marcelo Machado Cunha

Profs. Deja e Andrei

Solitaire Interglobal

SIMULADO: Simulado 3 - ITIL Foundation v3-40 Perguntas em Português

GOVERNO DO ESTADO DO PARÁ MINISTÉRIO PÚBLICO DE CONTAS DOS MUNICÍPIOS DO ESTADO DO PARÁ MPCM CONCURSO PÚBLICO N.º 01/2015

Virtualização de Sistemas Operacionais

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

Arquitetura de Banco de Dados

2. Função Produção/Operação/Valor Adicionado

WSUS. Windows Server Update Services

NORMA TÉCNICA E PROCEDIMENTOS GERAIS PARA ADMINISTRAÇÃO DO BANCO DE DADOS CORPORATIVO

Infraestrutura: devo usar a nuvem? Prof. Artur Clayton Jovanelli

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados

Universidade Paulista

INTRODUÇÃO. Diferente de Bando de Dados

Transcrição:

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).

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.

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

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. a) SGBDD Homogêneo

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. a) Organização e Tarefas da Equipe de Administração

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. b) Problemas que Afetam a Administração

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 semiautô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;

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

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 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.