Microsoft Research открыл код быстрого хранилища в формате ключ/значение
Исследовательское подразделение компании Microsoft опубликовало новое открытое хранилище FASTER, манипулирующее данными в формате ключ/значение и ориентированное на обеспечение распараллеливания обработки запросов и очень высокой скорости выборки в условиях большой интенсивности обновления данных. Хранилище оформлено в виде встраиваемой библиотеки, доступной в вариантах для языков C++ и C, и распространяемой под лицензией MIT.
FASTER поддерживает как хранение данных только в памяти, так и создание хранилищ, превышающих по размеру имеющееся ОЗУ и дополнительно привлекающих внешние накопители. При размещении в ОЗУ обеспечивается производительность на уровне 160 млн операций в секунду, что превышает производительность конкурирующих решений, таких как kyoto cabinet, LevelDB и RocksDB. Для обеспечения целостности предоставляется специально разработанная в Microsoft Research новая схема восстановления записей, которая отличается от других решений более высокой производительностью, ценой незначительного повышения задержек при выполнении коммитов.
БД отлично адаптирована для применений, активность в которых сосредоточена на сочетании операций чтения, изменения и перезаписи данных в БД. Для достижения высокой интенсивности операций обновления и экономии памяти в FASTER используется архитектура на основе гибридного лога записей (HybridLog), который комбинирует структуру в виде хэша, допускающую замену существующих записей в оперативной памяти, с организацией хранения на диске в форме только дополняемого лога. Особенностью HybridLog также является осуществление буферизации и хранения на уровне отдельных записей, а не страниц фиксированного размера.