Implementation Techniques For Extensible Object Storage Systems
Jung-Ho Ahn, Haiyan Song, Hyoung-Joo Kim
{"title":"Implementation Techniques For Extensible Object Storage Systems","authors":"Jung-Ho Ahn, Haiyan Song, Hyoung-Joo Kim","doi":"10.4018/978-1-59140-063-9.CH006","DOIUrl":null,"url":null,"abstract":"An efficient object manager, a middle layer on top of a storage system, is essential to ensure acceptable performance of object-oriented database systems, since a traditional record-based storage system is too simple to provide object abstraction. In this chapter, we design and implement an extensible object storage system, called Soprano, in an object-oriented fashion which has shown great potential in extensibility and code reusability. Soprano provides a uniform object abstraction and gives us the convenience of persistent programming through many useful persistent classes. Also, Soprano supports efficient object management and pointer swizzling for fast object access. 701 E. Chocolate Avenue, Hershey PA 17033-1240, USA Tel: 717/533-8845; Fax 717/533-8661; URL-http://www.idea-group.com IDEA GROUP PUBLISHING This chapter appears in the book, Advanced Topics in Database Research, edited by Keng Siau. Copyright © 2003, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited. Implementation Techniques for Extensible Object Storage Systems 105 Copyright © 2003, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited. INTRODUCTION In recent years, many object-oriented database systems have been developed and have become widely accepted in the next generation of telecommunications, Internet, and financial applications around the globe. Due to the complexity of data management in such applications, key issues are performance and the requirement for a flexible and transparent object management environment. Thus, the commercial success of the object-oriented database systems largely depends on how well they meet these stringent requirements. Contemporary relational database systems consist of two main modules: a query processor and a storage system. A query processor returns the result of a given query by translating it into a series of internal storage system calls. The lowlevel storage system provides data persistency and transaction management with full control of physical devices. In object-oriented database management systems (OODBMSs), however, it is no longer adequate for upper layers, such as a query processor, to call a low-level storage system directly. This is because the upper layers of an OODBMS should be adapted to the rich and extensible nature of the object-oriented data model directly, while a traditional relational storage system supports only record-oriented data abstraction. That is, upper layers (if built directly on top of the relational storage system) would have to implement object abstraction, resulting in poorer performance due to increased complexity (Bancilhon et al., 1992). To overcome this problem, most OODBMSs employ a middle layer, which is called an object manager, on top of the storage system. The objective of an object manager is to reduce the impedance mismatch between upper layers (e.g., object query processor) and lower layers (e.g., storage system) by implementing object abstraction using the facilities of the underlying storage system. We summarize the basic functionalities of an object manager as follows (Bancilhon et al., 1992): 1. To generate object identifiers 2. To create and delete persistent objects 3. To support object access method 4. To support object naming service This chapter investigates several aspects of the design and implementation of the extensible object storage system. Our experience shows the feasibility of using an object-oriented design and implementation in building an object storage system that should have both extensibility and high performance. 22 more pages are available in the full version of this document, which may be purchased using the \"Add to Cart\" button on the publisher's webpage: www.igi-global.com/chapter/implementation-techniquesextensible-object-storage/4343","PeriodicalId":332833,"journal":{"name":"Advanced Topics in Database Research, Vol. 2","volume":"23 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Advanced Topics in Database Research, Vol. 2","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.4018/978-1-59140-063-9.CH006","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
An efficient object manager, a middle layer on top of a storage system, is essential to ensure acceptable performance of object-oriented database systems, since a traditional record-based storage system is too simple to provide object abstraction. In this chapter, we design and implement an extensible object storage system, called Soprano, in an object-oriented fashion which has shown great potential in extensibility and code reusability. Soprano provides a uniform object abstraction and gives us the convenience of persistent programming through many useful persistent classes. Also, Soprano supports efficient object management and pointer swizzling for fast object access. 701 E. Chocolate Avenue, Hershey PA 17033-1240, USA Tel: 717/533-8845; Fax 717/533-8661; URL-http://www.idea-group.com IDEA GROUP PUBLISHING This chapter appears in the book, Advanced Topics in Database Research, edited by Keng Siau. Copyright © 2003, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited. Implementation Techniques for Extensible Object Storage Systems 105 Copyright © 2003, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited. INTRODUCTION In recent years, many object-oriented database systems have been developed and have become widely accepted in the next generation of telecommunications, Internet, and financial applications around the globe. Due to the complexity of data management in such applications, key issues are performance and the requirement for a flexible and transparent object management environment. Thus, the commercial success of the object-oriented database systems largely depends on how well they meet these stringent requirements. Contemporary relational database systems consist of two main modules: a query processor and a storage system. A query processor returns the result of a given query by translating it into a series of internal storage system calls. The lowlevel storage system provides data persistency and transaction management with full control of physical devices. In object-oriented database management systems (OODBMSs), however, it is no longer adequate for upper layers, such as a query processor, to call a low-level storage system directly. This is because the upper layers of an OODBMS should be adapted to the rich and extensible nature of the object-oriented data model directly, while a traditional relational storage system supports only record-oriented data abstraction. That is, upper layers (if built directly on top of the relational storage system) would have to implement object abstraction, resulting in poorer performance due to increased complexity (Bancilhon et al., 1992). To overcome this problem, most OODBMSs employ a middle layer, which is called an object manager, on top of the storage system. The objective of an object manager is to reduce the impedance mismatch between upper layers (e.g., object query processor) and lower layers (e.g., storage system) by implementing object abstraction using the facilities of the underlying storage system. We summarize the basic functionalities of an object manager as follows (Bancilhon et al., 1992): 1. To generate object identifiers 2. To create and delete persistent objects 3. To support object access method 4. To support object naming service This chapter investigates several aspects of the design and implementation of the extensible object storage system. Our experience shows the feasibility of using an object-oriented design and implementation in building an object storage system that should have both extensibility and high performance. 22 more pages are available in the full version of this document, which may be purchased using the "Add to Cart" button on the publisher's webpage: www.igi-global.com/chapter/implementation-techniquesextensible-object-storage/4343
可扩展对象存储系统的实现技术
由于传统的基于记录的存储系统过于简单,无法提供对象抽象,因此高效的对象管理器(存储系统之上的中间层)对于确保面向对象数据库系统的可接受性能至关重要。在本章中,我们以面向对象的方式设计并实现了一个可扩展的对象存储系统,名为Soprano,它在可扩展性和代码重用性方面显示出巨大的潜力。Soprano提供了统一的对象抽象,并通过许多有用的持久化类为我们提供了持久化编程的便利。此外,Soprano支持高效的对象管理和指针切换,以实现快速的对象访问。美国宾夕法尼亚州好时巧克力大道701号,17033-1240电话:717/533-8845;传真717/533 - 8661;URL-http://www.idea-group.com IDEA GROUP PUBLISHING本章摘自sieng编辑的《数据库研究高级专题》一书。Idea Group Inc.版权所有©2003未经Idea Group Inc.书面许可,禁止以印刷或电子形式复制或分发。可扩展对象存储系统实现技术105版权所有©2003,Idea Group Inc.。未经Idea Group Inc.书面许可,禁止以印刷或电子形式复制或分发。近年来,许多面向对象的数据库系统被开发出来,并在全球范围内的下一代电信、互联网和金融应用中被广泛接受。由于此类应用程序中数据管理的复杂性,关键问题是性能和对灵活透明的对象管理环境的需求。因此,面向对象数据库系统的商业成功在很大程度上取决于它们满足这些严格要求的程度。当代关系数据库系统由两个主要模块组成:查询处理器和存储系统。查询处理器通过将给定查询的结果转换为一系列内部存储系统调用来返回查询的结果。底层存储系统提供数据持久性和事务管理,完全控制物理设备。然而,在面向对象的数据库管理系统(oodbms)中,上层(如查询处理器)直接调用低级存储系统已经不够了。这是因为OODBMS的上层应该直接适应面向对象数据模型的丰富和可扩展特性,而传统的关系存储系统只支持面向记录的数据抽象。也就是说,上层(如果直接构建在关系存储系统之上)将不得不实现对象抽象,由于复杂性增加而导致性能下降(Bancilhon et al., 1992)。为了克服这个问题,大多数oodbms在存储系统之上采用了一个称为对象管理器的中间层。对象管理器的目标是通过使用底层存储系统的功能实现对象抽象来减少上层(例如,对象查询处理器)和下层(例如,存储系统)之间的阻抗不匹配。我们将对象管理器的基本功能总结如下(Bancilhon et al., 1992): 1。生成对象标识符创建和删除持久化对象。支持对象访问方法4。为了支持对象命名服务,本章研究了可扩展对象存储系统的设计和实现的几个方面。我们的经验表明,在构建既具有可扩展性又具有高性能的对象存储系统时,使用面向对象的设计和实现是可行的。本文档的完整版还有22页,可通过出版商网页www.igi-global.com/chapter/implementation-techniquesextensible-object-storage/4343上的“添加到购物车”按钮购买
本文章由计算机程序翻译,如有差异,请以英文原文为准。