Распределенные транзакции в массивно-распределенной среде
С.Д. Кузнецов
Институт системного программирования РАН, МГУ им. М. В. Ломоносова, МФТИ, НИУ ВШЭ
Доклад основан на материалах статьи [1]. Не так давно [2] казалось, что в современной среде
shared-nothing при хранении транзакционных баз данных в основной памяти можно добиться
горизонтальной масштабируемости транзакционных приложений. Однако исследования авторов [1]
фактически сводят на нет эти ожидания. Для выполнения экспериментов с различными протоколами
управления распределенными транзакциями авторы [1] разработали массивно-параллельную
инфраструктуру Deneva с хранением данных в основной памяти. Оценивались различные параметры
производительности при использовании шести протоколов: два варианта протоколов на основе
синхронизационных блокировок, простой и многоверсионный протоколы на основе временных меток,
оптимистический и детерминированный протоколы. Использовались рабочие нагрузки на основе
тестовых наборов The Yahoo! Cloud Serving Benchmark, TPC-C и Product-Parts-Supplier.
Интересно, что в разных ситуациях наилучшие показатели демонстрируют разные протоколы.
Но самое интересное состоит в том, что при наличии действительно распределенных транзакций
(изменяющих данные в более чем одном узле) ни один протокол не обеспечивает горизонтальной
масштабируемости. Анализируются потенциальные пути для выхода из этой плачевной ситуации.
Слайды доклада.
Видео доклада.
Литература:
- Rachael Harding, Dana Van Aken, Andrew Pavlo, Michael Stonebraker. An Evaluation of Distributed Concurrency Control. Proceedings of the VLDB Endowment, 2017, Vol. 10, No. 5, pp. 553-564
- С.Д. Кузнецов. Транзакционные параллельные СУБД: новая волна. Труды ИСП РАН, т. 20, 2011, стр. 189-251
|