The PrevDb Project
What is PrevDb?
PrevDb is an open-source Java framework for building high-performance systems with persistent objects. It reads all the objects in the persistent store into memory at startup, and after that only accesses the store to save updates. This makes it suitable for "million-object systems" - one million being a ballpark estimate of the number of objects that will fit into the memory of a typical server with 1Gb of RAM.
PrevDb is inspired by the excellent Prevayler project, but it does not reject relational databases outright. PrevDb is designed to work most effectively with a relational database, but it could also work with other storage methods, such as a simple file-based data store.
The persistent objects need to implement a
The persistent store could be implemented in a number of ways. The first version provides a relational database implementation. A future enhancement will be able to save each transaction to a file which is then used to update the database asynchronously. This will allow very high peak transaction rates - effectively as fast as the computer can make successive single disk writes, which should be in excess of 100 transactions per second on most hardware.
What are the benefits?
The main advantage is very fast performance for systems with small to medium amounts of data.
But as well as high performance, PrevDb provides:
What are the alternatives?
Before deciding to use PrevDb, you might wish to compare it with the following open source alternatives:
What do I need to use it?
PrevDb is written in Java, and requires a reasonable level of Java knowledge to use effectively, as with any other component or library. Current documentation is sparse, but there are comprehensive unit tests that provide examples of how to use the framework.
The documentation is available on-line:
PrevDb has been created by Paul Boocock
PrevDb is an open source product, available for any developer to use as they wish, under an Apache-style licence.
The current release is available at the PrevDb project downloads page.
More information and getting involved
If you would like any more information, or if you would like to contribute to the future development of PrevDb, please contact Paul Boocock
|Last updated: 6 July firstname.lastname@example.org|