Транзакционная работа с топиками. Архитектура и сравнение решений в Apache Kafka и YDB
Доклад принят в программу конференции
Целевая аудитория
Тезисы
YDB -- это распределенная платформа для работы с данными с поддержкой OLTP, OLAP нагрузок и потоковыми очередями сообщений (топиками, аналогичными топикам в Apache Kafka). Apache Kafka -- признанный лидер в сфере потоковых брокеров сообщений.
Транзакции в любой системе -- это, с одной стороны, мощный инструмент упрощения кода пользователя и работы с системой в целом, а также достижения гарантий, которые до этого невозможно/сложно было получить. Например, Apache Kafka за счет транзакций позволяет достичь exactly once гарантий. А с другой стороны, это зачастую достаточно сложная и интересная архитектура внутри системы. Транзакции позволяют сложность перенести из пользовательского кода в серверный.
Основной упор в докладе делается на рассмотрение архитектуры транзакций в YDB и Apache Kafka, со сравнением плюсов и минусов этих подходов.
В докладе будут рассмотрены следующие аспекты:
* Что такое топик, транзакционная запись в топик, транзакционное чтение из топика.
* Модельная задача решардирования с гарантиями порядка и exactly once обработки. Почему ее нельзя решить без транзакций в Apache Kafka. Как она решается без транзакций в YDB. Как она решается в обеих системах с использованием транзакций.
* Архитектура транзакций в Apache Kafka.
* Архитектура транзакций в топиках YDB.
* Сравнение производительности транзакций в Apache Kafka и YDB.
Руководитель нескольких инфраструктурных сервисов Яндекса. Участвую в разработке YDB с самого его появления.
Яндекс
Видео
Другие доклады секции
Базы данных и системы хранения