Developer(s) | Versata |
---|---|
Initial release | 1988 |
Stable release |
2013 Update 1 / April 1, 2014
|
Written in | C++, Java |
Operating system | Windows, Linux |
Type | Object database |
License | Proprietary license |
Website | www |
ObjectStore is a commercial object database, which is a specialized type of database designed to handle data created by applications that use object-oriented programming techniques. 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 store C++ objects directly in the database and these persistent objects look and behave just like normal C++ objects. By making use of signals, ObjectStore traps pointer exceptions and transparently brings objects in from the database. 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.
ObjectStore was originally created in 1988 by Object Design, Incorporated, which was based in Burlington, Massachusetts and founded by several former Symbolics employees, including Daniel Weinreb. In 2002 the product was acquired by Progress Software, which continued to develop the technology, expanding its use beyond the object database market to target uses as a database for real-time computing, specifically designed for RFID data management, and as a cache for relational databases.