InfinityDB is an embedded database engine based on a B+Tree written in Java. It supports relational data and non-tabular or custom structures. InfinityDB is appropriate for embedded hardware platforms, text indexing engines, distributed industrial data collection systems, and heterogeneous data environments.


The Infinity Database Engine was first written by Roger L. Deran in the Intel 8088 assembly language in the 1980s. It was then re-written to be entirely in Java in 2002 and now marketed by Boiler Bay Inc.


Bit Packing / Mostly Encoding Prefix Compression

InfinityDB supports compression for both in-memory and on disk data. It uses ZLib for compressing common substrings and small values via Huffman coding. Furthermore, it also supports prefix and suffix compression to remove common-prefixes in keys and common suffixes in upper tree levels. Other compression methods, including variable-length concatenations of primitives and variable-length encoded Java primitives, are used as well.

Concurrency Control

Optimistic Concurrency Control (OCC)

InfinityDB 1.0 only executes one global transaction at a time. Any data store modification in the system will be visible to all threads. No lock is used and one global transaction is effected all the time.

InfinityDB 2.0 added support for multi-threaded transactions using optimistic concurrency control. If one transaction of a particular thread has held one lock and another transaction of another thread requests this lock. The existing locks of the requester are all released, the transaction is reset to the not-in-progress state and changes are rolled back. InfinityDB does not use pessimistic locking to avoid deadlocks.

Data Model

Relational Key/Value Graph Hierarchical Array / Matrix

InfinityDB supports a rich data representation space. ItemSpace is the lowest-level data model containing a set of Items. The basic data model can be used to define huge spare arrays, matrix, any mixture of trees, graphs, key/value maps, key/value maps or user-defined structures.



InfinityDB is based on its own proprietary lock-free, concurrent B+tree.

Isolation Levels

Read Committed Serializable

InfinityDB 1.0 transactionality provides no isolation. For InfinityDB 2.0, it supports Serializable and Read Committed transaction isolation modes.


Shadow Paging

InfinityDB uses a copy-on-write approach for updating the database, thus it does not require a log.

Storage Architecture


InfinityDB stores and compresses data on disk and in memory.

System Architecture


InfinityDB is an embedded database engine written in Java.

People Also Viewed

InfinityDB Logo

Tech Docs




Boiler Bay Software

Country of Origin


Start Year


Project Type


Written in


Supported languages


Operating Systems

All OS with Java VM




People Also Viewed