Uma Metodologia de Distribuição estendida para modelo
Relacional e Objeto-Relacional
Autor: Pablo Vieira Florentino <[email protected]>
Orientador (a): Marta Mattoso <[email protected]>
Co-Orientador (a): Fernanda Baião <[email protected]>
Programa de Engenharia de Sistemas e Computação, COPPE/UFRJ
Cidade Universitária, Centro de Tecnologia, Bloco H - Sala 319
Caixa Postal: 68511
CEP: 21945-970 Rio de Janeiro, RJ, Brasil
Resumo: O intuito deste trabalho é prover uma nova metodologia para distribuição de dados
como extensão a um modelo já existente e voltado ao nível conceitual na modelagem de
aplicações. Esta nova metodologia irá contemplar o modelo Relacional e Objeto-Relacional,
permitindo que a expressividade semântica de aplicações seja mantida. Entre as atividades
descritas, estão a utilização de um benchmark para avaliação, além da identificação e
definição de formas de mapeamento entre os modelos.
Palavras-Chave: Distribuição de Dados, Orientação a Objeto, Metodologia, modelo
Relacional, Objeto-Relacional
1. Introdução
Projetos de Distribuição de Base de Dados (PDBD) têm se mostrado cada vez mais
importantes no cenário atual de gerenciamento e armazenamento de dados. Com o advento da
Internet e a popularização das redes de computadores de maior alcance e velocidade, a
distribuição dos dados entre diversos sítios tornou-se cada vez mais importante para otimizar
o desempenho das aplicações. O suporte à distribuição mostrou-se uma característica
relevante, já evidenciada em muitos trabalhos como [4] e [5].
Um PDBD deve decidir sobre a fragmentação e alocação de bases de dados de acordo
com números estatísticos que informam, entre outras coisas, sobre a freqüência de acesso a
classes e atributos. Desta forma, é possível fragmentar e alocar os dados de forma adequada
por diferentes sítios e alcançar paralelismo, racionalizando o acesso aos dados e otimizando o
desempenho de aplicações com grande volume de dados.
No entanto, para chegarmos a um PDBD eficaz, faz-se necessária uma metodologia que
forneça ao desenvolvedor um conjunto de passos a serem seguidos no decorrer do processo de
fragmentação. Esta metodologia pode estar dividida em fases e deve garantir um
balanceamento vantajoso de acordo com os dados presentes no histograma das aplicações.
Neste ponto, é importante salientar que algoritmos que realizam a fragmentação vertical e/ou
horizontal de uma classe, freqüentemente propostos na literatura, não podem ser considerados
metodologias, mas sim, parte delas.
De acordo com Ozsu e Valduriez [2], existe uma carência de metodologias para PDBD.
Até onde foi pesquisado, o único trabalho a propor uma metodologia abrangendo os diversos
tipos possíveis de fragmentação é aquele apresentado por Baião [1], que se baseia no modelo
Orientado a Objeto (OO), gerando projetos de distribuição no nível conceitual. Entretanto,
muitos sistemas ainda são desenvolvidos seguindo os paradigmas Relacional e ObjetoRelacional (OR).
Diante deste cenário, percebe-se a inexistência de uma metodologia de distribuição de
bases de dados que contemple o modelo Relacional e OR. O objetivo deste trabalho é propor
uma metodologia de PDBD que contemple tais modelos, estendendo a proposta de Baião [1].
Esta escolha é feita devido ao fato de acreditar-se ser mais vantajoso realizar o projeto de
distribuição no nível conceitual e depois partir para o projeto de distribuição no nível lógico,
do que aplicar a fragmentação diretamente em tabelas. Desta forma, estar-se-ia mantendo a
semântica da aplicação com maior veracidade, ao tratar da distribuição já no nível conceitual.
Por fim, pretende-se chegar a uma conciliação de mapeamento entre a modelagem de
aplicações no nível semântico, segundo o paradigma da Orientação a Objeto, e a
implementação em SGBDs Relacionais e OR. Além disso, será possível avaliar o impacto
desta metodologia no modelo físico e comparar esta metodologia com o modelo de
distribuição proposto em [2], aplicada diretamente ao modelo físico dos dados. Pretende-se,
assim, ter uma comparação entre a distribuição aplicada ao modelo semântico e a distribuição
aplicada ao modelo físico.
O presente trabalho está organizado da seguinte forma: A segunda seção explana a
metodologia a ser proposta. A terceira seção cita as atividades planejadas para o
desenvolvimento do trabalho. A quarta seção descreve os resultados esperados.
2. Metodologia Proposta
Pretende-se apresentar uma metodologia de PDBD que una as vantagens da metodologia
proposta por Baião em [1], aplicada ao modelo Relacional e OR. Para isto está em
desenvolvimento uma metodologia de três fases. A primeira fase da metodologia proposta é a
aplicação da metodologia de Baião estendida. A segunda fase da metodologia é realizar o
mapeamento conceitual, ou para o modelo OR ou para o modelo Relacional, a depender do
caso. A última fase é responsável por aplicar o mapeamento distribuído, tanto para o OR
como para o Relacional.
A proposta de metodologia para Distribuição de Base de Dados do presente trabalho parte,
em sua primeira fase, como uma extensão daquela proposta em [1]. Nesta, modelos OO
(UML) de aplicações, ainda no nível conceitual, servem como entrada para a metodologia e
são analisados em função da freqüência de acesso de suas classes e respectivos atributos. Uma
classificação preliminar é feita no que se refere à cardinalidade de cada uma das classes
presente no modelo (cardinalidade pequena, média, grande). Após isto, baseando-se nas
freqüências das consultas que fazem acesso a estas classes, é definida uma lista de operações
que podem ser classificadas de três formas: Seleção, Projeção e Navegação. Baião [1] define
listas de classes candidatas à fragmentação vertical (FV) e horizontal primária (FHP), além de
definir, com base nos relacionamentos, uma lista de pares Dono-Membro. Esta última lista irá
determinar como a fragmentação horizontal derivada (FHD) deverá ser executada. A partir de
então, inicia-se a fase da fragmentação propriamente dita. Baião [1] utiliza uma extensão do
algoritmo proposto em [7] para gerar os fragmentos.
Para a segunda fase, são definidos dois caminhos que realizam o mapeamento conceitual
para o nível lógico tanto no modelo OR como no Relacional, atendendo algumas
especificidades. Para realizar o mapeamento de forma a otimizar a distribuição, alguns ajustes
e decisões precisam ser tomados, sendo a metodologia responsável por indicar e definir os
melhores caminhos neste sentido. Heurísticas voltadas para cada um dos modelos (Relacional
e OR) devem ser assumidas para tornar possível o mapeamento voltado ao PDBD. No caso de
mapeamento para o modelo OR, acredita-se fortemente que o mapeamento é trivial, podendo
ser feito de forma direta. No caso do modelo Relacional, é necessário atentar para as
características como herança, presentes na modelagem conceitual, que precisam ser mapeadas
no modelo lógico e físico. Entre as alternativas encontradas em [9] para realizar este
mapeamento, pode-se citar:
• utilizar simplesmente uma abordagem relacional,
• mapear múltiplas classes para uma única tabela, contendo vários atributos opcionais,
• efetuar o mapeamento um-para-um entre as classes e as tabelas.
Neste momento, torna-se fundamental decidir sobre a abordagem de mapeamento mais
adequada ao propósito da metodologia de distribuição.
Modelo
Conceitual
+
Histograma
Metodologia
Baião 2001
estendida
PDBD Conceitual
Relacional
Mapeamento Conceitual
+
Mapeamento Distribuído
PDBD Lógico Rel.
OR
Mapeamento Conceitual
+
Mapeamento Distribuído
PDBD Lógico OR
Fig. 1 – Fluxo das informações dentro da metodologia proposta
Na terceira fase, é realizado o mapeamento distribuído, onde ajustes são feitos
especificamente sobre as funções de fragmentação aplicados sobres tabelas. Nesta fase,
ajustes sobre os fragmentos definidos no nível conceitual são aplicados. Um exemplo de
ajuste a ser citado é aquele relativo a FHD. Assim, com os ajustes (que viriam a ser extensões
para o modelo original) e as novas heurísticas, estar-se-ia partindo para a definição de uma
nova metodologia, voltada para o modelo Relacional e OR.
3. Atividades
3.1.
Avaliação da Metodologia de Baião 2001 [1]
Como primeira atividade, tem-se a consolidação do conhecimento e uso da metodologia
proposta em [1], aplicando a mesma sobre uma modelagem OO de um benchmark de
conhecimento geral da comunidade de Banco de Dados: BUCKY [3]. Este benchmark é
voltado para a avaliação de SGBDs objetos-relacionais e serão utilizados o seu modelo UML
conjuntamente com um subconjunto das consultas consideradas mais relevantes para as
aplicações definidas para os experimentos.
Nesta tarefa foram identificadas e formalizadas extensões para a metodologia apresentada
em [1]. Entre as possíveis extensões identificadas, pode-se citar a definição de um novo tipo
de operação que trate dos casos de atualizações dos dados. Operações de atualização podem
ter desempenhos diferentes, pois podem implicar na execução de procedimentos e tarefas
internas ao sistema como: triggers, log, restrições de integridade. Outras extensões sugeridas
são: a) fornecer um tratamento diferenciado para consultas muito freqüentes que fazem acesso
exclusivo a somente uma tupla (predicados que referem-se a comparações exatas, utilizando
os operadores = ou ≠), o que poderia vir a gerar uma fragmentação desbalanceada, sendo uma
possível solução adotar fragmentação circular para este caso; b) no caso de consultas que
realizam projeção exclusivamente sobre um campo, considerar este fato como um indicativo
de um novo fragmento à parte: c) definir uma nova fórmula para agrupar as classes quanto à
cardinalidade.
3.2.
Proposta de Metodologia para PDBD OO
Relacional
Esta atividade visa o desenvolvimento da Proposta de Metodologia, considerando as
extensões identificadas e seguindo as três fases apresentadas na seção 2. Os pontos de
diferença entre os modelos são analisados a fim de definir a melhor forma de mapeamento.
Nesta atividade, são desenvolvidas as duas fases propostas para o mapeamento: Conceitual e
Distribuído. Os novos procedimentos, heurísticas e ajustes, referentes às fases de
mapeamento, são aqui pesquisados e definidos, compondo a nova metodologia.
Como já mencionado, para o modelo OR, o mapeamento sugere uma abordagem
praticamente direta. No caso do modelo Relacional, são investigadas as estratégias de
mapeamento entre o modelo OO e o Relacional, como as apresentadas em [9], sendo
escolhida aquela que mais beneficie o PDBD.
3.3.
Avaliação da Metodologia Proposta
Após a avaliação da metodologia apresentada em [1] e a proposta de uma metodologia
OO Relacional (OR), faz-se necessária uma avaliação qualitativa do PDBD resultante.
Neste ponto, são analisados alguns aspectos como o número de fragmentos gerados e
balanceamento de carga dos dados.
Uma segunda avaliação a ser feita seria a comparação frente a um modelo de distribuição
previamente definido, consolidado e comumente adotado para a geração de PDBD, como o
definido em [2]. Assim, seria possível gerar um segundo projeto, seguindo uma idéia já
conhecida, e realizar uma comparação com o modelo gerado a partir da metodologia proposta
no presente trabalho. O próximo passo é aplicar algoritmos de FHP, FHD e FV, segundo o
algoritmo de distribuição, proposto em [2].
Com o objetivo de assegurar os resultados obtidos, uma terceira atividade é aplicar a
metodologia proposta em um sistema que esteja em pleno funcionamento e produção. Será
definido um modelo da aplicação e um modelo distribuído será gerado, levando-se em conta
as consultas mais freqüentes com base nas estatísticas levantadas durante o funcionamento
diário da aplicação.
4. Resultados Esperados
Espera-se conseguir identificar e propor soluções para alguns pontos deficientes dos
modelos de distribuição existentes. Entre estes, pode-se citar que, no nível lógico,
relacionamentos bi-direcionais entre tabelas podem vir a ser analisados somente em uma das
direções ao passo que, no nível semântico, tais relacionamentos são analisados em ambas as
direções, escolhendo assim o caminho do relacionamento que tem o maior valor de afinidade
dentro da metodologia em questão. Assim, uma melhor distribuição pode ser gerada.
Outros pontos de divergência para o mapeamento entre os modelos a serem avaliados e
que também se pretende contemplar dizem respeito a : atributos implícitos existentes no
modelo OO no nível semântico (no modelo Relacional, os atributos são todos explicitados, o
que pode vir a causar diferentes fragmentações); chaves candidatas que, no modelo
Relacional, estão relacionadas com o domínio da aplicação, no modelo OO usam OIDs
artificiais, sem valor semântico para a aplicação; utilização de Sets e Bags no modelo OO para
representar relacionamentos N:M, versus a criação tabelas artificiais no modelo Relacional,
sem valor semântico para a aplicação.
Como resultados finais, espera-se conseguir adicionar as extensões propostas no presente
trabalho, entre outras, à metodologia que serve como ponto de partida, e avaliar a eficiência
da metodologia num ambiente misto de modelagem, aproveitando a expressividade do
modelo OO. Será, assim, avaliado o projeto de distribuição gerado a partir do modelo
semântico e como o mesmo é absorvido pelo modelo Relacional ou OR e os produtos que se
baseiam nestes.
5. Referências Bibliográficas
[1] Baião, F., A Methodology and Algorithms for the Design of Distributed Databases using Theory
Revision , Tese de Doutorado, COPPE/UFRJ, Rio de Janeiro, Dezembro de 2001
[2] Özsu, M., Valduriez, P., Principles of Distributed Database Systems, 2ª edição, Prentice-Hall,
New Jersey,EUA, 1999
[3] Carey, M., DeWitt, D., Naughton, J., Asgarian, M., Brown, P., Gehrke, J., Shah, D., The BUCKY
Object-Relational Benchmark, SIGMOD Conferecence, Arizona, EUA, 1997
[4] Atkinson, M., Bancilhon, F., DeWitt, D., Dittrich, K., Maier, D., Zdonik, S., The Object-Oriented
Database System Manifesto, International Conference on Deductive and Object-Oriented
Databases, Kyoto, Japão, 1989.
[5] Stonebraker, M., Rowe, L., Lindsay, B., Gray, J., Carey, M., Brodie, M., Bernstein, Ph., Beech,
D., Third-Generation Database System Manifesto, SIGMOD, Setembro, 1990
[6] Stonebraker, M., Moore, D., Object-Relational DBMSs: The Next Great Wave, Editora
Morgan Kaufmann, 1995
[7] Navathe, S., Ceri, S., Wiederhold, G., Dou, J., “Vertical Partitioning Algorithms for Database
Design”, ACM Trans. Database Systems, 1984
[8] Navathe, S., Ra, M., “Vertical Partitioning for Database Design: A Graphical Algorithm”. In
Proceedings of the ACM SIGMOD, Portland, EUA, 1989
[9] Ambler, S., “The Object Primer”, 2ª edição, Cambridge University Press, Nova York, EUA, 2001
Download

Uma Metodologia de Distribuição estendida para modelo