A multi-level architecture for distributed object bases
Introduction
The amount of data that is collected and stored in databases is steadily growing. In many cases the structure of these data is not adequately reflected in the database schema and query languages. E.g. many databases containing important biological data are organised more or less as flat files. In addition, the centralisation of data in a big central database becomes more and more a handicap for efficient data processing. As data arises at various locations and will be used at various other locations as well, the need for data distribution increases.
As to the structure of the data, the research in the last decade has investigated complex values (i.e. data constructed by various type constructors) and references/links between data – which in fact lead to infinite, yet finitely representable structures. The object oriented data model (OODM) from [1] allows these different aspects to be combined. Starting from an arbitrary underlying type system a schema is defined as a set of classes, each of which combines complex values and references. Thus, the theory of that data model can be tailored according to the underlying type system. This has been exploited in [2] to define a generic query algebra.
Thus, in order to satisfy the identified needs it is a natural idea to develop a distributed database system based on this OODM. The first problem that has to be addressed is the distribution of the data. The fragmentation and allocation of OODM schemata have recently been addressed in [3], [4], [5]. The result of fragmentation and allocation will be still an OODM schema, but each class will be allocated to exactly one node – or in the case of replication several nodes – of a network. As a consequence the global objects corresponding to the original schema would be represented by several local objects for the fragmented schema.
However, the structure of local objects is still complex, whereas efficient storage and retrieval would require to provide just records stored on pages. This implies to further decompose objects as we move closer to the physical storage, so that we obtain multiple levels of objects.
The existence of multiple levels for objects suggests to exploit the concept of multi-level transactions [6], [7], [8], [9] for the database functionality. Multi-level transaction schedulers exploit the fact that many low-level conflicts become irrelevant, if higher-level operation semantics are taken into account. The introduced system uses the hybrid multi-level concurrency control protocol FoPL [9], [10] as well as the more familiar two-phase locking protocol [8], [10]. Both are combined with a multi-level recovery system [9], [11] based on the ideas from the ARIES system [12].
The multiple object levels are also reflected in the operational system, which exploits the ideas of stack-based abstract machines [13], [14] to implement database functionality, and in particular, to integrate the processing of queries and transactions. However, these machines have to be extended in a way that they can communicate with each other including communication via remote object calls, run in parallel, are coupled with the transaction manager and the persistent object store, and reflect the operations on higher levels of the multi-level system.
Two more problems have to be addressed. The first one concerns the transformation of high-level queries and operations to the level of these stack-based machines. For this we exploit linguistic reflection [15], [16]. We provide a macro language, in which the high-level constructs in transactions such as generic update operations and the high-level algebra constructs for querying can be formulated. In [17] it has been shown how linguistic reflection can be used to expand such macros for the case of query algebra constructs. In [18] linguistic reflection has been applied to expand macros for generic update operations.
The second problem concerns transparency at the user interface. We follow the idea to provide dialogue interfaces based on dialogue objects, which are defined by extended views [19]. These dialogue objects can be created anywhere in the network. Starting an operation associated with such a dialogue object would create a master agent at the user’s node and start executing a top-level transaction.
Section 2 provides a brief overview of discussions and research activities, developments on the subject of object-oriented database systems, and our intended contribution. In Section 3 we give a more detailed overview of the architecture of our proposed system. Section 4 then briefly describes the data model, the user interface integration, fragmentation and allocation, and linguistic reflection. In Section 5 we describe more details of the operational architecture, which is comprised of components that execute database requests efficiently, support distribution, parallelism, concurrency, persistence, etc. In Section 6.1 we briefly discuss how data is cached in main memory. Section 7 briefly addresses the realisation of a corresponding prototype system. Finally, Section 8 concludes our work.
Section snippets
Object-oriented databases – A brief history
Object-oriented database systems (OODBSs) first appeared in the 1980s as both, prototype systems and commercial products. Prototype systems developed in the 1980s and early 1990s include Avance, ENCORE/ObServer, EXODUS/EXTRA, IRIS, KIWI, ORION, OZ+, and Starburst. Commercial products released in that period include GemStone, O2, ObjectStore, ONTOS, ORION-2, Statice, and VERSANT. Initially, OODBSs have been regarded as the solution to the discovery of the limitations of relational database
Architecture overview
In this section we provide an overview of the architecture of our distributed object-oriented database system (DOODBS). Fig. 1 illustrates this architecture. As virtually all modern database systems the proposed system has a layered internal architecture. Each layer has an interface that provides services invoked by the layer above it to implement their higher-level services. The distributed object-oriented database system consists of a collection of OODBS nodes (or OODBS instances) that
The data model and its interfaces
In this section we briefly address concepts related to the conceptual database level and means of database access. Database access is provided in terms of user interfaces (e.g. Web forms, SQL-like interfaces, dialogue operations, object query languages, etc.). Access through dialogue objects and operations is the only type of user access addressed in this paper. For all other means of access we refer the reader to the relevant literature, including IQL [31], [32], OQL [24], etc.
On the
The operational architecture
In this section we focus on the operational architecture of the proposed system. The operational architecture is comprised of the Request Evaluation Engine (REE), the Persistent Object Store (POS), the Transaction Management System (TMS), and a Remote Object Call (ROC) mechanism.
We describe each of these components in more detail. First, different types of agents employed by the Request Evaluation Engine are introduced. Subsequently, we will outline the motivation, purpose and internal
The caching module
Access to persistent storage devices comprises a bottleneck in terms of performance. Hence, caching or buffering mechanisms are employed to overcome this problem. We are using a system buffer to decrease access costs. It is divided into segments each accommodating pages of the same size. The page size is determined at the time a new segment is created. Generally, the page size is a multiple of the disk block-size. A page represents the smallest transfer unit between the main memory and the
Notes on problems, development and implementation
Section 2.1 outlined our research objectives. This paper mainly focuses on the general architecture for distributed object bases and its foundations. Having introduced these concepts in more detail, we now turn our attention to remaining problems and the realisation of a prototype system.
The proposed OODBS system has a modular design. This modularity will also be taken advantage of when developing prototypes. Each module has a well-defined functionality and one or more well-defined interfaces.
Conclusion
This article proposes a multi-level architecture for distributed object bases. The proposed systems meets two steadily increasing demands. On the one hand it supports a distributed architecture that is flexible w.r.t. network architectures and communication mechanisms. On the other hand the demand for representing complex, real-world objects, relationships among those objects and even behaviour associated with them as real as possible is met by describing data on the basis of an object-oriented
Markus Kirchberg studied Computer Science at Clausthal University of Technology (Germany), from which he received a Master of Science in Computer Science in 2000. During 2000 and the first half of 2001 he worked as an Assistant Lecturer at the Department of Information System at Massey University (New Zealand). Since mid 2001 he is employed as Lecturer at the Department of Information System at Massey University. Since 2003 he is also a member of the Information Science Research Centre at
References (83)
A formal approach to object-oriented databases
Data and Knowledge Engineering
(1990)Fundamental properties of infinite trees
Theoretical Computer Science
(1983)- et al.
Object store with navigation acceleration
Information Systems
(1993) - et al.
Serializability theory for replicated databases
Journal of Computer and System Sciences
(1985) - et al.
Fundamental concepts of object oriented databases
Acta Cybernetica
(1993) On the unification of query algebras and their extension to rational tree structures
Fragmentation of object oriented and semistructured data
- et al.
A heuristic approach to horizontal fragmentation in object oriented databases
- et al.
Query optimisation as part of distribution design for complex value databases
A theoretical foundation of multi-level concurrency control
A model for concurrency in nested transactions systems
Journal of the ACM (JACM)
Principles and realization strategies of multilevel transaction management
ACM Transactions on Database Systems (TODS)
Hybrid concurrency control and recovery for multi-level transactions
Acta Cybernetica
A comparison of multi-level concurrency control protocols
Exploiting multi-level transactions in distributed database systems
ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging
ACM Transactions on Database Systems (TODS)
LOQIS: the object-oriented database programming system
Lecture Notes in Computer Science
A recursive base for database programming primitives
Lecture Notes in Computer Science
Exceeding the limits of polymorphism in database programming languages
Integrating database and dialogue design
Knowledge and Information Systems
The third manifesto
SIGMOD Rec.
The Object Data Standard: ODMG 3.0
The ODMG object model: does it make sense?
SIGPLAN Not.
The ObjectStore database system
Communications of the ACM
Building an Object-oriented Database System: The Story of 02
Whatever happened to object-oriented databases?
Computer
A multi-level architecture for distributed object bases
Object identity as a query language primitive
IQL(2): a model with ubiquitous objects
Query processing in object-oriented database systems
On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR)
Type systems for programming languages
An overview of LIFE
Naturally embedded query languages
Cited by (7)
Design and Web Information Development of Systems
2019, Design and Development of Web Information SystemsA customised ASM thesis for database transformations
2010, Acta CyberneticaUsing abstract state machines for the design of multi-level transaction schedulers
2009, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)A persistent object store as platform for integrated database programming and querying languages
2008, Proceedings - The 3rd International Conference on Software Engineering Advances, ICSEA 2008, Includes ENTISY 2008: International Workshop on Enterprise Information SystemsA query language for rational tree structures
2008, Lecture Notes in Business Information ProcessingAn overview of the object-oriented database programming language DBPQL
2007, ICEIS 2007 - 9th International Conference on Enterprise Information Systems, Proceedings
Markus Kirchberg studied Computer Science at Clausthal University of Technology (Germany), from which he received a Master of Science in Computer Science in 2000. During 2000 and the first half of 2001 he worked as an Assistant Lecturer at the Department of Information System at Massey University (New Zealand). Since mid 2001 he is employed as Lecturer at the Department of Information System at Massey University. Since 2003 he is also a member of the Information Science Research Centre at Massey University. He is currently studying towards Ph.D. in Information Systems. His major research interests are Distributed Object Bases, Database Programming and Querying Languages, Transaction Processing, and Database Caching.
Klaus-Dieter Schewe studied Mathematics and Computer Science at Bonn University (Germany). In 1985 he received his Ph.D. in Mathematics from Bonn University. During 1985 and 1990 he worked with large industrial companies in the fields of Artificial Intelligence, Software Engineering and Office Information Systems. Returning to Hamburg University in 1990 he worked on Formal Specifications and Semantics and Database Theory. In 1995 he received the Habilitation (=D.Sc.) in Theoretical Computer Science from the Brandenburgian Technical University at Cottbus (Germany). From 1994 to 1999 he worked at the Computer Science Department of the Clausthal University of Technology (Germany). Since 2000 he is Chair of Information Systems at Massey University in New Zealand. Since 2003 he is also the Director of the Information Science Research Centre at Massey University. Since his habilitation his major fields of interest are Formal Specifications and Semantics, Logic in Computer Science, Database Theory, Distributed Object Bases, and Design of Integrated Information Systems.
Alexei Tretiakov graduated from Moscow State University (Moscow, Russia) and received a Ph.D. degree in Information Sciences from Tohoku University (Sendai, Japan). He taught for a number of years at the Graduate School of Information Sciences of Tohoku University and at the Department of Information Systems of Massey University (Palmerston North, New Zealand). Alexei’s research interests range from Stochastic Cellular Automata and Object Oriented Database Management Systems to Web-based Systems and e-Learning.
Baide (Richard) Wang studied Mechanical Engineering at Northeastern University (P.R. China), from which he received a Master of Science in Mechanical Engineering in 1985. He studied Computer Science at Auckland University (New Zealand), from which he received a Postgraduate Diploma in Computer Science in 2001. From 2002 to 2004 he worked as Junior Research Officer at the Department of Information System at Massey University. His main research focus was on Network Communication.