Newletter Sign Up
Posts on the
Design Decomposition Blog
Iridium Satellite Collision in Space
You might have seen the recent news reports about the collision between U.S. and Russian communication satellites. The U.S. satellite was one of the Iridium satellites. What wasn’t reported and you probably don’t know is that an object database management system (ODBMS) is an important part of the Iridium system. Even though ODBMSs are a [...]
February 13, 2009
(The Acronym) SOA is (Perhaps) Dead (at Some Companies); Long Live Services
I am now also posting on the Cutter Blog. My initial posting is (The Acronym) SOA is (Perhaps) Dead (at Some Companies); Long Live Services. It is a response to Anne Thomas Manes’ SOA is Dead; Long Live Services on her blog at the Burton Group.
January 9, 2009
Atomicity
The typical definition of an atomic task or process is one that cannot be decomposed further. This is vague and subject to interpretation. The Decomposition Matrix on this site uses a specific definition: A task (for business process diagrams) or a process (for data flow diagrams) is atomic if every input relates to every output [...]
December 3, 2008
Well-Formed Business Process Diagrams
My last posting referenced the criteria for a well-formed business process diagram mentioned in Business Process Driven SOA using BPMN and BPEL by Matjaz B. Juric and Kapil Pant. I am going to expand on their criteria to create a more comprehensive definition of a well-formed business process diagram. To start, here are three criteria [...]
November 18, 2008
Recent Business Process Modeling Books
I recently received two new books on business process modeling. Both books looked interesting because they had great titles. As it turns out, one book is great and the other not so good. The not so good book is Business Process Driven SOA using BPMN and BPEL by Matjaz B. Juric and Kapil Pant. There [...]
October 9, 2008
The Design Decomposition Blog
is written by Doug Barry.

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

>>
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:

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:

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 websites are currently using ODBMSs. With the projected growth in XML use, it will become more compelling to consider an ODBMS for a website. 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 website. 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:


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

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. You can see more detail by clicking on the arrows. This highlights the location of the current article: ODBMS FAQ.

Loading...

Related recent articles from Google News

5 handy things you can do with Google's new Knowledge Graph search
msnbc.com
If you search for a person, place, or thing within that 500+ million object database, Google adds the related key facts alongside the regular search results. (The tech is still rolling out, but you should see it when you're logged into Google sometime ...
and more »
20 May 2012 at 1:35pm
NoSQL Document/Graph database OrientDB 1.0 released
The H
The database originated with Orient ODBMS, a C++ object database created in 1998, which was rewritten as a document database with a focus on performance. OrientDB 1.0 has an object database layer, but sits over the document database layer mapping Java ...

15 May 2012 at 10:54am
Movers & Shakers – People and Positions for April 2012
Senior Housing News
In addition to serving as Oracle's first Vice President of Sales and Marketing, Seashols held the position of CEO at Avolent (eBilling), Documentum (Content Management), GoldenGate Software (Database Synchronization), Versant (Object Database), ...

26 Apr 2012 at 4:57pm
InterSystems Declares Winner of Latest Worldwide Application Development Challenge
MarketWatch (press release)
InterSystems CACHE(R) is a high performance object database that makes applications faster and more scalable. InterSystems Ensemble(R) is a platform for rapid integration and the development of connectable applications. InterSystems DeepSee(TM) is a ...
and more »
3 May 2012 at 12:41pm
Point Software Wins InterSystems Breakthrough Application Award
MarketWatch (press release)
InterSystems CACHE(R) is a high performance object database that makes applications faster and more scalable. InterSystems Ensemble(R) is a platform for rapid integration and the development of connectable applications. InterSystems DeepSee(TM) is ...
and more »
30 Apr 2012 at 7:56am
More related news on: "object database" OR "object-oriented database"

Related books at Amazon.com

Introduction to Object-Oriented Databases (Computer Systems Series)
Introduction to Object-Oriented Databases (Computer Systems Series)
by Won Kim
Description: Introduction to Object-Oriented Databases provides the first unified and coherent presentation of the essential concepts and techniques of object-oriented databases. It consolidates the results of research and development in the semantics and implementation of a full spectrum of database facilities for object-oriented systems, including data model, query, authorization, schema evol...
C++ Object Databases: Programming with the ODMG Standard
C++ Object Databases: Programming with the ODMG Standard
by David Jordan
Description: In 1991, the Object Database Management Group (ODMG) was formed to define standard interfaces for object databases. This standardization has since been achieved, and the popularity of object databases is on the rise. Similar to using SQL to access a relational database, the ODMG provides a corresponding standard for object databases. This book, technically reviewed by ODMG members,...
Succeeding with Object Databases: A Practical Look at Today's Implementations with Java and XML
Succeeding with Object Databases: A Practical Look at Today's Implementations with Java and XML
by Akmal B. Chaudhri, Roberto Zicari
Description: Take a tour with leading researchers and developers for a practical look at object databases. Whether you currently work with or are thinking of moving to object databases, Chaudhri and Zicari provide a collection of real-world case studies and examples that demonstrate how some of the world's leading companies and research institutions are leveraging Java, XML, and Object Relation...
More related books: Search Amazon.com for object database