|
InfinityDB's
continuous, dynamic data compression packs data into
variable-length blocks, avoiding almost all wasted
space in internal fragmentation, while reducing required
disk I/O bandwidth. Making blocks variable-length allows
further compression by layering ZLib over UTF-8,
with a tripling of storage density common.
By
providing 100% variable-length data items, compact
common data values, prefix compression plus branch-cell
suffix compression, only the required part of
the data is actually stored. Variable-length data items,
prefix and branch-cell suffix compression are used in the
memory cache as well.
Data
compression means branching factor is kept high for
fast access, and the OS file cache is better utilized
as well.
There
is no pre-allocation or waste in 'extents', 'segments',
'clusters', or fixed-size blocks. Deletions
or updates do not leave sparse structures - all freed
space is reclaimed completely for immediate reuse without
rebuilding indexes or running offline reorganizers. No gradual
space leaks can occur because free space management is transactional.
Any
size database benefits from the compression, from 10KB
to 10GB and beyond.
|