Academia.eduAcademia.edu

ECOHOOD:Constructing Configured DBMS based on Frameworks

New types of applications, such as: multimedia, workflow, web based and datawarehousing require different functionalities for a Database Management System (DBMS). The extension of general purpose DBMSs attending to these requirements introduces several performance, administration and development difficulties. On the other hand, producing specific DBMSs tailored to applications requirements imposes development burdens. This work presents an alternative approach, that is, the configuration of DBMSs. A configured DBMS is a set of selected inter-related services required for the da ta management in specific application domain. The services used in a configuration involve not only traditional, but also non-traditional DBMS functionalities, such as video and audio playback synchronism needed in multimedia application. In the ECOHOOD (Environment of COnfigurable Heterogeneous Object-Oriented DBMS) Project, we propose a novel approach for constructing DBMSs based on software engineering con...

ECOHOOD: Constructing Configured DBMSs based on Frameworks Rubens Melo Fábio Porto Fernanda Lima Álvaro Barbosa Computer Science Department (Departamento de Informática) Pontifícia Universidade Católica do Rio de Janeiro – PUC/RJ Rua Marquês de São Vicente, 255 - Rio de Janeiro - RJ 22453-900 – Brasil E-mails: {rubens, porto, ferlima, alvaro} @ inf.puc-rio.br Telephone: 55-21-5299385 Fax: 55-21-2592232 Abstract New types of applications, such as: multimedia, workflow, web based and datawarehousing require different functionalities for a Database Management System (DBMS). The extension of general purpose DBMSs attending to these requirements introduces several performance, administration and development difficulties. On the other hand, producing specific DBMSs tailored to applications requirements imposes development burdens. This work presents an alternative approach, that is, the configuration of DBMSs. A configured DBMS is a set of selected inter-related services required for the data management in specific application domain. The services used in a configuration involve not only traditional, but also non-traditional DBMS functionalities, such as video and audio playback synchronism needed in multimedia application. In the ECOHOOD (Environment of COnfigurable Heterogeneous Object-Oriented DBMS) Project, we propose a novel approach for constructing DBMSs based on software engineering concepts of Frameworks which defines an Object Oriented architecture supporting reusability. Keywords: DBMS construction, DBMS extensibility, frameworks. 1. Introduction The adoption of Database Management Systems for the storage of data by traditional applications is a reality in the software industry, and gained extra power with the emergence of relational databases. Today, the appearance of new types of applications, such as: CAD/CAM, CASE software, multimedia, GIS, all requiring management of huge volume of complex data poses new challenges to the database research community. Relational databases were initially conceived to support applications with simple data structures and business oriented transaction types of access. The new areas of applications require special data treatment. These new requirements can be exemplified as: long transactions, complex query processing, storage of large objects such as video and audio, and the addition of new services to DBMS functionality, such as synchronism for continuous media. The answer to these new data requisites has been given by systems classified by Catell [Catt94] as Extended DBMS and DBMS Generators. As examples of the former, Postgres [SR86] and Starbust [S+86] attempt to satisfy the requisites of new applications by extending the DBMS with new data types which provide the required structure and behavior. Exemplifying the latter, EXODUS [C+90] is a code generator that adapt specific DBMS functionality and GENESIS [B+90] is a DBMS constructors based on modeled composition. According to Silberschatz and Zdonik [SZ97], extensibility and componentization are prominent research topics to be addressed. They state that it is necessary «to look for ways to open the architecture of DBMSs in such a way that new services can be incorporated and that database functionality can be configured in more flexible ways according to application needs». We present in this paper a more general approach for the construction of configured DBMSs. Our objective is to provide an architecture where a Database Implementor (DBI) can, at a reasonable cost, adapt any aspect of a DBMS software previously identified as «flexible». The adaptation will be possible for all the basic DBMS services, such as: query processor, transaction manager, rule manager and storage manager, besides allowing the introduction of new special services. The proposal is based on the software engineering concepts of Frameworks. Frameworks introduce an Object-Oriented architecture with predefined abstract classes to be specialized and ready-to-use components to be plugged in the architecture. This technology provides the required flexibility to allow the configuration of DBMSs to support new types of application with proper behavior. ECOHOOD (Environment of COnfigurable Heterogeneous Object-Oriented DBMS) is an on-going project of the PUC-Rio Computer Science Department and is based on the experience acquired in two of our previous projects: HEROS (Heterogeneous Object System) [USM94] and EITIS (Environment of Integrated Tools for Interactive Systems) [Melo87]. The research reported in this paper is a contribution to the ECOHOOD project. The remainder of this paper is organized as follows. In Section 2, we summarize the researches related to this work. Section 3 defines the main concepts involved in our project and describes the proposed architecture. In Section 4, we address the main DBMS services and exemplify one of the services framework used in the configuration of a DBMSs. Finally, in Section 5, some conclusions and suggestions for future works are presented. 2. Related Works Two main works may be considered as the principal researches related to ours. First, the extensible DBMS and the DBMS generators that have been proposed as means of constructing specific DBMS since the mid 80’s. Second, the recent research on Frameworks more usual in the Software Engineering literature. The following sub-sections survey related works in both areas. 2.1 Extensible DBMSs and DBMS Generators Extended database systems are complete DBMSs with part of its functionality extended to support new data types. The overall architecture is static. Differently, database system generators produce customizable DMBSs. There are two variations of database system generators, classified, according to their architecture, on Toolkits and Constructors [Catt94]. In the toolkit approach, «plug-and-play» customizable components are provided for the configuration of DBMSs. In the constructor approach, the system provides a database architecture from which a DBMS can be generated by inter-connecting existing modules. New DBMS modules may also be constructed. The extensibility in extended database systems is provided mainly by the creation of new data types, access methods, and by the extension of the query language. POSTGRES [SR86] is an example of an extended relational DBMS. It uses an extended data model with object facilities, such as: object identifiers, composite objects management, versioning treatment, and inheritance. Its query language, POSTQUEL is an extended relational query language that supports complex objects, and user-defined functions. EXODUS [C+90] and GENESIS [B+90] were the first projects that proposed a more general approach for DBMS construction through DBMS generators. Subsequently, other projects like Open OODB [WBT92], P2 [BT95] and Shore [Shor94] continued the research in this area. P2 and Shore are successors of GENESIS and EXODUS, respectively. The ECOHOOD project provides an architecture for configuration. The architecture is entirely flexible as to configure basic DBMS and non DBMS services providing support for new data type management. As a general DBMS framework, our proposal may configure an extended or a DBMS generator being, in this way, a more general approach. 2.2 Frameworks Frameworks are a promising software engineering technology for producing a reusable, «semi-complete» architecture that can be specialized to produce custom applications [FS97]. The reuse supported by a framework is at a larger granularity than classes, contributing to organize large systems development. Roberts and Johnson [RJ97] state the important concept of frameworks as a reusable design represented by a set of abstract classes and the way their instances interact. The idea is to define a several single components with predefined cooperation. Some of these components, designed to be replaceable, are called hot-spots [Pree94]. As cited in [Pree96], white-box frameworks consist of several incomplete classes that contain methods without meaningful implementations. In order to modify the behavior of white-box frameworks, it is necessary to apply inheritance to override methods in subclasses of framework classes. Black-box frameworks, on the other hand, offer ready components for adaptations. Modifications are achieved by composition, not by programming. It is important to highlight that frameworks are neither pure white or black. The tendency is that mature frameworks will evolve more into black-box through intense reuse. The following section describes our approach to applying Software Engineering techniques to solve the Database research challenge of configuring DBMSs. 3. The ECOHOOD Project The ECOHOOD project proposes the design and use of frameworks as a means of constructing configured DBMSs. The DBMS services, traditional or not, will be implemented by frameworks. Each framework is constituted of a static view, expressed by its classes, and a dynamic view, composed by messages intra and inter frameworks. The exchange of messages between frameworks occurs due to the necessity of communication between DBMS services. In order to deal with the complexity involved in constructing configured DBMSs, we propose an architecture consisting of: • the DBMS Framework that represents the architecture to be configured; • the Framework Instance that represents the configured DBMS; • the DBMS «Meta-framework» Schema that synthesize the framework description information; and • the Framework Instance Schema describing the composition of each instanced DBMS. The last two schemas constitute a repository of metadata describing the framework and the process of configuring of DBMSs. Different users will access this repository. The Database Implementor (DBI) is the user responsible for extending the existing framework modules or creating new ones whenever necessary. The Database Configurer (DBC) is the user who selects the appropriate classes from the framework to produce a configured DBMSs. Considering the amount of classes and messages he/she must deal with, his/her job will find great assistance in high-level information describing the framework abstractions through an appropriate GUI type of application. The Database Administrator (DBA) is the well-known user who keeps his regular responsibility. The following sub-sections describe the individual components of this architecture. 3.1 The DBMS «Meta-Framework» Schema The first component of the architecture is the «Meta-Framework» schema . Its responsibility is to describe the important framework concepts to be used by the DBI in the DBMS construction. It is a model for the framework. It represents the architecture of the framework by identifying its classes, messages and hot-spots. At this level, one can specify a single DBMS framework or link various frameworks producing another DBMS framework. As an example of the latter, a query processor framework can communicate with the storage manager framework composing a DBMS framework. Another important role of the «Meta-Framework» is to aid in the composition process by informing the DBI of composition rules, based on the framework architecture. These composition rules are represented as message calls showing the dependencies among classes. Figure 1 shows the UML class diagram [BP98], corresponding to the classes of this schema. Figure 1 - The "Meta-Framework" Schema The «Meta-Framework» schema presents the following concepts: • the class DBMS Framework expresses all the existent frameworks in an environment 1; • the class Composed DBMS framework represents an architecture for DBMS configuration. Various different architectures might exist promoting a more specific type of configuration. Each composed DBMS framework is made of 1 A set of frameworks available for user configuration is called an environment. DBMS service frameworks from which the DBC will construct a configured DBMS; • The single DBMS-Framework depicts a complete configurable architecture including all the DBMS services needed; • the class DBMS Services Framework describes the services to be utilized in a DBMS framework. New DBMS service frameworks can be created and joined in a DBMS configuration; • the Generalization class represents the superclasses. Most of the superclasses provide an opportunity for flexibility. • the sender/receiver association defines the glue between classes, defining the framework architecture; • The Component class represents the black-box, ready to use, components to be plugged into a framework hot-spot; • A hot-spot is a flexibility point. This is the aspect to be analyzed by the DBI in order to express adequate behavior and/or structure. 3.2 The DBMS Framework The DBMS Framework represents the configuration environment. This is the core level of the architecture where code and design are ready to be utilized. The use of the framework may happen either by filling the flexibility points with the desired behavior, or by plugging-in ready to use components. The development of the DBMS framework considers the following aspects: • adequacy of the framework - a DBMS framework may be developed aiming the refinement of DBMS services to attend different requirements, such as: specific application domains, distributed, heterogeneous or parallel DBMS. • Selection flexibility of the DBMS services frameworks - the DBI is free to choose which services the DBMS will require. The only mandatory DBMS service frameworks are the Query processor and the Storage Manager frameworks. These DBMS services form the basic structure of a DBMS. • flexibility of DBMS services - the framework developer identifies the hot spots within each DBMS service. The DBI may choose between transaction models, buffer manager swap policy, access methods, query optimization strategies and different rule coupling execution mode, etc. The level of flexibility is entirely user adaptable. It may be as large as the whole service and as small as a simple method override. A large grained flexibility could be a multimedia DBMS requiring a special new DBMS service, like the synchronism for the playback of continuous media, and an small grained flexibility example in a relational DBMS, could be the relational join method that can be chosen between the merge-join, nested loop or hash join algorithms. It is important to observe that framework is a semi-complete code made of objectoriented classes. Once the DBI has filled the hot-spots, what is obtained is a entirely functional DBMS. The next level is an instance of DBMS Framework, that is, a configured DBMS. 3.3 The DBMS Framework instance The product of a framework configuration is a functional configured DBMS. The configured DBMS provides the functionality selected from the framework, and possibly refined, by the DBI according to the requirements of the specific client application. This is the only level perceived by the Database Administrator (DBA) and application users. The configurations available at this level are those offered by the selected components, as blackbox modules, and are not different than the ones provided by commercial DBMSs. 3.4 The DBMS Framework instance schema This schema is responsible for the description of the generated configured DBMSs. A company may construct different DBMSs to attend requirements of specific departmental applications. The instance schema will store detailed information about each configured DBMS helping the DBA in the environment administration. It also provides useful information associating framework structures with configured DBMSs which use them. This information helps the framework maintenance, indicating DBMSs that might need to be reconstructed. 4. Example of DBMS Services and their Hot Spots A configured DBMS implements a selected set of interconnected specialized DBMS services. We provide a basic set of DBMS service [EN94, SK97] frameworks as a starting point for our environment. In Figure 2, we present the inter-connection between DBMS services framework according to [BP98]. Figure 2 – Inter-connected DBMS service frameworks The RuleManager framework implements active DBMS [WC96] behavior with flexibility points that permit configuring it with different execution coupling mode and special query extension treatment. The CatalogManager framework is designed to offer flexibility for defining new schema type elements. The QueryProcessor framework contains flexibility points that allows the definition of optimization strategies [YM98], complex and simple data type queries and also structured and semi-structured data access. The TransactionManager framework offers flexibility for the specification of adequate transaction models [GR93,ELMA92], different serialization enforcement protocols and special recovery policies. The StorageManager framework classes support different object type storage and special access methods and configurable units of data transfer between primary and secondary storage. Finally, the BufferManager permits a flexible configuration of paging flush strategy and paging size. In the following sub-sections we briefly describe the Rule Manager and Catalog frameworks. We also present the flexibility points (hot-spots) and discuss the configuration process involved. 4.1 Rule Manager Active DBMSs must provide an architecture for supporting the definition, storage and execution of rule objects. Our framework implements a meta-catalog for storing rules. It also includes a RuleManager class responsible for managing the storage, compiling and manipulating rule objects and a rule executor responsible for managing the execution of rules. In Figure 3, we show the Rule Manager Framework Figure 3 – The RuleManager Framework The RuleManager class is a flexibility point. Its is composed of a Query Re-writer object. The flexibility point retracts a possible implementation of rule execution where the user query is re-written including the associated rule text. The Query Re-writer class will provide the adequate implementation for the operation extendQuery. The RuleExecutor class has an abstract operation checkEvent. Depending on the coupling mode of rule execution, the DBC defines a proper specialization class that implements the adequate mode: immediate, deferred or decoupled. The abstract operation is another flexible point for the Rule Manager DBMS service. 4.2 Catalog The catalog is a DBMS service responsible for storing and providing access to schema information. Its framework is presented in Figure 4. The Catalog abstract class is a flexible point being optionally composed by different types of schemas. As an example of the catalog configuration, the DBC can compose a MetaSchema class and a RuleSchema class. The SchemaType class is also a flexible point that generalizes the possible types of schemas providing a generic interface for the catalog services. The Catalog abstract class is specialized with a concrete Catalog class with schema components chosen in a configuration. Figure 4 – The Catalog Framework 5. Conclusions Creating DBMSs to cope with the new functionality required by new types of applications is a challenge for the Database area. We believe that, instead of overloading a DBMS with several services that might not be used, the DBMS can be configured just with the absolutely necessary services to attend specific domain requirements. In this paper, we propose a new approach that offers great flexibility and produces a more adequate software. The configured DBMS is composed of software modules implementing the services needed to support new application data. We adopted Frameworks to produce a flexible architecture. DBMS services are implemented by an hierarchy of configured classes that together produce a software architecture. The implementation of software behavior is done by specifying new classes or composing existing modules in predefined flexible points. The main contributions of this work can be cited as: the proposed architecture that isolates the difficulties of developing a complex software as a DBMS; the use of schemas in a framework environment that usually just leave unorganized classes to be chosen and the modeling of database services with the identification of hot-spots as points of flexibility. In particular, we presented two examples of DBMS services framework, the Rule Manager framework and the Catalog framework. We also highlight the identified hot spots. As near future works, we intend to extend the idea of DBMS frameworks to configure new DBMSs with new services and functionalities. We also plan to develop several components to evolve our white-box framework into a black-box framework and construct a GUI tool to aid the Database Configurer (DBC) in the task of choosing components of the framework. References [BP98] [BT95] [B+90] [Catt94] [C+90] [Elma92] [EN94] [FS97] [GR93] [Melo87] [Pree95] [Pree96] [RJ97] [SKS97] [SR86] [SZ97] [Shor94] Blaha, M., and Premerlani, W. Object-Oriented Modeling and Design for Database Applications, Prentice-Hall, 1998. Batory, D.S., and Thomas, J. «P2: A Lightweight DBMS Generator», Department of Computer Sciences, University of Texas at Austin, Technical Report TR-9526, http://www.cs.utexas.edu, August 1995. Batory, D.S., Barnett, J.R., Garza, J.F., Smith, K.P., Tsukuda, K., Twichell, B.C., and Wise, T.E. «GENESIS: An Extensible Database Management System», in Maier, D., and Zdonik, S. (editors), Readings on Object-Oriented Database Systems, Morgan-Kaufmann, 1990. Cattell, R.G.G. «Object Data Management, Object-Oriented and Extended Relational Database Systems», Addison-Wesley, 1994. Carey, M.J., DeWitt, D.J., Graefe, G., Haight, D.M., Richardson, J.E., Schuh, D.T., Shekita, E.J., and Vandenberg, S.L. «The EXODUS Extensible DBMS Project: an Overview», in Maier, D., and Zdonik, S. (editors), Readings on Object-Oriented Database Systems, Morgan-Kaufmann, 1990. Elmagarmid, A.K., editor, Database Transaction Models For Advanced Applications, Morgan-Kaufmann, 1992. Elmasri, R., and Navathe, S.B. Fundamentals of Database Systems, 2nd Edition, Addison-Wesley, 1994. Fayad, M., and Schmidt, D. «Object-Oriented Application Frameworks», Communications of the ACM, vol. 40, n. 10, October 1997, pp.32-38. Gray, J., and Reuter, A. Transaction Processing: Concepts and Techniques, Morgan-Kaufmann, 1993. Melo, R.N. «EITIS: Environment of Integrated Tools for Interactive Systems», In Proceedings of the 1st Software Engineering Symposium , Petropolis, Rio de Janeiro, Brazil, 1987. Pree, W. Design Patterns for Object-Oriented Software Development, AddisonWesley/ACM Press, 1995. Pree, W. Software Patterns, SIGS Books & Multimedia, 1996. Roberts, D. and Johnson, R. Evolving Frameworks: A Pattern Language for Developing Frameworks, Addison-Wesley Reading, Massachusetts, 1997. Silberschatz, A., Korth, H.F., and Sudarshan,S. Database System Concepts, 3rd Edition, McGraw-Hill, 1997r. Stonebraker, M., and Rowe, L. «The Design of POSTGRES», Proceedings of the SIGMOD Conference, May 1986. Silberschatz, A., and Zdonik, S. «Database Systems – Breaking Out of the Box», SIGMOD Record, vol. 26, n. 3, September 1997, pp. 36-50. The Shore Project Group, «An Overview of Shore», Computer Sciences Department, http://www.cs.winsc.edu/shore/doc/overview, University of Wisconsin, 1994-97. [S+86] [USM94] [WC96] [YM98] Schwarz, P. et al, «Extensibility in the Starbust Database Systems», Proceedings of the International Workshop on Object-Oriented Database Systems, September 1986. Uchoa, E.M., Silva, S.D., and Melo, R.N. «HEROS Data Model – Object Oriented Heterogeneous Database System», In Proceedings of the 9th Brazilian Database Symposium, São Carlos, São Paulo, Brazil, 1994. Widom, J., and Ceri, S., editors, Active Database Systems - Triggers and Rules For Advanced Database Processing, Morgan-Kaufmann, 1996. Yu, C.T., and Meng, W. Principles of Database Query Processing for Advanced Applications, Morgan-Kaufmann, 1998.