List All Pages
Here is a 10 steps examples that demonstrate how to store, query and update objects with ODB.
Step 1: Create and store a Sport instance
public void step1() throws Exception {
//...
Cache implementation is in the package org.neodatis.odb.core.session.
When ODB loads an object, it always keep this object in the cache. The cache is built using Map.
For each object, the cache...
SF Tracker closed
Start looking at ODB Criteria Queries to understand how Criteria Queries work
The equal Criterion used in CriteriaQuery is implemented by...
Client Server mode (CS Mode) allows multiple remote connections to a single database.
Client Server Mode is implemented in a different way than local mode.
In CS Mode, the server work only on Layer...
Here are some ways to contact the ODB team:
By mail : gro.sitadoen|ofni.bdo#gro.sitadoen|ofni.bdo
If you want to join our Jabber chat room : join us!
or for any technical information, the source...
CriteriaQuery let’s you specify restrictions on objects that the query result must contain. The ODB CriteriaQuery API is very close to the Hibernate Criteria API.
Example of a Criteria...
Encryption should be pluggable/adaptable, but include an example based on AES/MD5 which uses the JCE. The sun reference that should be in every modern JRE. An example of use of the (JCE/JRE)...
Use many Distributed NeoDatis Databases and merge them to a single NeoDatis database.
Provide a public OID (that would contain the Database ID and the Object OID)
Mark database as being...
Documents
ODB Quickstart guide :An easy set of steps for running ODB.
How ODB works (Internal Architecture) : How ODB works internally
ODB Coding Practices
For Java development
For .Net...
If you did not find what you are looking for, you can submit a documentation request here by posting a comment on this page explaining what you need. But we recommend to post on Source Forge forum...
To download the source code, you must configure the access to the sourceforge cvs :
host : neodatis-odb.cvs.sourceforge.net
Repository path : /cvsroot/neodatis-odb
Connection type :extssh
What...
ODB use a single Runtime Exception to handle errors : org.neodatis.odb.ODBRuntimeException.
The constructor of ODBRuntimeException receive always receive an instance of...
ODB can be used in:
Local mode
Client Server mode
Local Mode
Local mode is used when one want to run ODB as an embedded database. In this case, ODB runs within the application and there is no...
Available since ODB 1.9.
Some methods of ODB are grouped in a separate interface ODBExt instead of ODB to keep the main interface ODB simple.
The ODBExt interface currently provide the following...
Features requests in specification status
MODB MultiMedia ODB
Total inheritance
New ODB File format
Object Reference Integrity
Database Encryption
Distributed Databases
Reuse Deleted...
Here, we explain the sequence of operations that ODB executes for the four basict database operations :
Insert
Update
Select
Delete
Insert and Update are described together because the two...
Here, we try to explain how ODB works internally. If you are interested in understanding how things work and helping us to build a better software, you are at the right...
If you are allowed to edit pages in this Site, simply click on edit button at the bottom of the page. This will open an editor with a toolbar pallette with options.
To create a link to a new page,...
The best way to learn how to use ODB is to have a look to these two small tutorials:
A 1 Minute tutorial
A 5 Minutes tutorial that shows how to persist, update, delete and query objects.
Then...
Indexes are implemented using BTree.
The package org.neodatis.btree is a generic BTree implementation.
The package org.neodatis.odb.core.btree is the ODB BTree implementation based on the generic...
ODB IO operations use a special multi-buffer to increase performance.
Buffer and Multi-buffer implementation can be found on the org.neodatis.odb.core.io package
The default implementation used by...
How to Join?
Join us!
If you want to join our community : Please, send an email to ODB Team to receive an invitation.
If you want to join our Jabber chat room : join us!
From 1.5.5 to 1.8
Database
The database file format has changed so it is necessary to export database to XML file using version 1.5.5 and import the xml in a new database using the 1.8 version....
MODB stands for MultiMedia ODB
The goal of this feature is to use ODB to store Multimedia File Types.
The idea is not to store the files in the odb database file itself but to store pointers to the...
ODB supports different kind of Multimedia files:
Multimedia files like
Music files
Images files
Video files
Pdf files
Open Office files
Word files
Excel Files
any other type
These implementations...
A Native Object Info is defined like this:
boolean / Boolean
byte / Byte
char / Character
short / Short
int / Integer / BigInteger
long / Long
float / Float
double / Double /...
Native queries(NQ) were introduced by Prof. William Cook at the 27th International Conference on Software Engineering (ICSE) in May of 2005.
NQs are queries written in native language. A native...
If you want to talk with ODB experts, change experience with them, and help others community members, please join us, it is simple and fast.
See below the simples steps to enter on Neodatis-ODB...
The idea of the CDC port is to implement all the classes that NeoDatis uses and that are not part of the CDC API
in a separate source folder (called src-jdk). For example, all classes like HashMap,...
Welcome to NeoDatis Object Database Wiki!
The main site can be found here
Here you will find information about how to use and how it works
NeoDatis ** is a very simple Object Oriented database that...
.Net port is a work in progress yet (still defining the best way to do ). Here we try to explain how we plan to do.
The C# language is very similar to java language, so we believe that is it...
net-port-initial-thoughts
The first NeoDatis ODB .Net version has been built using a Java to C# converter.
Conversion Result
We already converted entire project to .NET platform with help of...
Here are some observations about the new ODB file format.
New Object Ids strategy
Till ODB file format 4, objects of a specific class are linked using prev/next object position. This creates a...
A NonNativeObjectInfo is any type that is not a native-object-info.
These Objects need to be instrospected by ODB.
A NonNativeObjectInfo holds all the object header informations in a...
For ODB, objects can be of 2 types:
Native Objects : simple objects that ODB supports natively.
Non Native Objects : complex objects that ODB does not support natively.
Theses objects are part...
http://sourceforge.net/tracker/index.php?func=detail&aid=1868068&group_id=179124&atid=887888
NeoDatis ODB does not implement Object Reference Integrity. So, if a user has an attribute...
The Object Values API is the third query type that NeoDatis ODB supports.
The Object Values API is a very powerful API to let one retrieve values of object attributes instead of the full object...
Version 1.8 File Format
Version 1.9 File Format
In the current version, ODB stores all its data in a single file:
Meta-model : classes that are stored in the object base
Objects thats are stored
Indexes
File Format Big Picture
ODB file format...
In the current version, ODB stores all its data in a single file:
Meta-model : classes that are stored in the object base
Objects thats are stored
Indexes
File Format Big Picture
ODB file format...
The ODB engine use 3 layers of abstraction to manage data:
Layer 1 : Instance Layer.
Layer 2 : A meta representation of the objects and classes
Layer 3 : The physical storage
Layers Big...
ODB is a very generic name for all Object Oriented Database. Google search for ODB returns millions of links…
Maybe it would be better to have a more specific name.
Maybe only NeoDatis ?
This defines the ways ODB plugins work.
An interesting inspiration is the Eclipse Architecture, could help us take a deep look at it before.
Example
OID stands for Object ID.
In ODB, every entity have an OID.
Entity: a Class or an Object.
An OID uniquely identifies an entity in the ODB Database.
ODB has special blocks to keep associations...
Here is a simple example to demonstrate how it is easy to persist objects with ODB. Here, a java instance is created, the ODB database is opened, the store method is called to save the object and...
A - Overview
ODB roadmap
Releases
Features specifications
Feature requests
.Net port
Unit Testing
B - One Minute Tutorial
Here is a simple example to demonstrate how it is easy to persist objects...
Recent changes
Site Map
All pages
Admin Manage
http://www.neodatis.org/performance-benchmark
The Pluggable Query Manager is a way to plug new query manager to enable ODB to execute some specific query task like full text search or MultiMedia file search.
Check the ODB plugin architecture...
For instance, ODB has five ways to retrieve objects:
Retrieving all objects of a specific class
Retrieving a subset of objects of a specific class using CriteriaQuery
Retrieving a subset of...
New and Noteworthy
shema evolution
rename class and fields - ok
remove fields
add fields
check class info update! - ok
btree remove 3d - ok
300000 objects - not ok
remove asm ok
divide...
New and Noteworthy
Better automatic database refactoring
Manual database refactoring via API and ODB Explorer
Faster indexes
Better ODB Explorer
4 Distributions : full, light, ODB Explorer ,...
http://www.neodatis.org/release-1-9
File format change odb-file-format-1-9
Current Stable release
release 1.8
Development Release
release 1.9
Old releases
Release 1.6 release 1.6
migration from 1.6 to 1.8
Here are some observations about the new Strategy for Reuse Deleted Blocks
The Original post at sourceforge
At present, ODB doesn't seem to recover or reuse the space used by "deleted" objects,...
When a sever side triggers update an object, NeoDatis detects the chang and update the client side object.
This is how it works:
Server Side triggers work on meta representation of the objects and...
Home
Documentation
Performance
The project
Features specifications
The site
How to join this site?
Site members
Site Map
Recent changes
List all pages
Page Tags
Site Manager
edit this panel
Welcome to ODB
Members:
Moderators
Admins
ODB roadmap
Releases
Features specifications
Feature requests
.Net port
Unit Testing
Eclipse
Our favorite IDE.
Junit
For Unit Testing.
YourKit Profiler
YourKit is kindly supporting open source projects with its full-featured Java Profiler.
YourKit, LLC is creator of innovative and...
Total Inheritance
ODB uses transactions to guarantee database integrity (ACID properties).
When an ODB database is opened, a session (org.neodatis.odb.core.session.Session) is automatically created. The session...
ODB supports Triggers for both local & Client/Server mode.
Click Here to see how a server side trigger can update objects on the client side.
Triggers for Local Mode
Server Side...
all the ODB junits are located in the test directory.
ODB currently has 392 junits(16/11/2007). Almost all the juints can be executed in local and server mode.
All the junits extends the OdbTest...
Updating an object can be a very comlicated task. Let's take an example to understand what is happening:
Let's use a simple class User with 2 attributes :
a name (String)
a date of birth...
According to Wikipedia, the world largest wiki site:
A Wiki ([ˈwiː.kiː] <wee-kee> or [ˈwɪ.kiː] <wick-ey>) is a type of website that allows users to add, remove, or otherwise edit...





