Конференция завершена. Ждем вас на Highload++ в следующий раз!
Москва, СКОЛКОВО
8 и 9 ноября 2018

VShard - горизонтальное масштабирование в TarantoolБазы данных и системы хранения

Доклад принят в программу конференции
Владислав Шпилевой
Tarantool

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

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

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

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

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

API
,
Архитектурные паттерны
,
Распределенные системы
,
Масштабирование с нуля
,
Lua

Другие доклады секции Базы данных и системы хранения

Rambler's Top100