What is it all about?
BergDB is a Java/.NET database library designed to make it easy and efficient to store data without leaving the comfort of our beloved source code. I created BergDB for us developers who prefer to focus on our specific task, rather than spend time on database issues. BergDB is a simple, secure, fast, unobtrusive database library. It is designed to reduce development time, to provide high transaction throughput and to keep data safe.
* In-process. BergDB is designed for application databases and runs in the same process as the application code for highest possible performance and for reduced complexity. * Widely cross-platform. The database library is available to any JVM or .NET language. * Scalable. BergDB is suitable for applications storing small amounts of data, say 1 kB. Yet, it scales to store terabytes of data in billions of entries. * Time-key-value data model. Data is stored as time-key-value entries. * Schemaless. Values stored in the database are raw byte arrays, Unicode strings, or objects (could also be called "documents"). * Secondary indexes. Besides the primary index, BergDB supports secondary indexing of objects based on object field values. * Code only. The developer use ordinary Java (or any other .NET/JVM language) code to store and retrieve data. * Simple API. The database runs embedded in your application process for highest possible performance. * Transaction throughput. BergDB is designed to be fast for both traditional rotating disk drives and for solid state drives. * Always consistent. Changes to the database state is always made using atomic transactions with the highest isolation level: serializable.