Infinity Database Engine™ B-Tree

 

Data Store Component for Embedded Systems        http://www.boilerbay.com/infinitydb

 

The Infinity Database Engine™ B-Tree is the most compact means available to store relational data using pure Java, both in terms of bytecode count and disk or flash memory usage. It is also safe, fast, concurrent, simple, flexible, and proven.


 

---

 

Most Compact all-Java Data Store

Ř       Occupies only 165 KB bytecode, with the minimal core 125 KB.

Ř       100% Pure Java.

v      On-disk Data Compression

Ř       Uses UTF-8 over ZLib and packs B-Tree cells into variable-length units instead of fixed-length blocks, avoiding almost all wasted space, and actually increasing disk I/O speed threefold due to the compaction. Such compaction has only recently become practical because CPU speed has increased faster than disk I/O speed.

Ř       Long, variable-length entries; common prefix compression; and common suffix compression minimize the amount of data that must be stored.  In-memory cell cache uses prefix/suffix compression as well.

Ř       Denser cells means that the OS file cache is better utilized.

Ř       No fragmentation loss in 'extents', 'segments', 'clusters', ‘areas,’ or 'blocks.' 

Ř       All free space is reclaimed immediately and completely after catastrophes such as power failure, user interrupt, program crash and so on.

Ř       Unlimited size and number of databases, relations and rows; no wasted space. Null attributes take no space. Relations and attributes can be added dynamically without schema change, taking space only when and as used.

Atomic Global Commit and Integrity Guarantee

Ř       Guarantees database internal integrity and application-level consistency through catastrophe.

Ř       Reliability comparable to far larger and more complex transaction-based systems that employ logging, without the possibility of deadlocks, forced rollbacks, log overflow, or dirty shutdown with slow restart recovery from the log.

Ř       Code is simplified because forced rollback cannot occur; application may rollback if desired.

High Performance and Concurrency

Ř       In-cache performance is a blazing 60K searches or 30K modifications per second per GHz.

Ř       On-disk performance is 100% concurrent, since there are no page locks at all. (see US Patent 5,283,894.) Threads whose working sets are in the cache are not delayed by those which need data from disk. On-disk operations overlap.

Ř       No SQL parsing or optimization delay on each query. Direct Btree access is used.

Predictable Memory Usage

Ř       Avoids catastrophic out-of-memory errors by using a fixed-size cell cache and no large, temporary allocations. Conversely, JDBC and Object-Relational mappings bring large, variable row sets and Object sets into memory, taking serious risks.

Ř       Accessing BLOB's and CLOB's requires no temporary space -- some systems even bring long objects entirely into memory.

Low Cost of Ownership

Ř       Accommodates a single-file model that eliminates ‘flat’, ‘index’, and log files.

Ř       User Transparency - storage technology invisible to user; no user training or knowledge required.

Ř       Requires no DBA – no installation, configuration, or config files. No need for monitoring of log, segment, or extent sizes.

Ř       Trivial API – essential methods are: create(), open(), insert(), delete(), next(), and commit().

Ř       No SQL – Engine is for use as a transparent component, not an RDBMS replacement. JDBC is not used.

§         No Syntax Portability Problems

§         Simple Schema Upgrade – no nonportable ‘ALTER TABLE’, no version-dependent script proliferation, no DBA needed to run upgrade scripts.

§         No Unpredictable, Variable CPU or Disk Usage when joins are complex or ad-hoc.

Ř       Applications can easily maintain and extend database at runtime.

Ř       Self-Contained – no dependency on other libraries, platforms, or other technologies.

Ř       No Wasted Licensing Fees for unused DBMS capability.

Proven Technology

Ř       As the data storage layer of the BoilerBase Email ® Indexer and Categorizer   the Infinity Database Engine has been in the field since 1999.

Simple Programming and Flexible Data Representation

Ř       Refer to http://www.boilerbay.com/infinitydb/ItemSpaceDataStructures.htm for details about how relational, text, LOB’s, or multiple/composite values can be easily stored and extended.

Ř       The API is simpler than that of any other data store and can be learned completely in a few hours.

 

---

 

Boiler Bay licenses the Infinity Database Engine™, and provides customization and consulting services.

 

Boiler Bay is currently seeking partnerships with embedded and small-system tool vendors. Please visit our site http://www.boilerbay.com/infinity.db and write to us at rlderan@boilerbay.com.**