The key features of the EYEDB OODBMS are:
- standard OODBMS features:
persistent typed data management;
client/server model; transactional services; recovery system;
expressive object model; inheritance; integrity constraints; methods;
triggers; query language; application programming interfaces ...
- language orientation:
a definition language based on the ODMG Object Definition
Language (ODL);
a query language based on the ODMG Object Query Language (OQL);
several manipulation language bindings (at least C++ and Java),
- genericity and orthogonality of the object model:
inspired by the SmallTalk, LOOPS, Java and ObjVlisp object models
(i.e. every class derives from the class object and can
be manipulated as an object);
type polymorphism;
binary relationships;
literal and object types;
transient and persistent objects;
method and trigger overloading;
template-based collections such as set, bag and array;
multi-dimensional and variable size dimensional arrays,
- support for large databases:
databases up to several Tb (tera-bytes),
- efficiency:
database objects must be directly mapped within
the virtual memory space; object memory copy must be
reduced to the minimum; clever caching policies must be implemented,
- scalability: programs must be able to deal with hundred
of millions of objects without loss of performance.
We describe below how EYEDB meets these requirements.
Section 2 introduces the storage manager subsystem.
In section 3, the object model is exposed.
Sections 4 and 5 describe the EYEDB object definition language and
query language.
Sections 6 and 7 deal with the C++ and Java bindings.
EyeDB manual