Хранение данных на Виниле

Habrahabr 1
В 2016-м я выступил на Highload с докладом про Vinyl, движок для хранения данных на диске в Tarantool. С тех пор мы добавили много новых возможностей, но хранение данных на диске — такая объемная тема, что основы, о которых идет речь в этой статье, совсем не изменились.
Содержание (чтобы удобно было ориентироваться):
Почему мы написали новый движок?
Алгоритм
Наполнение LSM дерева
Управление формой LSM-дерева
Поиск
Поиск по диапазону
Удаление
Преимущества LSM
Недостатки LSM и их устранение
Непредсказуемая скорость записи
Непредсказуемая скорость чтений
Компрессия и постраничный индекс
Bloom-фильтры
Кэширование
Управление сборкой мусора
Расширенные возможности Vinyl
Upsert
Вторичные ключи
Транзакции
Заключение
Читать дальше →