This document analyzes and compares relational database management systems (RDBMS) and object database management systems (ODBMS) to help readers select the most appropriate database management system for their needs. It discusses the characteristics and data models of RDBMS and OODBMS, and how the purpose and domain of an application can influence which system is best. The relationship between the front-end implementation and database is also considered in the selection process.
This document analyzes and compares relational database management systems (RDBMS) and object database management systems (ODBMS) to help readers select the most appropriate database management system for their needs. It discusses the characteristics and data models of RDBMS and OODBMS, and how the purpose and domain of an application can influence which system is best. The relationship between the front-end implementation and database is also considered in the selection process.
This document analyzes and compares relational database management systems (RDBMS) and object database management systems (ODBMS) to help readers select the most appropriate database management system for their needs. It discusses the characteristics and data models of RDBMS and OODBMS, and how the purpose and domain of an application can influence which system is best. The relationship between the front-end implementation and database is also considered in the selection process.
This document analyzes and compares relational database management systems (RDBMS) and object database management systems (ODBMS) to help readers select the most appropriate database management system for their needs. It discusses the characteristics and data models of RDBMS and OODBMS, and how the purpose and domain of an application can influence which system is best. The relationship between the front-end implementation and database is also considered in the selection process.
Download as DOC, PDF, TXT or read online from Scribd
Download as doc, pdf, or txt
You are on page 1of 9
Selecting a Database Management System (DBMS) A Practical and Quasi-
Technical Analysis of Relational Database Management Systems (RDBMS) and
Object Database Management Systems (ODBMS)
Christine Weiss University of Colorado at Colorado Springs
1. Introduction database management systems
The stronghold or dominance of one (OODBMS). This document is not intended product in a particular line of business can to present or identify one DBMS as superior lead to the selection of a product not based or ideal conversely the goal is encourage on appropriateness and fit for the need but the selection of a DBMS based on analysis rather reputation and word of mouth. This and evaluation of the databases purpose would seem to be an easy pitfall for and desired competencies. consumers who are uneducated and 1.1. Background unfamiliar with the products domain There is a tendency in business, particularly however it is also prevalent in areas where in the technology field, to depend upon the the consumer does have limited to knowledge and expertise of those moderate experience and knowledge with individuals with strong technical the domain in question. backgrounds when a project is forced to Relational database management systems make technical decisions. Although this (RDBMS) currently dominate the database does tend to work out favorably for the end- market for use in commercial, business product and the project team, there remains applications and with this trend there arises a need or, rather, a desire for individuals in an assumption that the relational model and decision making positions and/or in RDBMS is best suited for most, if not all, positions of influence with a limited to business-driven applications. This moderate technical background to weigh-in document explores the validity to this and provide useful input to technical dominance and makes a case for the need decisions. This article is aimed at the latter to select a database management system of the two groups and presents ideas that (DBMS) for an application based on the have technical basis mixed with real-world applications purpose, desired use and application and understandability. functionality, and application environment The author of this article typically falls into independent of product reputation or that role on a project team of possessing a commonplace in the market. This article basic to moderately strong technical discusses two database management background and understanding. When systems currently available on the market faced with making a technical decision for use; relational database management alone on what type of database systems (RDBMS), and object-oriented management system to use for a masters available in the market for each system and project, there emerged a desire to research their contrasting data models. the different database management A DBMS is a database software program systems available and represent the used to catalog, store, maintain, and findings for others falling into this quasi- retrieve data in a database. The key technical role. characteristics of a database management Therefore, the purpose of this research system are: paper is to provide sound reasoning and Use of a data model for designing and explanatory information for a reader without outlining the database schema; extensive technical knowledge to make A standard language for querying of the decisions or provide valuable input to database which enables user to retrieve, decisions on projects regarding the modify, and specify storage of data; selection of a database management Data structures; and system for a particular project. The A method for performing transactions following questions were proposed and aimed at ensuring the four key features served as guidance prior to and during of database transactions; atomicity, research. The article should answer: consistency, isolation, and durability What are some of the different types of (ACID). DBMS available on the market? 2.1. Relational Database Management What effects or influence does the System (RDBMS) domain of the project or the purpose of A relational database management system the application have on selecting a DMBS? uses the relational model as its basis. The relational database model was created by What is the relationship between the front-end implementation and the Edgar F. Codd at IBM during the early DBMS? How does this relationship 1970s and is based on the set theory to affect the selection process? construct data in terms of rows and What are the advantages and columns. Codd defined 12 rules by which a disadvantages of each DBMS? truly relational database is defined: foundation rule; information rule; 2. Types of DMBS guaranteed access rule; systematic Two different types of DBMS were selected treatment of null values; dynamic on-line for evaluation and analysis; the relational catalog based on the relational model; database management system and the comprehensive data sublanguage rule, view object-oriented database management updating rule; high-level insert, update, and system. Although other DBMS do exist, delete; physical data independence; logical these systems were selected based on the data independence; integrity independence; large number of commercial products distribution independence; and the nonsubversion rule. Interestingly, no commercial RDBMS to date has ever been how object-oriented programming able to conform to all 12 of Codds rules. languages (OOPL) adhere to the OOM. Because of this, the 12 rules have evolved Coincidentally, research of OODBMS also into guiding principles or goals of database dates back to 1970s (late 1970s/early design. 1980s) however the term object-oriented wasnt coined for databases of this type until The RDBMS structures data into relations the mid 1980s. The first commercial (tables) which form a two-dimensional product did not appear on the market until representation of the data into rows and the late 1980s. More recently, there has columns. A relation contains tuples (rows) been a resurgence in OODBMS as open and each tuple represents a distinct record source object databases emerged that were in the table. A tuple consists of a set of more affordable and user-friendly due to the unorganized attributes (columns) providing use of OO-languages such as Java and C#. detail for the record. Rows are assigned a The relationship of an OODMS and an unique identifier, also known as a primary OOPL establishes a strong correlation key, by which the record can be accessed, between the application data model and the manipulated, and referenced by other tables database data model. This relationship or or applications. Columns store the marriage of the OODBMS and OOPL serves attributes of a record, more commonly as a focal point for analysis and evaluation known as fields, and each attribute is of OODBMS. assigned a data type. An OODBMS is the combination of object- During the mid 1980s, Structured Query oriented programming methodologies (i.e., Language (SQL) was identified and encapsulation, inheritance, abstraction) and accepted as the standard query language basic database management principles that and transaction mechanism for RDBMS. help to ensure ACID properties are met. SQL queries can be used to access and One of the primary features of an OODBMS return data from tables, define records and is that accessing objects in the database is their attributes, and to view data from done in a transparent manner such that multiple tables through operations such as a interaction with persistent objects is no join. different from interacting with in-memory Two of the most popular examples of objects. (Obasanjo, 1). In addition, the RDBMS currently on the market are Oracle OODBMS employs the same mechanisms and Microsoft Access. for retrieving and modifying stored object data as the OOPL would utilize to perform 2.2. Object-Oriented Database the same actions on an object in the Management System (OODBMS) applications cache. An example of how an As implied by the title, object-oriented OODBMS operates is to consider the database management systems use the process of saving data from an application object-oriented model (OOM) similarly to developed using an OOPL to a flat file. The system saves specific instances of an object Object-oriented databases are becoming or multiple objects to a file using the object increasingly popular in Computer Aided identifier (OID) as its key and these objects Design (CAD), Computer Aided are recreated using the saved data upon Manufacturing (CAM), and Computer Aided opening. Software Engineering (CASE) type- applications. A characteristic that is The Object Data Management Group apparent in these and other similar (ODMG) was a group aimed at developing applications using object-oriented standards for OODBMS and object- databases is their use of real-world objects relational database management systems that are easily converted to database (ORDBMS). They released three versions objects using the object-oriented data of a document referred to as the ODMG model. These systems where objects can which recorded and communicated agreed be rolled up into a hierarchical structure or upon standards for OODBMS. The group decomposed into smaller pieces seem to be has since disbanded. One standard the ripe candidates for object-oriented ODMG did identify was the selection of the databases. Additional examples include Object Query Language (OQL) as the software for assembling airplanes or cars, standard query language for OODBMS. warehouse management, and fields of OQL uses syntax similar to SQL and is science such as molecular biology and high- rarely used since the basic functionality of energy physics. queries in intrinsic to object-oriented programming languages. In some instances, such as those stated above, the domain of the application has a 3. The Effects and Influence of the clear and obvious influence on the type of Applications Domain database selection. In other applications, There does seem to be a consensus among the impact seems minimal if any exists at scholars and researchers that the purpose all. This factor will serve on a case-by-case or business use of an application should be basis. considered when selecting a DBMS. This is particularly apparent when the domain is 4. Relationship of the DMBS and well understood and defined upfront when the Applications Front-end the selection processes occurs. Implementation On an ideal project, the decision on which Relational database continue to dominate programming language to develop an and out perform an object-oriented applications front-end and the selection of a database for applications meeting traditional particular database management system business objectives. The performance of would occur hand-in-hand or virtually these databases is still considered the ideal simultaneously. Unfortunately, this is not and therefore, any transaction dependent the typical process. In most cases, the business application would probably programming language is decided by the continue to benefit from its use. customer/client and documented in the data that have a common set of activities or system requirements therefore, leaving the functions that can be inflicted upon them. database decision to occur as an The relationship to consider or highlight, if afterthought during design activities. any, when considering the language for With the use of the object-oriented data which the front-end will be implemented and model as the basis of OODBMS and OOPL, a DMBS is to identify languages that have a consideration of a DBMS other than a basis in complimentary data models. This is OODBMS for an application developed in one of the primary reasons that an OOPL an OOPL seems almost absurd. For and an OODBMS correlate and are often applications using an OO language for the identified together. implementation of the front-end, the database and communication between it 5. Advantages and Disadvantages almost becomes intertwined and almost As with most dueling technologies, most indistinguishable from the application code current research tends to imply a eluding a complementary relationship relationship of ones disadvantage is the between the two or marriage. others advantage among RDBMS and OODBMS. In terms of selecting a database Relational database management systems management system, the advantages and do not have a similar relationship with any disadvantages of each DBMS should be one programming language used for front- measured against the goals and objectives end implementation. The one element that of the application. Selecting a database does stand-out and would probably find should not occur in a void as selection is benefit from consideration is the RDBMS predicated on the softwares purpose and dependency on SQL for communication environment in comparison to the between an application and the database. advantages and disadvantages of any Thus, taking SQL into consideration when DBMS. selecting a language for front-end implementation and evaluating languages It is important to note that extensive that exhibit similar fundamentals and research in academia has been performed properties would appear to be desirable. on the advantage and disadvantages of This may require evaluation and trial of a OODBMS and RDBMS. This items listed in declarative programming language. the subsequent sections are not an Additionally, procedural languages seem to exhaustive list. This list is aimed and blend with the principles of the relational specific to meeting the objectives outlined of database and SQL. In procedural this article and should only provide a basis programming, the objective is to segment for comparison. the solution into collection of data structures and routines. This seems reminiscent to the relational model which also aims to breakdown the solution into sets of similar 5.1. Advantages Relationships are Represented Explicitly A key feature of the OODBMS is the use of 5.1.1. OODBMS pointers which enables the system to Promotion of Reuse access an object directly without requiring a OODBMS are ripe for reuse a common search. Through research, this has proven goal for most software applications. to make the OODBMS preferred over a Inheritance and polymorphism are two key RDBMS for performing many tasks. This features of the object-oriented model that would apply to tasks that can be performed provide the user with the ability to reuse using navigational interfaces instead of the objects. Those familiar with OOPL, which SQL standard declarative interfaces. demonstrate the same capabilities, Relationships are typically represented recognize the advantage of this feature that using an explicit mechanism such as allows them to reuse existing data pointers. Pointers and navigational structures and operations as a foundation interfaces give an OODBMS an advantage for adding new objects exhibiting similar by telling the database how instead of features. This element is not only useful for making them search for a what. expanding the current number of stored objects in a single database but is also 5.1.2. RDBMS applicable from one OODBMS to another. Strong Performance and Expandability Management of Application Code by Relational databases exhibit rapid access to Database Facilities stored data, large storage capacity, and are The use of an object-oriented database can considered flexible or expandable. It is not necessary to understand every detail of how greatly decrease the volume of code used a current RDBMS is designed to be able to by the application. As characteristic of the expand the database to include additional object-oriented model, an object holds an relations. Conversely, the RDBMS relations entity consisting of attributes, behaviors, do not typically demonstrate direct states, and relationships. Therefore, this relationships or dependencies on other data does not need to be defined in the relations and therefore, removing a table application code as this data would be can have substantially lower risk than stored with the object in the database. removing an object definition in an Application code is also reduced by not OODBMS. requiring a querying language to access Wide-spread Comprehension of the and store data. The advantage of storing Relational Data Model the majority of the application data in a Relational databases are easy to database is that it can then be managed by understand and can be interpreted in many database facilitates that ensure data different ways. Tables and the integrity characteristics such as recovery, representation of data into tabular forms is a versioning, and persistence. concept familiar to most individuals whether they are technical or non-technical. With little knowledge of the domain or relational databases, an individual will typically be able to use their previous exposure of tables disadvantage for OODBMS because as new and quickly decipher the data contained databases are added or legacy systems are within a relational database. modified, it is easier to insert another Mature System with Strong relational database into the environment Mathematical Foundation than to add an OODBMS. The addition of RDBMS have been a business staple in an OODBMS in this environment may supporting applications for over 20 years. require modifications in the existing The sheer number of RDBMS currently in databases in order to enable use has tested and proven successfully in communication and data access among the achieving a multitude of business needs. existing databases and the new OODBMS. Many researchers also state that the Unfortunately, this will be a major obstacle RDBMS basis in set theory and the for any OODBMS and may end up being a mathematical concept of the relation also primary decision point for a company when attribute to the RDBMS success and selecting a DBMS. dominance. For many, the mathematical aspect is an attraction for RDBMS because Reputation for Poor Performance it provides an accepted logic and rigor. OODBMS performance has historically been a major downfall and limitation on its 5.2. Disadvantages use. As with any product, previous 5.2.1. OODBMS reputation can work against a product even though the issue may no longer be of any Unintuitive Data Model relevance. Many articles and research The object-oriented model is not initially projects of the late 1980s thru the late intuitive to the average individual. Although 1990s repeatedly identified this as being a some researchers would contradict this major limitation to the wide-spread statement, this model is lost without popularity and use of the OODBMS. It does previous exposure or explanation on the appear that in the current market, OODBMS basics of the model. To properly design an can perform at comparable speeds to effective OODBMS, the database designer RDBMS assuming the data domain is an must have a solid understanding of the ideal domain for an object-oriented data object-oriented model and how to efficiently model. implement it. In addition, some data domains have 5.2.2. RDBMS explicit objects and clearly defined Lack of support for data-intensive, relationships among objects. Most business complex applications. applications do not contain obvious or Relational databases lack the ability to intuitive objects which makes application of handle complex interrelationships of data. the model more difficult. The RDBMS is unable to store complex Existing Dominance of the RDBMS data such as images, digital, and The RDBMS continues to have a stronghold audio/video data types. With the commonality of these types of data rapidly with business systems. This is a major increasing, this presents a major limitation dominate programming language for on the use of RBMS. building new applications, the OODMBS will Language Restrictions surpass the RDBMS as the most popular A relational database cannot communicate and dominate database management or operate with any language other than systems in the business market. Research SQL. Some researchers identified this as a trends in academia tend to support this benefit claiming advantages such as easier observation by the number of projects access to data in multiple databases and currently concluding or underway on straightforward migration of two or more converting an existing relational model to an databases using a single sub-language. object-oriented data model. Similarly, there Although these are valid points, this actually was extensive research on object-relational requires the use of at least two database management system (ORDBMS) programming languages to implement any The main objective of these database application using an RDBMS one for implementing the application and one for management systems is to merge the querying of the database. This would benefits of both the relational and object- require extensive knowledge by the oriented model. Not surprisingly, many development team in order to ensure proper RDBMS products on the market today are implementation and increases the volume of releasing first generation ORDBMS code that requires maintenance. It will products. If these products are able to fulfill ultimately increase project scope and the main objective of ORDBMS as well as complexity. enable companies to convert existing Assignment of Unique Identifiers relational models to partial or full object- The assignment of object identifiers (OID) is oriented models, the fatality of relational virtually a transparent process to the user in databases is almost eminent. This will an OODBMS. This is not a built process of enable current products to cash-in on this RDBMS and requires code and migration and preserve some semblance of maintenance to ensure tuples are uniquely their market base. identified. If this function is performed incorrectly, the integrity of the data comes References into question. [1] Barry & Associates. OODBMS Facts. April 2001. http://www.odbmsfacts.com. 6. Conclusions [2] Chaterjee, Jagadish. Introduction to Relational databases have a strong-hold on RDBMS, OODBMS and ORDBMS. January the current database market due to their 3, 2005. http://www.aspfree.com/c/a/Database/Introd maturity, reliability, the majority of existing uction-to-RDBMS-OODBMS-and-ORDBMS/ applications using the relational model, and [3] Cigler, James B. Orooji, Ali. ORR: Object- some unknown factors associated with the Relational Rapprochement. COMPSAC '99. Proceedings. The Twenty-Third Annual immaturity of object-oriented databases. As International. October 27-29, 1999. object-oriented programming languages Page(s):42 - 48 continue to emerge as the favored or [4] Devarakonda, Ramakanth S., Object- relational Database Systems The Road Ahead, Crossroads, March 2001. Volume 7 Issue 3. [5] Fong, Joseph. Converting Relational to Object-Oriented Database. d. March 1997. Volume 26 Issue 1. [6] Kim, Won. Object-Oriented Database Systems: Strengths And Weaknesses. Journal of Object-Oriented Programming Focus On ODBMS. 1992. [7] Kisworo, M.W.; Rajagopalan, P. Implementation of an Object-Oriented Front- End to a Relational Database System. IEEE Region 10 Conference on Computer and Communication Systems. 24-27 Sept. 1990 Page(s):811 815. [8] McClure, Steve. Object Database vs. Object-Relational Databases. IDC Bulletin #14821E - August 1997. [9] McFarland, Gregory, Rudmik, Andres, and Lange, David - Modus Operandi, Inc. Jan 31, 1999. Object-Oriented Database Management Systems Revisited: An Updated DACS State-of-the-Art Report. https://www.dacs.dtic.mil/techs/oodbms2/oo dbms-toc.shtml. [10] Obasanjo, Dare 2001. An Exploration of Object-Oriented Database Management Systems. http://www.25hoursaday.com/WhyArentYou UsingAnOODBMS.html. [11] Rahayu, W.; Chang, E.; Dillon, T.S. Implementation of Object-Oriented Association Relationships in Relational Databases. Database Engineering and Applications Symposium, July 1998. Page(s):254 263. [12] Smith, Karen E., Zdonik, Stanley B., INtermedia: A Case Study of the Differences Between Relational and Object-Oriented Database Systems. OOPSLA 87 Proceedings. October 4-8, 1987. [13] Sujithan, K. R. An Object Model of Data, Based on the ODMG Industry Standard for Database Applications. The Institution of Electrical Engineers. 1995. [14] Zand, Mansour, Collins, Va, Caviness, Dale. A Survey of Current Object-Oriented Databases. Data Base Advances, February 1995. Volume 26, No. 1.