Introdução - Computação UFCG

Propaganda
OODBMSs
Object-Oriented Multidabase Systems
Eduardo Manuel de Freitas Jorge
Campina Grande,
Março de 2000
1
1 INTRODUÇÃO
A evolução dos computadores vem criando muitas expectativas entre os usuários de
sistemas de informação. Com os recursos atuais, os usuários esperam que o computador
possa acessar informações de todo o mundo através de simples comandos. Para atender
tais expectativas, os engenheiros e cientistas da computação vêem pesquisando algumas
soluções para esse problema. Um dos principais direcionamentos para a solução desse
problema está nos OOMDBSs (Object-Oriented Multidatabase Systems).
Os sistemas “Multidatabase” (Federação de Banco de Dados ou heterogêneos Banco de
Dados distribuídos) permitem integrar o acesso a BDs (Banco de Dados) heterogêneos
pre-existentes, que estão num determinado sistema distribuído. Os sistemas
“Multidatabase” são projetados de baixo para cima através dos BDs constituintes, que
podem ter diferentes modelos de dados e diferentes implementações do mesmo modelo
de dados. Cada “node” participante, neste sistema, continua com o controle local das
fontes e do processamento dos dados. Assim, o termo federação é usado quando
controle e as estruturas globais são derivadas através do consentimento e colaboração
dos BDs locais.
Como vimos acima, uma das soluções para sistemas “Multidatabase” esta no
OOMDBSs que representa a confluência de várias tendências da tecnologia da ciência
da computação. Como a Orientação-Objeto nasce a possibilita de flexibilidade e
interfaces abstratas para os sistemas. Atualmente, a tecnologia OO está sendo usada em
vários domínios de problemas, sendo os sistemas Multimídia e os sistemas de dados
complexos os mais beneficiados. Sistemas “Multidatabase” devem prover uma interface
uniforme para o acesso a fontes de informações distribuídas. Os usuários através desse
sistema podem acessar informações que estão em fontes heterogêneas de forma
transparente e fazer consultas de maneira relativamente simples. Assim, a utilização da
Orientação-Objeto para sistemas “Multidatabase” possibilita prover os principais
requisitos desse tipo de sistema.
2
Nos anos 80 os trabalhos relativos aos sistemas “Multidatabase” se concentravam no
modelo relacional. A partir dos anos 90, com a popularização do modelo OrientadoObjetos de dados, os projetistas começaram a optar por essa tecnologia, pois o
paradigma da Orientação-Objeto captura a semântica de outros modelos de dados e
representa-os de modo a facilitar sua integração. A poderosa capacidade de abstração
dos sistemas Orientado-Objetos e, a capacidade para adicionar naturalmente novas
funcionalidades para objetos apropriados fazem do Orientação-Objetos uma ferramenta
poderosa para criar interfaces para o usuário. Assim, OODBMSs é o ambiente que o
usuário deseja para acessar e manipular informações de fontes heterogêneas, pois possui
ferramentas poderosas para modelar e acessar fontes de dados heterogêneas e
distribuídas.
3
2 TENDÊNCIAS TECNOLOGICAS QUE PERMITIRAM O SURGIMENTO DE
OOMDBSs
Para que os cientistas da computação começassem a pensar em OODMBSs algumas
tecnologias ,que são usadas nesse sistema, antes tiveram que chegar num determinado
ponto de evolução. Além disso, a existência de ambientes heterogêneos em muitas
organizações criou a necessidade do desenvolvimento de uma solução para o problema
gerencia das fontes de dados heterogêneas. Abaixo são descritos de forma resumida as
tecnologias que permitiram o surgimento de sistemas OOMDBSs.
2.1 Redes
A sofisticação dos protocolos e dos Sistemas Operacionais permitiram a
interoperabilidade necessária para aplicações OOMDBSs. Conexões de “HightBandwith”, ”Low-Latency” (pequeno tempo de atraso fim a fim) permitem o
compartilhamento de grandes pedaços de informação, gerando assim mudanças
no que é processado local versus o que processado remotamente. Por exemplo,
sistemas multimídia que processam e disponibilizam imagens, vídeo, e voz
através da rede não poderiam existir sem as conexões “Hight-Bandwith”, pois os
tipos de dados requisitados estão armazenados em grande quantidade, e assim,
necessitam de um processamento especializado.
2.2 Processamento Distribuído
Processamento Distribuído permite a utilização efetiva de recursos globais.
Além disso, faz o balanceamento do processamento e armazenamento através do
sistema como um todo. Para a utilização desse recurso é necessário a
implantação de um “Middleware” que possibilite a facilidade na implementação
de chamadas remotas das funções contidas nas aplicações. Atualmente, o padrão
(CORBA) “Common Object Request Broker Architecture” vem sendo
4
considerado o padrão para o desenvolvimento de aplicações Clientes /
Servidores heterogêneas.
2.3 Banco de Dados
Sistemas Gerenciadores de Banco de Dados são responsáveis pela representação
e armazenamento de grande quantidade de informações. Os SGBDSs provêem
diversas funcionalidades como: proteger a integridade do dados, manutenção
fácil dos dados, linguagem de consulta, etc.
Os Sistemas de Banco de Dados no passado eram basicamente hierárquicos,
sendo que, até hoje alguns produtos ainda usam modelos de dados hierárquicos,
por exemplo IMS da IBM. Este modelo de dados trabalhava bem com alguns
tipos de dados, mas era limitado em relação a relacionamentos complexos. Para
suprir as deficiências do modelo hierárquico surge o modelo relacional. O
modelo relacional baseou-se no artigo escrito por Ted Codd em 1970, que
propunha que sistemas de Banco de Dados deveriam apresentar a visão dos
dados organizados em tabelas, ou seja, relações. Juntamente com este modelo
nasceu a mais importante linguagem de consulta chamada SQL (“Structured
Query Language”) que tem na sua essência a equivalência com a álgebra
relacional.
2.3 Sistemas Heterogêneos
A principal complicação dos sistemas distribuídos é que as redes podem
conectar qualquer sistema individual que usa diferentes hardwares, Sistemas
Operacionais e aplicações. Entre essas heterogeneidades deve ser destacada os
sistemas Gerenciadores de Banco de Dados. No contexto atual, muitas
organizações possuem
diversas fontes de dados heterogêneas, onde alguns
dados permanecem no mainframe e outros em servidores de BDs. Esse ambiente
5
de BDs heterogêneos conduziram muitas organizações a terem “Ilhas de
Informações”.
2.4 Sistemas Orientado-Objetos
O termo Orientação Objeto se aplica à vários tipos de sistema e metodologias.
Genericamente representa o modo particular para modelar coisas do mundo real
como entidades distintas chamadas de objetos. Classes, objetos, atributos,
métodos, herança, agregação, polimorfismo, etc são elementos da Orientação
Objeto que permitem representar complexos modelos de dados de maneira
natural para projetistas e usuários de sistemas.
6
3 REQUISITOS DOS USUÁRIOS QUE LEVAM A NECESSIDADE DE OOMBSs
Em ambientes de sistemas heterogêneos os usuários têm muitas dificuldades em
consultar e manipular informações que estão dispersas nos banco de dados. Nas seções
abaixo serão apresentados os principais requisitos de sistema que devem ser atendidos
com sistemas OOMDBSs.
3.1 Acesso Transparente
Sistemas distribuídos oferecem a possibilidade do usuário acessar e processar
diversas fontes de dados. Embora esses sistemas provenham essas facilidades os
usuários mesmo assim tem dificuldades para utilizar esses tipos de sistemas.
Sistemas distribuídos são mais intuitivos e simples para o usuário se o sistema
como um todo parece ser um único sistema local e todos os procedimentos
remotos são transparentes para o usuário. Para apresentar a imagem de um único
sistema, o sistema distribuído deve possuir um serviço de nomes, tradutor de
funções/dados, um navegador global e ser confiável.
3.2 Complexidade
Os fatores que aumentam a complexidade dos sistemas distribuídos são a
inclusão de novos “nodes”, funções sofisticadas, e múltiplo acesso/representação
de modelos.
3.3 Escalabilidade
Sistemas Distribuídos devem ser extensíveis e adaptáveis ao crescimento do
tamanho do sistema. Uma maneira de conseguir escalabilidade é adicionando
novos “nodes” ao sistema distribuído. Os “nodes” tem um certo nível de
7
performance que deve ser mantido quando este for incorporado ao sistema
distribuído.
3.4 Semântica para interfaces de usuários
O problema para definir uma semântica de interface é que para acessar
informações globais os usuários têm que geralmente utilizar um modelo de
dados e uma linguagem de acesso particulares. Os usuários gostariam de usar o
sistema global como usam o sistema local onde eles estão familiarizados.
8
4 DEFINIÇÃO DE SISTEMAS “MULTIDATABASE”
Sistema “Multidatabase” (também conhecidos com federação de Banco de Dado) é um
sistema distribuído que prove uma interface global para pre-existentes Banco de Dados
locais heterogêneos. O Sistema “Multidatabase” executa automaticamente as
transformações na linguagem e modelo de dados entre as consultas globais e os Bancos
de Dados locais. A característica chave de “Multidatabase” é que os Bancos de Dados
locais continuam autônomos. Eles mantém total controle sobre os dados e
processamento local. A figura 4 mostra a arquitetura genérica para “Multidatabase”.
Global DBMS
...
Processamento
de Consulta Global
Controle Global de
Concorrência
Esquema Global(parcial)
ou
Diretório Global
Representação local dos
Dados no Modelo Local
Traduzir Código
l
Local DBMS
Esquema Local
Dados Locais
...
Esquema Global(parcial)
ou
Diretório Global
Representação local dos
Dados no Modelo Local
Traduzir Código
...
Local DBMS
Esquema Local
Dados Locais
Figura 4 Arquitetura genérica para “Multidatabase”
9
.
Abaixo algumas das principais funcionalidades de sistemas “Multidatabase”:

