CS262B Reading Summary

The ObjectStore Database System

Charles Lamb et al.

Summary by Feng Zhou
2/23/2004

Strong points of the paper are:

  1. Ease-of-programming and better static checking via tight integration with programming languages are big pluses for object-oriented databases.  This is true with ObjectStore, which integrates with an extended version of C++.  It also provides library interfaces for vanilla C++ and C, which makes using ObjectStore less intrusive for legacy systems.
  2. The use of virtual memory in the implementation of the integrated DB interface is efficient and clean.  It also seems to be the only way to implement true transparent persistence without instrument every pointer de-reference, which will not be an easy job to do well, both performance-wise and correctness-wise.  However, one drawback of the VM approach is that it needs a hook to the VM part of the OS kernel on the client machine.  This is an rather intrusive requirement.
  3. The fact that references (joins) are materialized in ObjectStore databases help performance greatly.  A large number of SQL join queries are actually used simply to resolve references between data objects.  However, they incur all the overhead of query parsing, execution and resultset construction. Teh same operations can be done in ObjectStore via a simple pointer de-reference, which is shown by the evaluation to be orders of magnetude faster.
One major flaw.

Tight integration with languages is a two-edge sword.  One side of it eases programming, improves performance, etc.  The other side, however, means a wider interface, harder user acceptance, reduced portability of user applications and increase difficult in supporting new languages.