Как работает MVCC в In-Memory-СУБД

Базы данных и системы хранения

Устройство In-Memory СУБД

Tarantool
Архитектура данных, потоки данных, версионирование

Доклад принят в программу конференции

Мнение Программного комитета о докладе

В докладе будет дан обзор подходов для реализации MVCC в in-memory-базах данных, а также границы их применимости. Во второй части будут раскрыты особенности реализации снапшотов в Tarantool.

Целевая аудитория

Пользователи и разработчики баз данных.

Тезисы

Один из ключевых механизмов любой СУБД — это возможность предоставить согласованное состояние данных в базе в виде "снимка" или "снапшота". Этот механизм используется в первую очередь для организации изоляции транзакций: каждая транзакция видит свою версию состояния базы данных. В сочетании с другими механизмами это порождает технологию MVCC, когда транзакции независимо и одновременно видят каждая свое собственное состояние БД и работают в нем. Помимо этого, снимок состояния базы данных (записанный в файл) можно использовать для восстановления после перезапуска, а также для инициализации реплики.

Изначально MVCC был придуман и реализован для дисковых БД, это хорошо известная и описанная технология. Последующее развитие баз данных в памяти привело к созданию специализированных подходов именно к базам данных в памяти.

В этом докладе я на примере In-Memory-СУБД Tarantool в памяти расскажу, как устроены снимки данных и MVCC, как и почему эволюционировали эти алгоритмы, во что обходится поддержание этих структур пользователю, как правильно использовать и что ожидать от этих механизмов.

Закончил МФТИ, большую часть жизни работал программистом в разных областях. В основном пишет на C/C++ в сфере разработки баз данных. Интересуется алгоритмами и оптимизацией.
Работает в Tarantool-подразделении VK, разрабатывают СУБД Tarantool.

Tarantool, VK

Tarantool — платформа in-memory-вычислений с гибкой схемой данных для эффективного создания высоконагруженных приложений. VK — это больше 200 технопроектов. Свыше 10 000 человек создают и развивают одни из самых популярных и высоконагруженных интернет-сервисов в стране. Делают комфортнее, легче и интереснее жизнь сотне миллионов людей.

Видео

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

Базы данных и системы хранения