DBDB.io The Encyclopedia of Database Systems · Est. 2017
Database of Databases

Database Entry

InfinityDB


InfinityDB is an embedded database engine written in Java. It is based on a fast, reliable and high concurrent B-Tree architecture to guarantee high performance. It can represent and manipulate relational data and non-tabular or custom structures. InfinityDB is appropriate for embedded hardware platforms, text indexing engines, distributed industrial data collection systems, heterogeneous data environments and much more.

Country of Origin
US
Start Year
2002
Project Type
Commercial
Written in
Java
Supported Languages
Java
Operating System
All OS with Java VM
License
Proprietary

Database Entry

InfinityDB


InfinityDB is an embedded database engine written in Java. It is based on a fast, reliable and high concurrent B-Tree architecture to guarantee high performance. It can represent and manipulate relational data and non-tabular or custom structures. InfinityDB is appropriate for embedded hardware platforms, text indexing engines, distributed industrial data collection systems, heterogeneous data environments and much more.

History


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.

Compression[04][05]


InfinityDB can achieve high compression on disk and in memory. ZLib is used for compressing common substrings and small values are compressed by ZLib's Huffman coding to reduce block-internal free space. Furthermore, prefix and suffix compression are used. Furthermore, prefix and suffix compression are used 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[06]


InfinityDB 1.0 only has 'ACD' features and uses a single global transaction. 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 adds transparent multi-Threaded transactionally and the global transaction of InfinityDB 1.0 is also available. The system uses optimistic locking and the optimistic protocol is two-phase. 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 guarantee there is no probability of deadlocks.

Data Model[07][05]


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.

Indexes[05][08]


InfinityDB supports B-tree. The B-tree is proprietary lockless and concurrent. For each level of the B- Tree, there is one Meta Index used to find a B-Tree cell quickly.

Isolation Levels[06][09]


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

Logging[06]


InfinityDB 1.0 and 2.0 requires no log. The single infinityDB data file contains the transactionality. A 'Copy on Write' style system of InfinityDB supports global atomicity, rollback capability and durability

System Architecture


Citations

9 sources
  1. InfinityDB Embedded – Boiler Bay Software boilerbay.com
  2. Documents – Boiler Bay Software boilerbay.com
  3. InfinityDB - Wikipedia wikipedia.org
  4. https://boilerbay.com/infinitydb/manual/features.html; boilerbay.com Dead — Check Archive
  5. Boiler Bay Software – InfinityDB Java NoSQL Database boilerbay.com
  6. ACID Transactionality boilerbay.com
  7. InfinityDB Programming Guide boilerbay.com
  8. TheDesignOfTheInfinityDatabaseEngine.PDF boilerbay.com
  9. InfinityDB Programming Guide boilerbay.com
Revision #15 Last Updated: