My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Featured
Downloads
Wiki pages
Links

SimpleDBM is an Open Source Transactional Database Engine in Java. It has a very small footprint and can be embedded in the address space of an application. It provides a simple programming API, which can be learned very quickly. More recently work is being done to provide a network API for remote access.

Features

SimpleDBM has the following features:

  1. Transactional - SimpleDBM fully supports ACID transactions. SimpleDBM uses a STEAL/NO-FORCE buffer management strategy for transactions.
  2. Multi-threaded - SimpleDBM is multi-threaded and supports concurrent reads and writes of data.
  3. Write Ahead Log - SimpleDBM uses a write ahead log to ensure transaction recovery in the event of system crashes.
  4. Lock based concurrency - SimpleDBM uses shared, update and exclusive row locks to manage concurrency.
  5. Multiple Isolation Levels - SimpleDBM supports read-committed, repeatable-read, and serializable isolation levels.
  6. B-Tree Indexes - SimpleDBM implements B-plus Tree indexes, that fully support concurrent reads, inserts and deletes. SimpleDBM B-Trees continually re-balance themselves, and do not suffer from fragmentation.
  7. Tables - SimpleDBM supports tables, but for maximum flexibility, treats table rows as blobs of data. Table rows can have any internal structure as you like, and can span multiple disk pages. Standard table rows with multiple columns are supported via add-on modules.
  8. Latches and Locks - SimpleDBM uses latches for internal consistency, and locks for concurrency. Latches are more efficient locking mechanisms that do not suffer from deadlocks.
  9. Deadlock detection - SimpleDBM has support for deadlock detection. A background thread periodically checks the lock table for deadlocks and aborts transactions to resolve deadlocks.
  10. Network API - From release 1.0.18 a network client server implementation is included that allows SimpleDBM servers to run standalone and remote clients to connect via TCP/IP. Only Java bindings available right now.

Non Features

  1. SimpleDBM does not suport SQL.
  2. There is no support for distributed transactions (XA) yet.

Status

SimpleDBM is currently in early BETA and not suitable for use in Production systems. The latest builds can be downloaded from http://code.google.com/p/simpledbm/downloads/list.

News

  • 19 April 2010 - SimpleDBM 1.0.18-ALPHA released. This contains a first implementation of the network client server.

License

SimpleDBM is licensed under GPL v2 with a clause similar to GNU Classpath Exception.

NOTICE

The license has changed with the new SimpleDBM RSS 1.0.15 BETA release. A GNU Classpath Exception clause has been added to the license.

Powered by Google Project Hosting