Núcleo gerenciador de objetos compatibilizando eficiência e flexibilidade

A tecnologia de construção de Sistemas de Gerenciamento de Base de Dados tradicionais, em particular dos que suportam o Modelo Relacional, tem atendido às exigências das aplicações na área de negócios ao longo dos anos. No entanto, aplicações mais complexas, tais como projetos de Engenharia e manufa...

Full description

Bibliographic Details
Main Author: Valêncio, Carlos Roberto
Other Authors: Traina Junior, Caetano
Format: Others
Language:pt
Published: Biblioteca Digitais de Teses e Dissertações da USP 2000
Subjects:
Online Access:http://www.teses.usp.br/teses/disponiveis/76/76132/tde-08042014-120347/
Description
Summary:A tecnologia de construção de Sistemas de Gerenciamento de Base de Dados tradicionais, em particular dos que suportam o Modelo Relacional, tem atendido às exigências das aplicações na área de negócios ao longo dos anos. No entanto, aplicações mais complexas, tais como projetos de Engenharia e manufatura (CAD, CAM e CIM1), experimentos científicos, suporte à Medicina, telecomunicações, sistemas de informação geográfica e sistemas multimídia, têm exigido recursos mais sofisticados, para os quais os atuais sistemas gerenciadores de base de dados não foram concebidos e, portanto, têm encontrado dificuldades em atender. Com o objetivo de disponibilizar novas tecnologias para o gerenciamento de dados não convencionais, esse trabalho descreve um Núcleo Gerenciador de Objetos que oferece um conjunto de recursos para suporte flexível e eficiente às atividades de gerenciamento de dados. Esse gerenciador é apresentado no contexto de um modelo de dados orientado a objetos, porém a maioria dos conceitos e soluções apresentadas podem ser aproveitadas em outros tipos de gerenciadores de dados, independentemente do modelo de dados suportado. Em particular, o núcleo pode ser utilizado tanto para a implementação de um gerenciador de dados orientados a objetos quanto para um gerenciador relacional. O núcleo prevê também sua utilização como gerenciadores de dados que suportem a manipulação de dados fracamente estruturados (ou semi-estruturados) e como gerenciador de documentos multimídia em aplicações centradas na Web. A implementação do Núcleo Gerenciador de Objetos foi executada de maneira modular numa arquitetura em camadas, que delimitam a implementação das funcionalidades oferecidas. Apesar da forte integração entre as diversas camadas, necessária para a operação eficiente dos gerenciadores de dados, essa arquitetura provê uma definição precisa dos diversos módulos, permitindo que mais de uma alternativa de implementação possa existir para cada módulo, tornando o sistema resultante altamente configurável. Dentre os principais tópicos para os quais esse trabalho apresenta contribuições inovadoras encontram-se: o gerenciamento de identificadores de objetos (Oids); gerenciamento de transação e controle de concorrência baseado na semântica da aplicação; otimização de acessos ao disco para execução de operações de modificação de registros dentro de transações; uso de estruturas de tuplas e listas concorrentemente, para agilizar o acesso e a definição dos atributos de objetos; e a manutenção de esquemas e dados integrados numa mesma estrutura. === The technologies employed to build the current generation of Database Management Systems - DBMS, including those based on the Relational Model have been enough to support the needs of traditional business application. However, more demanding applications, like computer-aided design and manufacturing (CAD, CAM and CIM), scientific data retrieval and analysis, computer aided medical systems, telecommunications, geographical information systems and multimedia systems yet have not been adequately supported. The objective of this work is to develop new technologies to build DBMSs that support those non-conventional applications. To this intend, we implemented an object manager kernel, incorporating a representative set of tools able to provide a flexible and efficient support for key DBMSs operations. The kernel is described based on an object-oriented manager. However almost every new techniques proposed can be used together with data managers supporting other data models. In particular, we show that this kernel can be used to build both Object-oriented and Relational DBMSs. The kernel also supports the construction of DBMSs that maintain loosely-structured data (or semi-structured data), providing a good starting point to build web-based applications to handle multimedia documents. The kernel was implemented in a modular, multi-level architecture. Each module provides a well-defined service, and has a well defined interface, so it is possible to have more than one implementation for each module, enabling the comparison or tuning of the kernel for each specific situations. Nonetheless, the structure enforces a tight module integration, enabling the efficient execution of the resulting DBMS. The main contributions of this work include new techniques to improve the following aspects of database managers: Object Identifier management - OIds; transaction and concurrency control based on the application data semantic; disk accesses optimization to manage page shadowing during transaction execution; use of attribute tuples and lists to define structures; and integrated schema and data storage into a common structure.