Транзакционная работа с топиками. Архитектура и сравнение решений в Apache Kafka и YDB

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

Распределенные системы
Архитектура данных, потоки данных, версионирование
Обработка данных

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

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

Доклад расскажет про транзакционные топики в YDB, которые появились совсем недавно, но уже используются в бою в Яндексе. Будет раскрыта архитектура этого решения, а также сравнение с транзакционными топиками в Apache Kafka.

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

Разработчики, лиды разработки, технические менеджеры и архитекторы. Все, кто работает с распределенными и/или высоконагруженными системами, кто их строит. Все, кто озабочен достижением высоких гарантий в обработке данных.

Тезисы

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 с самого его появления.

Яндекс

Яндекс — технологическая компания, которая создает инновационные продукты на основе машинного обучения и нейронных сетей. Команда талантливых математиков и программистов развивает самую популярную в России поисковую систему и более 85 пользовательских сервисов, которые помогают людям в повседневных заботах.

Видео

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

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