InfinityDB is an embedded Java DBMS that has been in the field since 2002 in dedicated systems as well as in standalone and server applications. Performance at the 250K operations per second level (@3.0GHz in-memory) has been the determining factor in choosing InfinityDB v1.0 as a reliability-critical system component. Now, v2.0 adds ‘ACID’ transaction semantics, further increasing reliability and applicability.
‘ACID’ means ‘Atomic’, ‘Consistent’, ‘Isolated’, and ‘Durable’. InfinityDB v1.0 could be said to provide only ‘ACD’ semantics, because there are no locks that can provide inter-thread isolation, hence all threads see all other threads’ work immediately. Optional transparent optimistic locks have been added to InfinityDB v2.0. The locks automatically prevent all possible inter-thread interference, such as two threads overlapping read/modify/write patterns and losing the effect of one update. A commit operation applies all changes at once, atomically, or a rollback operation can cancel all changes.