Integração de esquemas
Funcionalidade que permite a visão lógica dos dados integrada aos dados
distribuídos.

Gerência de consultas globais
Está relacionada com a análise, otimização e execução das consultas, que
referenciam dados distribuídos.

Gerência de transações globais
Trata das propriedades de atomicidade, confiabilidade, isolamento e
durabilidade das transações em um ambiente distribuído.

Funções Administrativas
Incluem autorização, autenticação, definição de restrições de integridade
e gerência do dicionário de dados.

Heterogeneidade
Incluem diferenças de Hardware, Sistema Operacional, canais de
comunicação, sistema de gerência de dados e modelos de dados.
10
Para o local Banco de Dados, o “Multidatabase” aparece como qualquer outro usuário
do sistema. Não é necessário especificar especiais interfaces para o “Multidatabase”
usar os recursos locais.
Na figura 4.1 será explicado como é processada a consulta global.
Interface global de Usuário Analisador Gramatical de
Consulta Global
Aplicar Consulta Global
ao Esquema Global
Quebrar a Consulta Global
em Sub-Consultas
Rotear as Sub-Consultas
para Local “Node”
Aplicar Sub-Consulta
para o Esquema Local
(Modelo Global)
Aplicar Sub-Consulta
para o Esquema Local
(Modelo Global)
Traduzir Sub-Consulta
para Modelo Local
Traduzir Sub-Consulta
para Modelo Local
Aplicar Sub-Consulta
para Local DBMS
Aplicar Sub-Consulta
para Local DBMS
...
Figura 4.1 Processo de consulta em “Multidatabase”
11
5 INTEGRAÇÃO DE SISTEMAS DE BANCO DE DADOS
Atualmente, nas organizações, a informação geralmente está dispersa em diversas fontes
de dados, o que dificulta o seu acesso integrado. Na década de 70, muitos sistemas
foram desenvolvidos utilizando fontes de dados contidas no mainframe. Num segundo
momento conhecido como dowsizing, as aplicações começaram a ser descentralizadas e
a utilizar Banco de Dados que rodavam em máquinas PC. Apesar das tentativas de
desativar o mainframe, na maioria das empresas, isso não foi possível, pois o número de
sistemas legados era muito grande. O que se retrata, atualmente, nas organizações são
ambientes com fontes de dados heterogêneos, onde alguns dados permanecem no
mainframe e outros em servidores de Banco de Dados. Esse ambientes de sistemas
heterogêneos de Banco de Dados conduziram as organizações a terem “ilhas de
informações” .
Para integrar diversas fontes de dados heterogêneas o modelo de dados deve capturar o
significado de toda a informação nos sistemas de Banco de Dados componente. Assim,
para representar um modelo heterogêneo o esquema global tem que ter um poder de
representação que consiga representar as características específicas dos diversos
modelos
Desde que os sistemas de banco de dados componentes são projetados e implementados
independentemente, é normal que existam incompatibilidade entre os dados. O
importante é identificar as incompatibilidades para fazer algum determinado tratamento.
Abaixo são citados alguns tipos de incompatibilidades que são comuns em sistemas
“Multidatabase”.

Mesmo atributo é armazenado em diferentes unidades de medida.

Nível de abstração (diferentes níveis de detalhes).

Nome (atributos diferentes com mesmo nome ou atributos iguais com nomes
diferentes).

Tipo, Tamanho etc.
12
Download