HOME    
 

 

How does JDOInstruments work?

JDOInstruments is an embedded object oriented database and as such it has full support of object identity.

JDOInstruments allocates an object identifier (OID) every time an object is created.

The OID identifies the object uniquely.

The OID is used to implement inter-object references(associations).

The OID is independent from the state of the object and is not changed during the whole life-time of it.

Each OID is generated and it will never be used again , to identify another object even if the object is deleted.

JDOInstruments' OID are 128bits long, of which 64 bits are used to store the object position in disk, and the other 64 bits are used to store an unique number(internal id) so the database could theorically support 2 ^ 64 = 18.446.744.073.709.551.616 objects

OODB Performance.

Navigating between objects in JDOInstruments is very fast and does not depend on the database size.

The OID of each referenced object is stored within the Object and so the exact position on disk of them allowing referenced object retrieval in just one step.

This technique is called Direct-mapping and it outperforms both hashing and B-trees in every case.

Why a relational database is slower when navigating object references?

Because they use Index-based-mapping.

Hashing and B-trees are used in relational databases to search the referenced object OID, this is called Index-based-mapping.

Relational database have to search the object OID using an index and so they became more and more slow depending on the table size.

 

   
.