What is it?
Db4o (Database for Objects) is an open source object database for Java and .net developers. It is claimed to be the only database that is native to both Java and .net.
The developers set out to eliminate "the choice between speed and object orientation" that is forced on developers. Db4o is said to save up to 90% on costs and development time compared with object-relational mappers, which increase code complexity and degrade performance.
The developers behind db40 describe relational databases, from Oracle to MySQL, as "legacy" applications - though this confidence is not yet reflected in demand for their product. But they have some powerful supporters: the company db4objects Inc, which provides the commercial version, has financial backing from the co-founders of Sun and Veritas.
The db4o replication system maintains data compatibility with "legacy" relational databases.
Downloadable, with a footprint of 600Kbytes, the product is suitable for packaged software, mobile and embedded systems and other environments where no database administrator is likely to be available. Once embedded in the application, it is effectively invisible to the end-user.
It is available free under the GNU Public Licence, and in a commercial version with 24x7 support and indemnification for suppliers that want to embed it in commercial products.
Where did it originate?
Db4o was developed in 2000. An open source version was launched in 2001, followed by a commercial launch in 2004.
What's it for?
The developers' "one line of code database" assertion is based on the claim that db4o "performs highly reliable and scalable persistence tasks with just one line of code, no matter how complex object structures may be".
The replication functionality allows data to be synchronised between db40 databases (mobile with desktop or enterprise data, for example), and with relational databases. The class model is the database schema, which eliminates the work of designing and maintaining the schema.
Support for native queries enables developers to access databases using programming languages such as Java, VB.net and C#, rather than query languages such as SQL and EJBQL.
What makes it special?
Db4ojects says "database benchmarks" show db4o to be "up to 55 times faster" than the Hibernate object-relational mapper and MySQL.
How difficult is it to master?
"New users will find that they can download and get started with db4o in five minutes or less," says db4ojects. An interactive tutorial comes with the download.
Where is it used?
Db4o has been downloaded about one million times. Some 25,000 developers have gone on to become registered Java and .net users of the database.
As with many open source products, it is used in odd corners of many large organisations, with particular strength in the academic world, but BMW, Boeing, Bosch, Intel, Ricoh and Seagate have all published case studies of their use of db40.
What systems does it run on?
Db4o supports Java, and runs on J2EE, J2SE and J2ME, with supported mobile platforms including Symbian and Blackberry. It runs on all .net platforms (and on Mono), and supports all managed .net languages, such as C#, VB.net, ASP.net and Managed C++.