Офис Mail.ru, Москва, 21 июня 2018

VShard - горизонтальное масштабирование в TarantoolГрид архитектура

Программный комитет ещё не принял решения по этому докладу
Владислав Шпилевой
Tarantool

Работает в Tarantool над разработкой серверной части. Занимался разработкой дискового движка и поддержкой движка в оперативной памяти. Разработал модуль горизонтального масштабирования, сделал первую версию слияния SQLite и Tarantool, разработал новый алгоритм обновления индексов на LSM деревьях в дисковом движке. Разработал алгоритм смены мастера в репликационном кластере, алгоритм проксирования запросов внутри репликасета. Реализовал протокол Two-Phase Commit.

v.shpilevoy@tarantool.org
Тезисы

До 2018 года единственным средством горизонтального масштабирования СУБД Tarantool был Shard - это модуль, реализующий шардинг - частный случай горизонтального масштабирования. Shard реализует шардирование по функции от первичного ключа, поддерживает изменение топологии кластера, ребалансировку. При этом у него есть три существенных недостатка:
- нет никакой возможности хранить логически связанные данные на одном узле, и ребалансировать их всегда вместе;
- ребалансировка либо успешно выполняется целиком, либо происходит ошибка, и все переносится заново;
- для ребалансировки требуется заново пересчитывать шард-функции от каждой записи в каждой таблице.

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

В рамках доклада пойдет речь о внутреннем устройстве VShard, о его подсистемах и реализации, с примерами использования.

API
,
Tarantool
,
Архитектурные паттерны
,
Отказоустойчивость
,
Распределенные системы
,
Разработка библиотек, включая open source библиотеки
,
Масштабирование с нуля
,
Логирование и мониторинг
,
Управление конфигурацией
,
Технологии отказоустойчивости и катастрофоустойчивости, бэкапы
,
Lua

Другие доклады секции Грид архитектура