ODBMS FAQ

Here are answers to frequently asked questions about object database management systems (ODBMSs):

bulletWhat are the benefits of using an object database management system (ODBMS)?
bulletWhen should you use an ODBMS?
bullet Can you provide examples where ODBMSs are used production applications?
bulletCan ODBMSs handle large databases?
bulletAre there any barriers to using ODBMSs?
bulletWill ODBMSs replace RDBMSs?
bulletCan object databases and relational databases co-exist?
bulletHow do ODBMSs compare to object-relational mapping products?
bulletDoes it make sense to use an ODBMS in a web server?
bulletWhat are some good sources of information on ODBMS technology?
bulletI hear that it's hard to get people with sufficient skills to work on ODBMS projects
bulletWhy aren't there any public ODBMS benchmarks?

Want to know more? Check out the ODBMS Articles on this site.

Q. What are the benefits of using an object database management system (ODBMS)?

A. From my perspective, there are two primary benefits in using this technology. Both benefits reflect a basic idea -- when you use an ODBMS, the way you use your data is the way you store it. The first benefit can be found in development. When you use an ODBMS, you will write less code than if you were writing to an RDBMS. The reason for the smaller amount of code is simple -- when you are using Java or C++ -- you won't have to translate into a database sub-language such as SQL, ODBC, or JDBC. You will be writing in the programming language. The result is less code. In many cases, this code be as much as 40 percent less. The corollary to this is that any data structure that you can imagine in Java or C++ can be stored directly without translation in an ODBMS. This is an important thought. You can store very complex data structures directly in an ODBMS.

The second benefit, which is related, occurs in production. If you are working with complex data, an ODBMS can give you performance that is ten to a thousand times faster than an RDBMS. That's because when the data is read off the disk, it is already in the format that Java or C++ uses. No translation is needed. The range in performance gain depends on the complexity of your data.

Q. When should you use an ODBMS?

A. The advice that I give my clients is really pretty simple. Use an ODBMS when you have a business need for high performance on complex data. But, what does that mean exactly? Briefly, when you meet a business need, you either make or save some money. High performance, in the context of an ODBMS, means that you literally could see a performance improvement of between ten to a thousand times in comparison with an RDBMS. And finally, you can be sure that you have complex data if your data looks like a connected graph, such as a bill of materials or a schema that has many intersection entities. For example, let’s say you have an automated stock trading application. The application receives a live feed of stock data. It uses that information with a historical database (trust me, this database has complex data) and applies an algorithm that determines if any action should occur based on the live feed. The faster the database search is, the shorter the elapsed time between receiving data from the live feed and determining the appropriate action. Assuming the algorithm is correct, this means the stock trading application will either be making more money or losing less money. In other words, this is an example where there is a business need for high performance on complex data. 

Q. Can you provide examples where ODBMSs are used production applications?

A. Here are a few examples of ODBMSs in use in production applications:

