Hi,
I am pleased to announce release 1.0.8 of SimpleDBM.
SimpleDBM is a transactional database engine, written 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.
SimpleDBM has the following features:
1. Transactional - SimpleDBM fully sup****ts ACID transactions.
SimpleDBM uses a STEAL/NO-FORCE buffer management strategy for
transactions.
The Transaction Manager implements the ARIES algorithm as published in
C. Mohan, D. Haderle, B. Lindsay, H. Pirahesh and P. Schwarz. ARIES: A
Transaction
Recovery Method Sup****ting Fine-Granularity Locking and Partial
Rollbacks Using
Write-Ahead Logging. ACM Transactions on Database Systems, 17(1):
94-162, March 1992.
2. Multi-threaded - SimpleDBM is multi-threaded and sup****ts
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 sup****ts read-committed,
repeatable-read, and serializable isolation levels.
6. B-Tree Indexes - SimpleDBM implements B-plus Tree indexes,
that fully sup****t concurrent reads, inserts and deletes. SimpleDBM
B-Trees continually re-balance themselves, and do not suffer from
fragmentation.
The BTree Manager implements concurrent and recoverable B-Link trees
as
described in Ibrahim Jaluta, Seppo Sippu and Eljas Soisalon-Soininen.
Concurrency
control and recovery for balanced B-link trees. The VLDB Journal,
Volume 14,
Issue 2 (April 2005), Pages: 257 - 277, ISSN:1066-8888.
7. Tables - SimpleDBM sup****ts 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.
Also available in this release is a simple typesystem and high
level database API that provides a simple data dictionary.
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 sup****t for deadlock
detection. A background thread periodically checks the lock
table for deadlocks and aborts transactions to resolve deadlocks.
10. SQL sup****t - SimpleDBM does not sup****t SQL at this time.
Please visit the website http://www.simpledbm.org
for detailed
information.
The source code for SimpleDBM is available under the GPL v2 license.
The source code is well do***ented and the design allows interested
students and developers to play with individual modules. This makes
the system
suitable for use in education.
Generous do***entation is available on the internals of SimpleDBM.
I would like to invite you to have a look at the project and give it
a
try. I believe that this project delivers many of the basic building
blocks of
a database in an easily accessible manner.
I shall be happy to help and answer questions related to the project.
Please note the product is still under development, and is not yet
suitable for Production use.
Thanks and Regards
Dibyendu Majumdar


|