2016-10-14 11 views
1

По умолчанию LMDB не поддерживает сжатие. Единственные минусы. с LMDB требуется много дискового пространства по сравнению с leveldb.Как добавить поддержку сжатия в LMDB?

Так их каким-либо образом уменьшить размер db LMDB с помощью любых методов сжатия?

Как добавление мгновенным сжатия ОМТА (LevelDB имеет inbuild мгновенной поддержки сжатия)

ответ

3

У вас есть два варианта:

  • Сжимать значения с какими-либо библиотеками вам подходят (например, энергичными). Это означает, что вы всегда читаете полное значение (вам не всегда нужно это делать, потому что значение указывает на карту памяти). Очевидно, что это помогает только в том случае, если ваши ценности выигрывают от сжатия.
  • Сжатие файла базы данных с любой библиотекой подходит вам. Я полагаю, что это может быть допустимым подходом, если у вас есть базы данных, которые редко доступны, и вы можете позволить себе сначала распаковывать, прежде чем обращаться к чему-либо, возможно, не подходит для большинства случаев использования.

К сожалению, lmdb не поддерживает сжатие, то есть внутренних страниц, которые будут предлагать различные компромиссы, которые мы не можем получить без изменения самого lmdb. Хороший обзор этого можно найти здесь: https://banksco.de/p/lmdb-the-leveldb-killer.html