OODBMS
OODBMS
This report provides an update to our report of the state of the art of Object-Oriented Database Management Systems (OODBMS), hich as issued in !""# (Mc$"#)% The objective of this report is to provide the reader ith an understanding of the issues re&evant to OODBMS techno&ogy and to describe here commercia& products stand on these issues% ' further objective is to describe the current state of commercia& OODBMS in regard to a set of e(pected faci&ities for databases in genera& and object-oriented databases in particu&ar% )t is e(pected that this report i&& be used as the first step in an eva&uation aimed at se&ecting an OODBMS for use in a given app&ication deve&opment effort% )t is essentia& that any such eva&uation be customi*ed to consider app&ication specific re+uirements% $or these reasons it is impossib&e to use this report as the so&e information source hen se&ecting an OODBMS% )n particu&ar, it is not a goa& of this report to identify the best OODBMS product% ,ach OODBMS i&& be architected based on a set of assumptions hich ma-e it more or &ess suited for particu&ar app&ication domains and usage patterns% Thus, e do not e(pect a sing&e OODBMS to be best in a&& situations% This report may a&so be used as an introduction to object-oriented database techno&ogy% 'dditiona& in-depth information may be found in the references and bib&iographies% An evaluation of OODBMS must include analysis in four areas: o functionality, o usability, o platform, and o performance. 'n ana&ysis of functiona& capabi&ities is performed to determine if a given OODBMS provides sufficient capabi&ities to meet the current and future needs of a given deve&opment effort% $unctiona& capabi&ities inc&ude basic database functiona&ity such as concurrency contro& and recovery as e&& as object-oriented database features such as inheritance and versioning% ,ach eva&uation i&& have to identify and eight a set of functiona& re+uirements to be met by the candidate OODBMS% .eighting is an important consideration since app&ication or-arounds may be possib&e for missing functiona&ity% /sabi&ity dea&s ith the app&ication deve&opment and maintenance process% )ssues inc&ude deve&opment too&s and the ease ith hich database app&ications can be deve&oped and maintained% 0o a deve&oper perceives the database and the management of persistent objects might a&so be considered under the category of usabi&ity% Other issues to be considered are database administration, product maturity, and vendor support% ,va&uation of usabi&ity is &i-e&y to be high&y subjective% 1erhaps the most easi&y measurab&e eva&uation criteria is p&atform% 'n OODBMS either is or is not avai&ab&e on the app&ication2s target hard are and operating system% 0eterogeneous target environments re+uire that the OODBMS transparent&y interoperates ithin that environment% 'n OODBMS is typica&&y a mu&tiprocessed soft are system communicating over a &oca& area net or-% 1&atforms upon hich database server processes, c&ient app&ication processes, additiona& administration processes (e%g%, &oc- servers), and deve&opment too&s can be hosted must be considered% 3et or- re+uirements shou&d a&so be eva&uated%
1erformance may represent the most important eva&uation criteria% 45ai"!6, 47ot"86, and 49er"86 describe the issues re&evant to ana&y*ing the performance of an OODBMS and describe the difficu&ties in bui&ding genera& purpose benchmar-s% The /niversity of .isconsin has performed a benchmar-ing of OODBMS, -no n as the ::; benchmar- 4<ar"#6% ' genera& purpose benchmar- is on&y effective in predicting the performance of an OODBMS for an app&ication hich c&ose&y mirrors the behavior of that benchmar-% 'n effective benchmar- must consider the number of interactive users, the rate of database updates and accesses, the si*e of the databases, the hard are and net or- configurations, and the genera& access patterns of the database app&ications% Thus, in order to provide usefu& information, a benchmar- must be mode&ed to c&ose&y mimic the e(pected behavior of the app&ication being deve&oped% 1roviding a fair and substantive eva&uation of OODBMS is a difficu&t tas-% )ssues regarding accuracy of mar-eting information and technica& documentation, comp&eteness of imp&ementation, usabi&ity of imp&ementation, performance, and feature interaction (regarding comp&eteness, usabi&ity, and performance) must be considered hen performing the eva&uation% 4Ste"86 proposes that an eva&uation begin by a thorough revie of a product2s technica& documentation (instead of mar-eting information), and be comp&eted by actua& use and benchmar-ing of the products% The objective of this report is to perform the first part of this eva&uation process by performing an e(tensive ana&ysis based on technica& product documentation% )n particu&ar= o Functional capabilities have been identified by e(amination of the product2s technica& manua&s as supp&ied by the vendor% Discussions ith technica& representatives of the vendor have been used to c&arify our understandings and descriptions of the eva&uated products% o Usability has been derived by analy in! the documentation for the vendor supp&ied too&s and by revie ing the app&ication programming interface in order to understand ho an app&ication interacts ith the database% o "nformation re!ardin! platform and hetero!eneous operation has been supp&ied by the product vendors% o #erformance is not addressed as part of this eva&uation% This report is the resu&t of an effort aimed at eva&uating the current state of OODBMS% 7eaders can use this report as the start of an eva&uation process &eading to the se&ection of an OODBMS for a particu&ar app&ication or system deve&opment effort% /sers of this report must continue the eva&uation process by operationa&&y verifying the described capabi&ities and by deve&oping an app&ication specific benchmar-%
techno&ogies for ease of use% '&& of these app&ications are characteri*ed by having to manage comp&e(, high&y interre&ated information, hich is a strength of object-oriented database systems% <&ear&y, re&ationa& database techno&ogy has fai&ed to hand&e the needs of comp&e( information systems% The prob&em ith re&ationa& database systems is that they re+uire the app&ication deve&oper to force an information mode& into tab&es here re&ationships bet een entities are defined by va&ues% Mary 5oomis, the architect of the 9ersant OODBMS compares re&ationa& and object-oriented databases% >7e&ationa& database design is rea&&y a process of trying to figure out ho to represent rea&- or&d objects ithin the confines of tab&es in such a ay that good performance resu&ts and preserving data integrity is possib&e% Object database design is +uite different% $or the most part, object database design is a fundamenta& part of the overa&& app&ication design process% The object c&asses used by the programming &anguage are the c&asses used by the ODBMS% Because their mode&s are consistent, there is no need to transform the program?s object mode& to something uni+ue for the database manager%> 45oo"8b6 'n initia& area of focus by severa& object-oriented database vendors has been the <omputer 'ided Design (<'D), <omputer 'ided Manufacturing (<'M) and <omputer 'ided Soft are ,ngineering (<'S,) app&ications% ' primary characteristic of these app&ications is the need to manage very comp&e( information efficient&y% Other areas here object-oriented database techno&ogy can be app&ied inc&ude factory and office automation% $or e(amp&e, the manufacture of an aircraft re+uires the trac-ing of mi&&ions of interdependent parts that may be assemb&ed in different configurations% Object-oriented database systems ho&d the promise of putting so&utions to these comp&e( prob&ems ithin reach of users% Object-orientation is yet another step in the +uest for e(pressing so&utions to prob&ems in a more natura&, easier to understand ay% Michae& Brodie in his boo- On <onceptua& Mode&ing states >the fundamenta& characteristic of the ne &eve& of system description is that it is c&oser to the human conceptua&i*ation of a prob&em domain% Descriptions at this &eve& can enhance communication bet een system designers, domain e(perts and, u&timate&y, system end-users%> 4Bro@A6 The study of database history is centered on the prob&em of data mode&ing% >' data mode& is a co&&ection of mathematica&&y e&& defined concepts that he&p one to consider and e(press the static and dynamic properties of data intensive app&ications% > 4Bro@A6 ' data mode& consists of= o static properties such as ob)ects, a ttributes and re&ationships, o integrity ru&es over objects and operations, and o dynamic properties such as operations or ru&es defining ne database states based on app&ied state changes% Object-oriented databases have the abi&ity to mode& a&& three of these components direct&y ithin the database supporting a comp&ete prob&emBso&ution mode&ing capabi&ity% 1rior to object-oriented databases, databases ere capab&e of direct&y supporting points ! and 8 above and re&ied on app&ications for defining the dynamic properties of the mode&% The disadvantage of de&egating the #
dynamic properties to app&ications is that these dynamic properties cou&d not be app&ied uniform&y in a&& database usage scenarios since they ere defined outside of the database in autonomous app&ications% Object-oriented databases provide a unifying paradigm that a&&o s one to integrate a&& three aspects of data mode&ing and to app&y them uniform&y to a&& users of the database% $.$ &he +volution of Ob)ect*Oriented Databases Object-oriented database research and practice dates bac- to the &ate !";:?s 45oc;"6 and had become a significant research area by the ear&y !"@:?s, ith initia& commercia& product offerings appearing in the &ate !"@:?s% Today, there are many companies mar-eting commercia& objectoriented databases that are second generation products% The gro th in the number of objectoriented database companies has been remar-ab&e% 's both the user and vendor communities gro there i&& be a user pu&& to mature these products to provide robust data management systems% OODBMS? have estab&ished themse&ves in niches such as e-commerce, engineering product data management, and specia& purpose databases in areas such as securities and medicine% The strength of the object mode& is in app&ications here there is an under&ying need to manage comp&e( re&ationships among data objects% Today, it?s un&i-e&y that OODBMS? are a threat to the strang&eho&d that re&ationa& database vendors have in the mar-et p&ace% <&ear&y, there is a partitioning of the mar-et into databases that are best suited for hand&ing high vo&ume &o , comp&e(ity data and databases that are suited for high comp&e(ity, reasonab&e vo&ume, ith OODBMS fi&&ing the need for the &atter% Object-oriented databases are fo&&o ing a maturation path simi&ar to re&ationa& databases% Fi!ure ' depicts the evo&ution of object-oriented database techno&ogies% On the &eft, e have objectoriented &anguages that have been e(tended to provide simp&e persistence a&&o ing app&ication objects to persist bet een user sessions% Minima& database functiona&ity is provided in terms of concurrency contro&, transactions, recovery, etc% 't the mid-point, e have support for many of the common database features mentioned above% Database products at the mid-point are sufficient for deve&oping reasonab&y comp&e( data management app&ications% $ina&&y, database products ith dec&arative semantics have the abi&ity to great&y reduce deve&opment efforts, as e&& to enforce uniformity in the app&ication of these semantics% OODBMS products today are &arge&y in the midd&e ith a fe products e(hibiting dec&arative semantics such as constraints, referentia& integrity ru&es, and security capabi&ities% )n most OODBMS products, most of the database semantics are defined by programmers using &o -&eve& services provided by the database%
The ne(t stage of evo&ution is more difficu&t% 's one moves to the right the database does more for the user re+uiring &ess effort to deve&op app&ications% 'n e(amp&e of this is that current OODBMS provide a &arge number of &o -&eve& interfaces for the purpose of optimi*ing database access% The onus is entire&y on the deve&oper for determining ho to optimi*e his app&ication using these features% 's the OODBMS database techno&ogy evo&ves, OODBMS i&& assume a greater part of the burden for optimi*ation a&&o ing the user to specify high &eve& dec&arative guidance on hat -inds of optimi*ations need to be performed% ' genera& guide&ine for gauging database maturity is the degree to hich functions such as database access optimi*ation, integrity ru&es, schema and database migration, archive, bac-up and recovery operations can be tai&ored by the user using high &eve& dec&arative commands to the OODBMS% Today, most object-oriented database products re+uire the app&ication deve&oper to rite code to hand&e these functions% 'nother sign of maturation of a ne techno&ogy is the estab&ishment of industry groups to standardi*e on different aspects of techno&ogy% Today e see a significant interest in the deve&opment of standards for object-oriented databases% $or e(amp&e, the Object Management Croup (OMC) is a non-profit industry sponsored association hose goa& is to provide a set of standard interfaces for interoperab&e soft are components% )nterfaces are to be defined in areas of communications (Object 7e+uest Bro-er), objectoriented databases, object-oriented user interfaces, etc% 'n OODBMS app&ication programmers interface ('1)) specification is current&y being deve&oped (by ODMC, Object Database Management Croup, a group of OODBMS vendors) thus a&&o ing portabi&ity of app&ications across OODBMS 4So&"86% 'nother standards body D#0;, a technica& committee under D#, has been formed to define OODBMS standards in areas such as object-mode&s and object-e(tensions to SE5% Today, OODBMS vendors are adding more database features to their products to provide the functiona&ity one ou&d e(pect from a mature database management system% This evo&ution moves us to the mid-point of the evo&utionary sca&e sho n in Fi!ure '. $., -haracteristics of Ob)ect*Oriented Databases Object-oriented database techno&ogy is a marriage of object-oriented programming and database techno&ogies% $igure 8 i&&ustrates ho these programming and database concepts have come together to provide hat e no ca&& object-oriented databases
1erhaps the most significant characteristic of object-oriented database techno&ogy is that it combines object-oriented programming ith database techno&ogy to provide an integrated app&ication deve&opment system% There are many advantages to inc&uding the definition of operations ith the definition of data% $irst, the defined operations app&y ubi+uitous&y and are not dependent on the particu&ar database app&ication running at the moment% Second, the data types can be e(tended to support comp&e( data such as mu&ti-media by defining ne object c&asses that have operations to support the ne -inds of information% Other strengths of object-oriented mode&ing are e&& -no n% $or e(amp&e, inheritance a&&o s one to deve&op so&utions to comp&e( prob&ems incrementa&&y by defining ne objects in terms of previous&y defined objects% 1o&ymorphism and dynamic binding a&&o one to define operations for one object and then to share the specification of the operation ith other objects% These objects can further e(tend this operation to provide behaviors that are uni+ue to those objects% Dynamic binding determines at runtime, hich of these operations is actua&&y e(ecuted, depending on the c&ass of the object re+uested to perform the operation% 1o&ymorphism and dynamic binding are po erfu& object-oriented features that a&&o one to compose objects to provide so&utions ithout having to rite code that is specific to each object% '&& of these capabi&ities come together synergistica&&y to provide significant productivity advantages to database app&ication deve&opers% ' significant difference bet een object-oriented databases and re&ationa& databases is that objectoriented databases represent re&ationships e(p&icit&y, supporting both navigationa& and associative access to information% 's the comp&e(ity of interre&ationships bet een information ithin the database increases, the greater the advantages of representing re&ationships e(p&icit&y% 'nother G
benefit of using e(p&icit re&ationships is the improvement in data access performance over re&ationa& va&ue-based re&ationships% ' uni+ue characteristic of objects is that they have an identity that is independent of the state of the object% $or e(amp&e, if one has a car object and e remode& the car and change its appearance H H the engine, the transmission, the tires so that it &oo-s entire&y different, it ou&d sti&& be recogni*ed as the same object e had origina&&y% .ithin an object-oriented database, one can a& ays as- the +uestion, is this the same object ) had previous&y, assuming one remembers the object?s identity% Object-identity a&&o s objects to be re&ated as e&& as shared ithin a distributed computing net or-% '&& of these advantages point to the app&ication of object-oriented databases to information management prob&ems that are characteri*ed by the need to manage= o a lar!e number of different data types, o a lar!e number of relationships bet%een the ob)ects, and o ob)ects %ith comple. behaviors. 'pp&ication areas here this -ind of comp&e(ity e(ists inc&udes engineering, manufacturing, simu&ations, office automation and &arge information systems% $./ Application of an OODBMS The design of an object-oriented data mode& is the first step in the app&ication of object-oriented databases to a particu&ar prob&em area% Deve&oping a data mode& inc&udes the fo&&o ing major steps= o Ob)ect identification o Ob)ect state definition o Ob)ect relationships identification o Ob)ect behavior identification o Ob)ect classification The fo&&o ing is a cursory overvie of these steps% 's one begins to define an object-oriented data mode&, the first step is to simp&y observe and record the objects in the so&ution space% There are many techni+ues that aid this process% $or e(amp&e, one can formu&ate a description of the so&ution and identify the nouns that are candidates for being the objects in the data mode&% 3e(t, one identifies the characteristics of these objects% These characteristics become the object attributes% )n a simi&ar manner, e(amining the &ogica& dependencies among objects identifies different -inds of association% $or e(amp&e, the parts re&ationship can be identified by ana&y*ing the system decomposition into subparts% 3e(t, one begins to enumerate the different responses that an object has to different stimu&i% $ina&&y, one c&assifies objects into an inheritance structure to factor out common characteristics and behaviors% '&& of these steps are performed iterative&y unti& one has a comp&ete data mode&% ' number of te(tboo-s (e%g%, 4<oa":6, 4.ir":6) describe different variations of the above approach% )n a&& cases, these methods cu&minate in a data mode& consisting of objects, attributes, re&ationships, behavior and a c&assification structure% The methods vary in terms of targeted audience, the &eve& of rigor, and the number and -inds of intermediate steps re+uired to arrive at a data mode&% Some methods are targeted to ;
peop&e hose bac-ground is structured ana&ysis hi&e other methods appea& to accomp&ished objectoriented deve&opers% The practitioner has to se&ect the methods that best match his e(perience and the target app&ication% Fi!ure , i&&ustrates a data mode& for a product and its decomposition into parts% ,ach part, in turn, may decompose into subparts% These associations are re&ationships (bi-directiona& re&ationships in this e(amp&e) bet een objects% )n an object-oriented database, re&ationships are maintained bet een objects using the object?s uni+ue identity, hich means that one can change the attribute va&ues of objects and not affect the re&ationships bet een the objects% ' significant difference bet een databases and object-oriented programming &anguages such as <II, is that databases typica&&y provide high &eve& primitives for defining re&ationships among objects% Typica&&y, the imp&ementation of re&ationships is managed by the OODBMS to maintain referentia& integrity% )n addition, the OODBMS may a&&o one to define re&ationship cardina&ity and object e(istence constraints% Semantic richness of re&ationships is e&& suited for the management of comp&e(, high&y interre&ated information% /nfortunate&y, these capabi&ities are not provided uniform&y by different object-oriented database products% 'n object-oriented data mode& a&so defines attributes and operations for each object as sho n in Fi!ure /.
"