bulletBritish Airways uses the Versant Object Database for its Origin and Destination (O&D) Revenue Management System. The O&D Revenue Management System is used to maximize revenue from British Airways' worldwide route networks and alliances.
bulletbioMérieux uses FastObjects to store and retrieve complex information from blood tests. Specializing in the in vitro diagnostics sector, bioMérieux designs, develops, produces, and markets diagnosis systems for medical and industrial applications.
bulletSiemens utilizes GemStone Smalltalk technology as an object cache and backbone for their CONDIS system, which manages network and system infrastructures in real time using object technology. Siemens is a value added reseller of the GemStone Smalltalk object cache. CONDIS first went into production in 1999 and Siemens has since completed at least fifteen projects for customers such as the Swiss Railways, City of London, Telecom Argentina, and the Austrian energy transport network operators.
bulletThe db4o object database played a key role in improving the performance and scalability of Seagate Technology's redesigned Mirra Sync and Share Personal Server. The Mirra Sync and Share Personal Server is a data access and management solution that enables small businesses, home offices, and connected families to automatically back up and protect their digital data, remotely access it over the Internet with full encryption, synchronize files among multiple computers, and share digital content.
bulletSprint PCS uses Qualcomm CDMA (Code Division Multiple Access) technology, which uses the Objectivity/DB ODBMS.
bulletStarwood Hotels and Resorts Worldwide, Inc. uses the ObjectStore ODBMS as an integral part of their online reservations system. ObjectStore dynamically accesses existing enterprise databases and caches data as ready-to-use objects in-memory for real-time use.
bulletPartners HealthCare based in Boston has developed and deployed nearly 800 clinical and administrative applications using InterSystems’ Caché and Ensemble products, including a longitudinal medical record that provides a single view of each patient’s clinical and demographic data drawn from systems throughout the Partners HealthCare network, A physicians’ order-entry system that resulted in a 17% reduction in adverse drug reactions throughout the hospital, saving as much as $10 million annually when it was initially rolled out, and a wireless electronic medication administration record system built on Caché that integrates six major enterprise applications and other systems, using Web services, to provide a closed medication management loop that eliminates adverse drug events and improves clinician productivity.
bulletObjectivity/DB is the integration platform for both the U.S. Air Force’s Network Centric Collaborative Targeting (NCCT) system and the U.S. Navy’s Cooperative Engagement Capability (CEC) system. NCCT is a network-centric architecture that horizontally integrates airborne and ground assets to detect, locate, track, and target objects on the ground. Objectivity/DB stores and manages vast amounts of disparate information collected through the NCCT system, enabling data fusion from geospatial and sensor data from the NCCT sensor network. Similarly, CEC is a network-centric warfare system that shares radar data between participants to precisely track airborne targets, providing combat identification on airborne tracks and engagement-quality information to all participants. CEC is fielded on several E-2 aircraft, cruisers, destroyers, amphibious ships and aircraft carriers. Objectivity/DB provides a reliable, scalable repository for the wide range of complex data types found in these types of applications. Objectivity/DB’s distributed processing system architecture, with no single point of failure, provides the robustness necessary for mission-critical performance. Also, take a look at this blog entry.

These are just some examples. Many more exist.

Q. Can ODBMSs handle large databases?

A. Yes. In fact, one of the largest database that I have ever heard of is in production using an Objectivity ODBMS at Stanford Linear Accelerator Center (SLAC). As of March, 2002, SLAC stored 500 terabytes of production data using Objectivity/DB. The production data is distributed across 100 on-line servers. SLAC uses Objectivity/DB for its flagship research project named B Factory, which includes the PEP II accelerator and the BaBar particle detector. More information.

Q. Are there any barriers to using ODBMSs?

A. Here are some possible barriers:

bulletLack of Familiarity: Most programmers understand RDBMSs. Many do not understand ODBMSs.
bulletInertia: It is easier to use what you know.
bulletTechnology Fear: It is scary when you do not know what is inside ODBMS technology.
bulletBusiness Fear: Most of the ODBMS vendors are small companies. Is this risk worth the technological benefits?

I am sure some of these barriers might make sense to you. Nevertheless, if they incapacitate you, it is difficult to try new things. Sometimes new things are good things. So my suggestion is that you should become familiar with the technology if your business could benefit from high performance on complex data.

Q. Will ODBMSs replace RDBMSs?

A. That is highly unlikely. Someone once told me that, "Data tends to stick where it lands." There are many applications built on existing RDBMSs. It's difficult, if not impossible, to move off those databases. That would be unrealistic. Where you primarily see ODBMSs is in new development. In these cases, someone has figured out how to use high performance on complex data to meet a business need. And you often see ODBMSs working side by side with RDBMSs.

Q. Can object databases and relational databases co-exist?

