• Nenhum resultado encontrado

Uma Metodologia de Distribuição estendida para modelo Relacional e Objeto-Relacional

N/A
N/A
Protected

Academic year: 2021

Share "Uma Metodologia de Distribuição estendida para modelo Relacional e Objeto-Relacional"

Copied!
5
0
0

Texto

(1)

Uma Metodologia de Distribuição estendida para modelo

Relacional e Objeto-Relacional

Autor: Pablo Vieira Florentino <pablovf@cos.ufrj.br> Orientador (a): Marta Mattoso <marta@cos.ufrj.br> Co-Orientador (a): Fernanda Baião <baiao@cos.ufrj.br>

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

(2)

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 Objeto-Relacional (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

(3)

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.

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

Relacional OR Modelo Conceitual + Histograma PDBD Conceitual

PDBD Lógico Rel. PDBD Lógico OR Metodologia Baião 2001 estendida Mapeamento Conceitual + Mapeamento Distribuído Mapeamento Conceitual + Mapeamento Distribuído

(4)

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á

(5)

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

Referências

Documentos relacionados

Costa (2001) aduz que o Balanced Scorecard pode ser sumariado como um relatório único, contendo medidas de desempenho financeiro e não- financeiro nas quatro perspectivas de

Assim sendo, a. tendência assumida pela pós - graduação em co- municação nos anos 60 contribuiu muito menos para melhorar e.. Ora, a comunicação de massa , após a Segunda Guerra

As resistências desses grupos se encontram não apenas na performatividade de seus corpos ao ocuparem as ruas e se manifestarem, mas na articulação micropolítica com outros

Para Piaget, a forma de raciocinar e de aprender da criança passa por estágios. Por volta dos dois anos, ela evolui do estágio sensório motor, em que a ação envolve os

No código abaixo, foi atribuída a string “power” à variável do tipo string my_probe, que será usada como sonda para busca na string atribuída à variável my_string.. O

Para analisar as Componentes de Gestão foram utilizadas questões referentes à forma como o visitante considera as condições da ilha no momento da realização do

Outro aspecto a ser observado é que, apesar da maioria das enfermeiras referirem ter aprendido e executado as fases do processo na graduação, as dificuldades na prática

c) Fomos convidados pelo seu filho. e) As famílias analfabetas não os compram. f) Não lhe vai acontecer nada. g) Eu bebê-lo-ei na escola.. a) Eu vou ler “Os Lusíadas”, embora