Lesson plan

ObjectStore

ObjectStore is a commercial object database, a specialized type of NoSQL database designed to handle data created by applications that use object-oriented programming techniques, avoiding the object–relational mapping overhead required when using object-oriented data with a relational database. It is inspired by the Statice database originally developed at Symbolics. ObjectStore is innovative in its use of the C++ language to make database access transparent. Objects can be created in a database by overloading the operator new(). In this way, one can create new C++ objects directly in the database yet these persistent objects look and behave just like normal C++ objects. Data is mapped into memory as operating system pages. When data is referenced in a different page, by making use of signals, ObjectStore traps the pointer exception and transparently brings objects in from the database by bringing in the required page(s). In addition, by use of a technique called swizzling, the database can be accessed from different platforms, with pages being 'swizzled' as they are brought into memory on page faults to correct big endian versus little endian platform issues as well as virtual function table layout. The design of ObjectStore is described in a 1991 paper in the Communications of the ACM.…

Back to article

Article summary

ObjectStore is a commercial object database, a specialized type of NoSQL database designed to handle data created by applications that use object-oriented programming techniques, avoiding the object–relational mapping overhead required when using object-oriented data with a relational database. It is inspired by the Statice database originally developed at Symbolics. ObjectStore is innovative in its use of the C++ language to make database access transparent. Objects can be created in a database by overloading the operator new(). In this way, one can create new C++ objects directly in the database yet these persistent objects look and behave just like normal C++ objects. Data is mapped into memory as operating system pages. When data is referenced in a different page, by making use of signals, ObjectStore traps the pointer exception and transparently brings objects in from the database by bringing in the required page(s). In addition, by use of a technique called swizzling, the database can be accessed from different platforms, with pages being 'swizzled' as they are brought into memory on page faults to correct big endian versus little endian platform issues as well as virtual function table layout. The design of ObjectStore is described in a 1991 paper in the Communications of the ACM.…

Key claims

No claims recorded.

Discussion questions

  1. Summarise the article in your own words. Which single claim would you verify first, and why?
  2. Which claim in this article is most likely to be revised as the sources update? How would you check its current status?
  3. If two sources disagreed about one of these facts, what would you need in order to trust one over the other?

Bibliography

No sources recorded.

Key claims and bibliography are generated from the same tracked claims and sources as the article page.