The yaRDBMS (yet another relational database management system) is a Java based, transactional highly concurrent relational database management system with advanced query optimization, indexing features and crash recovery.

The yaRDBMS uses on write-ahead log (WAL) based transaction management. The development is currently in its early stages. It has basic transaction support, an incomplete JDBC driver and basic SQL support (only two-table joins are supported for the time being). What is totally lacking currently is security and crash recovery.

The yaRDBMS uses B+ trees for indexing (currently only for the primary keys. Secondary index support using B+ trees will be available shortly). It supports multiple schemas in a similar fashion to mySQL i.e. every schema has its own directory in the file system. For concurrency currently writer preference read-write locks are used. Finer grain locking mechanisms (with intention locks) are under development. The transaction model in yaRDBMS is suitable for short transactions common with most of the traditional transaction processing applications.

Licence: LGPL