NeoDatis ODB is a new generation Object Oriented Database. ODB is a real transparent persistence layer that allows anyone to persist native objects with a single line of code.

ODB can be used as an embedded database engine that can be seamlessly integrated to any product as an embedded database or in client/server mode.


ODB is very simple and intuitive: the learning time is very short. Have a look at the ODB one minute tutorial to check this. The API is simple and does not require learning any mapping technique. There is no need for mapping between the native objects and the persistence store.

ODB simply stores objects the way they are.

ODB requires zero administration and zero installation.


The ODB runtime is less than 550k and is distributed as a single jar/dll that can easily be packaged in any type of application.


Download the PolePosition performance Benchmark to check the performance of ODB. Click here for more information.

Safe and Robust

ODB supports ACID transactions to guarantee data integrity of the database. All committed work will be applied to the database even in case of hardware failure. This is done by automatic transaction recovery on the next startup.

One single database file

ODB uses a single file to store all data:

  • The Meta-model
  • The objects
  • The indexes

Multi platform

ODB runs on Java and .Net (Microsoft and Mono) platform*

*:It currently works on Java platform and is being ported to .Net platform.

Thread safety

ODB can be used in a multi-threaded environment. ODB only needs to be informed about the thread pool size (calling Configuration.useMultiThread(true, pool size)).

Data are always available

ODB lets you export all data to a standard XML Format ( Annex 1 of PDF Documentation: Xml Exported file of the tutorial ODB base) which guarantees that data are always available.

ODB can also import data from the same XMLformat.

Import and Export features are available via API or via the ODB Object Explorer.


ODB lets you persist data with a very few lines of code. There is no need to modify the classes that must be persisted and no mapping is needed. So developers can concentrate on business logic implementation instead of wasting time with the persistence layer.

Easy to integrate

The only requirement to use ODB is to have a single jar/dll on the application classpath/path.


ODB currently supports 5 types of refactoring:

  • Adding a new Field (automatically detected)
  • Removing a field (automatically detected)
  • Renaming a class (Via API ou NeoDatis Object Explorer)
  • Renaming a Field (Via API ou NeoDatis Object Explorer)
  • Changing the type of a field (respect the ODB Matrix Type Compatibility) (not yet implemented)


ODB is distributed under the LGPL license.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License