Compressing the index reduces disk space consumption and speeds up the indexing by reducing I/O.
Compressing at the mifluz
level would imply choosing complicated key
structures, slowing down and complexifying insert and delete
operations. We have chosen to do the compression within Berkeley DB in
the memory pool subsystem. Berkeley DB keeps fixed size pages in a
memory cache, when it is full it writes the least recently used pages to
disk. When a page is needed Berkeley DB looks for it in memory and
retrieves it from disk if its not in memory. The compression/uncompression
occurs when a page moves between the memory pool and the disk.
• Berkeley DB Compression: | ||
• Page compression in Mifluz: |