A. Absolutely and this is what you usually see. Typically, people using object databases carve out the part of their IT systems that need high performance on complex data. They then will do other processing, such as back office analysis, using an RDBMS. Often the object database data is transferred to the relational database during quieter processing  times. I like to characterize this as database diversity -- using the right tool for the right purpose. For some examples, take a look at Architectures using databases in the middle tier.

Q. How do ODBMSs compare to object-relational mapping products?

A. First, let's look at the similarities. Object database management system products and most object-relational mapping (OR mapping) products let you program in Java or C++ without the use of a database sublanguage such as embedded SQL, ODBC, or JDBC. That part of the development cost is comparable. The main difference between the two occurs in the use and storage of the data. OR mapping products require you to map the object model to a relational model, which requires additional development and can sometimes be a significant performance hit in production. That's because the way the data is stored is different from how it is used. The term for translating data from storage format to application format and back is "impedance mismatch." This may be familiar to you. In situations where high performance on complex data is required, impedance mismatch can create performance problems. Also see Object-relational mapping articles (new window).

Q. Does it make sense to use an ODBMS in a web server?

A. Yes, many web sites are currently using ODBMSs. With the projected growth in XML use, it will become more compelling to consider an ODBMS for a web site. The reason is that XML is basically an object model. So, for storing and getting object data, you can't beat an ODBMS on performance. In addition, you will have reduced development costs because you won't need to translate the XML into some other storage model. That means that XML plus an ODBMS will make for a high performance web site. Add to this the plans for using XML as a means for business to business transactions and you can see why some people see XML as the killer application use for ODBMSs. Also see XML database articles (new window).

Q. What are some good sources of information on ODBMS technology?

A. There are several good books. They include:

bullet Object Technology: A Manager’s Guide, Second Edition, David A. Taylor, ISBN 0-201-30994-7
bullet Object Databases in Practice, Akmal B. Chaudhri and Mary E. S. Loomis, ISBN 0-13-899725-X
bullet The Object Database Handbook: How to Select, Implement and Use Object-Oriented Databases, Douglas K. Barry, ISBN 0-471-14718-4
bullet The Object Database Standard: ODMG 3.0, ISBN 1-55860-647-5
  

Q. I hear that it's hard to get people with sufficient skills to work on ODBMS projects.

A. Finding good people is an industry-wide problem and should not be a reason not to use any particular technology.

The primary skill needed to work on an ODBMS is the ability to develop an object model and to program in an object programming languages. Those skills, however, are not unique to using an ODBMS. You need them for an O-R Mapping project as well or even to write an object program.

Q. Why aren't there any public ODBMS benchmarks?

A. The fact is that there aren't any useful public benchmarks for and type of database product. The reason has to do with the licensing of database products which usually prohibits publishing any benchmarks. 

For some background on the problems with creating useful comparison benchmarks, take a look at the August 1999 issue of PC Magazine, "The Test That Wasn't," on page 29.  The column also explains why even the public TPC-C benchmarks are not useful in selecting a database product.  The column ends with advice that is similar to what I tell my clients:  "If performance is important to your database application, we strongly encourage you to run you own tests to help you choose the most suitable product."

Related content for: ODBMS FAQ

More on the general topic: Object database articles
Object-oriented database management system (OODBMS) definition
When an object database should be used
Caching for object database management systems
Architectures that use object database products
Everyday uses of object databases
ODBMS myths
Object database problems?
Article suggestions

Read more free articles on this site

There are nearly 400 pages of articles on this site with over 50 pages on object-oriented database management systems.

Search this site for more articles

Custom Search

Browse this site for more articles

Click on the topics below to browse the articles on this site.The arrows show the path to the current article: ODBMS FAQ.

