Bitcask - Bitcask

Bitcask
Разработчики)Basho Technologies
Репозиторий Отредактируйте это в Викиданных
Написано вErlang
Операционная системаLinux, BSD, Mac OS X, Солярис
ПлатформаIA-32, x86-64
ЛицензияЛицензия Apache 2.0
Интернет сайтдокументы.basho.com/ риак/самый последний/ ops/передовой/ бэкэнды/ bitcask/

Bitcask является Erlang приложение, которое предоставляет API для хранения и извлечения данных ключ / значение в структурированном журнале хеш-таблица. Дизайн во многом обязан принципам, заложенным в файловые системы с лог-структурой и черпает вдохновение в ряде проектов, предполагающих объединение файлов журналов.

Сильные стороны

Bitcask имеет ряд преимуществ благодаря формату данных на диске с однократной записью и только для добавления, а также использованию хэш-таблицы ключей в памяти для поиска:

  • Низкая задержка для операций чтения и записи.
  • Высокая пропускная способность, особенно при записи входящего потока случайных элементов: поскольку записываемые данные не нужно упорядочивать на диске, а структура с журнальной структурой позволяет минимизировать перемещение головки диска во время записи, эти операции обычно насыщают I / O и пропускная способность диска.
  • Одиночный поиск для получения любого значения: хеш-таблица ключей Bitcask в памяти указывает непосредственно на места на диске, где находятся данные. Bitcask никогда не требует более одного поиска на диске для чтения значения, а кэширование файловой системы операционной системы может полностью избавить от необходимости поиска на диске для некоторых поисков.
  • Предсказуемая производительность поиска и вставки: операции чтения и записи имеют фиксированное предсказуемое поведение. Операции записи требуют только поиска до конца текущего файла, открытого для записи, и добавления к этому файлу.
  • Быстрое и ограниченное восстановление после сбоя: формат диска Bitcask упрощает восстановление. Единственные элементы, которые могут быть потеряны, - это частично записанные записи в конце файла, который был открыт для записи последним. Восстановление нужно только просмотреть последнюю запись или две записанные и проверить контрольные суммы для обеспечения согласованности данных.
  • Простое резервное копирование: формат диска Bitcask означает, что любая утилита, которая архивирует или копирует файлы в порядке блоков диска, будет правильно создавать резервные копии или копировать базу данных Bitcask.

Слабое место

Поскольку Bitcask всегда хранит все ключи в памяти, система должна иметь достаточно памяти, чтобы содержать все пространство ключей в дополнение к другим рабочим компонентам и файловой системе операционной системы. буферы.

внешняя ссылка