[ Russian ] [ English ]

Распределенные транзакции в массивно-распределенной среде

С.Д. Кузнецов
Институт системного программирования РАН, МГУ им. М. В. Ломоносова, МФТИ, НИУ ВШЭ

Доклад основан на материалах статьи [1]. Не так давно [2] казалось, что в современной среде shared-nothing при хранении транзакционных баз данных в основной памяти можно добиться горизонтальной масштабируемости транзакционных приложений. Однако исследования авторов [1] фактически сводят на нет эти ожидания. Для выполнения экспериментов с различными протоколами управления распределенными транзакциями авторы [1] разработали массивно-параллельную инфраструктуру Deneva с хранением данных в основной памяти. Оценивались различные параметры производительности при использовании шести протоколов: два варианта протоколов на основе синхронизационных блокировок, простой и многоверсионный протоколы на основе временных меток, оптимистический и детерминированный протоколы. Использовались рабочие нагрузки на основе тестовых наборов The Yahoo! Cloud Serving Benchmark, TPC-C и Product-Parts-Supplier. Интересно, что в разных ситуациях наилучшие показатели демонстрируют разные протоколы. Но самое интересное состоит в том, что при наличии действительно распределенных транзакций (изменяющих данные в более чем одном узле) ни один протокол не обеспечивает горизонтальной масштабируемости. Анализируются потенциальные пути для выхода из этой плачевной ситуации.

Слайды доклада.

Видео доклада.

Литература:

  1. 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
  2. С.Д. Кузнецов. Транзакционные параллельные СУБД: новая волна. Труды ИСП РАН, т. 20, 2011, стр. 189-251
Supported by Synthesis Group