Крупнейшая профессиональная конференция для разработчиков высоконагруженных систем

Транзакционная работа с топиками. Архитектура и сравнение решений в 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 с самого его появления.

Яндекс

Про инфраструктуру Яндекса наверняка многое известно. Я отвечаю за сервисы, которые должны работать 24\7, передавать сотни гигабайт данных в секунду с минимальными задержками. Все это возможно благодаря сильной команде грамотных инженеров.

Видео

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

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