Núcleo gerenciador de objetos compatibilizando eficiência e flexibilidade - Valêncio, Carlos Roberto (2000)
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.