Vladislav Shpilevoy PRO
Database C developer at Tarantool. Backend C++ developer at VirtualMinds.
Выполнил:
Шпилевой Владислав Дмитриевич
Научный руководитель:
Волканов Дмитрий Юрьевич
B-tree
Read/Write
balance
HDD
Память
Диск
Уровень 0
Уровень 1
Уровень N
LSM-tree
SSD
Много случайной записи
Запись всегда
последовательна
Read/Write
disbalance
REPLACE
DELETE
Конец
Хороший сценарий:
Нет записи / чтений диска
REPLACE
DELETE
Конец
Плохой сценарий:
Чтение диска
Первичный индекс
Первичный индекс
Вторичный индекс
Прочитать
старые данные из первичного индекса, удалить из всех
Вставка в первичный
индекс
Вставка во все индексы
Вторичный индекс
Разработать и реализовать алгоритм отложенного обновления вторичных индексов на LSM деревьях
REPLACE
DELETE
Конец
Нет чтений диска
Первичный индекс
Вторичный индекс
Вторичный индекс
Вставка во все индексы
Вставка:
Слияние уровней:
Первичный индекс
Вторичный индекс
Вторичный индекс
Ключи
старых версий
REPLACE + DELETE нагрузка
INSERT + UPDATE + SELECT нагрузка
x10
x2
Ускорение REPLACE:
Ускорение DELETE:
By Vladislav Shpilevoy
Database C developer at Tarantool. Backend C++ developer at VirtualMinds.