Not being listed among the links, I would like to comment, how our object database solves some of the issues that are discussed here in a prejudiced way:
- schema evolution
We simply store a superset of all class schema versions. Objects stored with older versions simply have null values for newly added members. Recompilation is not necessary.
- administration
Using reflection, the class schema is analyzed on-the-fly. The administration effort is zero.
- immaturity of current object databases
Good point!
- queries
Our implementation uses query-by-example for equality comparisons. We are working on a specification for more complex queries:
http://www.odbms.org/soda/soda.zip
- performance
Insert performance beats any relational approach by powers of 10 since we kick out all driver overhead. A benchmark comes with the download. Query performance is still deficient since we don't use indices yet, but we will get there.
- database design
Your class model says it all. There is no need to apply a second view not capable of inheritance.
- complexity
Our interface consists of 3 classes with 17 functions. Take tonight to learn it all.
- samples
...are available with the download
- price
Our product is free for non-commercial use.
Kind regards,
Carl
---
Carl Rosenberger
db4o - database for objects
http://www.db4o.com
Two large lists of ODBMS:
http://www.javaskyline.com/database.html#odbms
http://www.cetus-links.org/oo_db_systems_1.html
ozone is open source
db4o is free for non-commercial
Java reflection allows for a very effective and seamless way to store objects.
Reflection also allows a very natural way of query-by-example.
You might want to have a look at www.db4o.com.
Not being listed among the links, I would like to comment, how our object database solves some of the issues that are discussed here in a prejudiced way:
- schema evolution
We simply store a superset of all class schema versions. Objects stored with older versions simply have null values for newly added members. Recompilation is not necessary.
- administration
Using reflection, the class schema is analyzed on-the-fly. The administration effort is zero.
- immaturity of current object databases
Good point!
- queries
Our implementation uses query-by-example for equality comparisons. We are working on a specification for more complex queries:
http://www.odbms.org/soda/soda.zip
- performance
Insert performance beats any relational approach by powers of 10 since we kick out all driver overhead. A benchmark comes with the download. Query performance is still deficient since we don't use indices yet, but we will get there.
- database design
Your class model says it all. There is no need to apply a second view not capable of inheritance.
- complexity
Our interface consists of 3 classes with 17 functions. Take tonight to learn it all.
- samples
...are available with the download
- price
Our product is free for non-commercial use.
Kind regards,
Carl
---
Carl Rosenberger
db4o - database for objects
http://www.db4o.com