Web Services and Service-Oriented Architectures
Online briefings
Search results
Online articles -->
Consulting
Mentoring
Speaking
Stencils for the Savvy Manager's Guide
Links
Mail list
Privacy policy
Sitemap
Contact
Web Services articles
XML standards and vocabularies
Application server articles
Database concepts and standards
Object database articles -->
Relational database articles
Object-relational mapping articles
XML database articles
XML middleware articles
Article Sponsorship
Reprint policy
Object-oriented database management system (OODBMS) definition
When an object database should be used
ODBMS FAQ
Caching for object database management systems
Architectures that use object database products
Everyday uses of object databases
ODBMS myths
Object database problems?
Article suggestions

Related recent articles from Google News


RealWire (press release)

Jersey Chooses InterSystems TrakCare for Island-Wide Integrated ...
RealWire (press release)
InterSystems CACHÉ® is a high performance object database that makes applications faster and more scalable. InterSystems Ensemble® is a rapid integration ...

and more »

Three 'Best' Persistent Model Patterns Announced
Dr. Dobb's Journal
ORG, a vendor-independent not-for-profit educational program for object database technology, has announced the "best" Persistent Model Patterns, ...

and more »

Water World

Greg Ammon, Water GIS Systems Manager, Los Angeles Department of ...
Water World
With Autodesk software, the largest municipal utility in the United States evolved its GIS system into a powerful object-oriented database, ...

and more »

Database Technology for the Web: Part 1 ? The MapReduce Debate
B-EYE-Network
Relational database products have survived similar battles with object-oriented database technology and multidimensional database systems. ...

and more »

Easing the burden of back-up pain
Sydney Morning Herald
When the company hit on the idea of backing up directly to an object-oriented database, it cast around for a suitable platform, trying out several ...

and more »

More related news: "object database" OR "object-oriented... - Google News

Related books at Amazon.com


Object-Oriented Application Development Using the Caché Postrelational Database
by W. Kirsten, M. Ihringer, M. Kühn, B. Röhrig, A.S. Rudd
Average Customer Review: 2.5 stars based on 7 reviews.
Customer Review: Have gotten extensive use out of this book from my time as a cache developer. Good guide for a programmer who's new to cache, and then later on as a reference guide for an intermediate to experienced developer. Everyone in the dev team got some use out of this as a reference - good to have in the team.

Building Scalable Database Applications: Object-Oriented Design, Architectures and Implementations (Addison-Wesley Object Technology Series)
by Peter Heinckiens
Average Customer Review: 3.5 stars based on 6 reviews.
Customer Review: I think some of the other reviewers might forget this book is at the time of this review writing is 5 years old. At the time of .NET's official non beta release it was just over 3 years old. Truly, this book is as relevant today as it was when it was written. Perhaps some of the concepts of persistence are missed by the first reviewe...

Learn Visual dBasic Programming: A Hands-on Guide to Object Oriented Database Programming
by Martin L. Rinehart
Average Customer Review: 1.5 stars based on 6 reviews.
Customer Review: Not the polished text one would expect from the publisher, but its superficial treatment of the subject is fine for the ex-dBase programmer exploring some of the post-III/IV features of dBase.

Fuzzy and Uncertain Object-Oriented Databases: Concepts and Models (Advances in Fuzzy Systems - Applications and Theory , Vol 13)
by Rita De Caluwe
Publisher: World Scientific Publishing Company
Publication Date: March 1998

Data Access Patterns: Database Interactions in Object-Oriented Applications (paperback) (Software Patterns)
by Clifton Nock
Average Customer Review: 4 stars based on 7 reviews.
Customer Review: I have to disagree with the previous review. I will try to explain why I think 'b88zhou' review is inadequate after presenting my overview of this book. After reading numerous pattern books, it is nice to see a pattern book with very good organization. Each pattern is presented with the following subsections. * Description * Context ...

More related books: Search Amazon.com for object database

 

Copyright © 2000-2009 Barry & Associates, Inc. All Rights Reserved.
You can use this material for your work or classes. Click here for our reprint policy.
www.service-architecture.com

 

 

Newletter Sign Up

 

 

Barry & Associates, Inc.