Видеозаписи 2024
- Методы и подходы к тестированию распределённой базы данных
- Стоимостный оптимизатор в YDB — как, зачем и почему?
- Транзакционная работа с топиками. Архитектура и сравнение решений в Apache Kafka и YDB
- Как объединять данные из разных СУБД и делать это эффективно
- Гарантии доставки сообщений в YDB Topics
- Интеграция распределенных SQL-хранилищ с Java-фреймворками на примере YDB
- Гарантии доставки сообщений в YDB Topics
- Шардированный не значит распределенный: что важно знать, когда PostgreSQL мало
- YDB — параллельная асинхронная репликация в распределенной базе
- YDB Topics: история взаимоотношений с Kafka
Методы и подходы к тестированию распределённой базы данных
Виталий Гриднев (Ведущий разработчик) подробно рассказал о тестировании YDB. Доклад начинается с общего представления того, как организовано тестирование YDB, какие проблемы возникают при тестировании распределённых компонентов базы данных и почему в YDB необходимо проводить хаос-тестирование.
Затем Виталий углубляется в архитектуру тестового сценария для хаос-тестирования, рассматривая все этапы — от разработки генераторов и сценариев нагрузки до создания инструментов для внешнего воздействия на систему.
Вы узнаете, как с помощью характеристик safety и liveness можно выявлять дефекты в системе. Доклад будет полезен разработчикам в тестировании, интересующимся тестированием распределённых систем.
Стоимостный оптимизатор в YDB — как, зачем и почему?
YDB создавалась как OLTP-система для высоконагруженных проектов, но со временем в ней появились и аналитические запросы. Их сложно оптимизировать вручную, поэтому важную роль играет стоимостный оптимизатор.
Несколько лет назад команда YDB добавила поддержку колоночного хранения и сложной аналитики, что повысило требования к оптимизации. Теперь система может работать в режиме HTAP, где запросы автоматически распределяются между строковым и колоночным хранилищем.
В этом докладе Павел Велихов расскажет, как команда разработала стоимостный оптимизатор, какие задачи он решает и как YDB выглядит на фоне конкурентов в OLTP, OLAP и HTAP-сценариях.
Доклад будет полезен разработчикам СУБД, аналитических платформ и высоконагруженных систем.
Транзакционная работа с топиками. Архитектура и сравнение решений в Apache Kafka и YDB
Транзакции упрощают код и обеспечивают гарантии, такие как exactly-once доставка сообщений. В Apache Kafka транзакции позволяют достичь этих гарантий, но требуют сложной внутренней архитектуры. YDB изначально поддерживает транзакции, что влияет на подход к работе с топиками.
В докладе Алексея Николаевского рассматриваются:
- Понятия топика, транзакционной записи и чтения.
- Решение задачи решардирования с сохранением порядка и exactly-once обработки в Apache Kafka и YDB.
- Архитектуры транзакций в обеих системах.
- Сравнение производительности транзакций.
Доклад будет полезен разработчикам распределенных и высоконагруженных систем, стремящимся к высоким гарантиям в обработке данных.
Как объединять данные из разных СУБД и делать это эффективно
Анализ данных, распределённых по различным системам хранения, таким как реляционные СУБД и CSV-файлы в S3, представляет собой сложную задачу. При небольшом объёме данных можно использовать скрипты для последовательного чтения и объединения информации в оперативной памяти. Однако с увеличением объёмов и сложности данных такой подход становится неэффективным.
В таких случаях на помощь приходят СУБД и движки обработки запросов с федеративными возможностями. Они позволяют использовать выразительный SQL для описания аналитических операций и эффективно обрабатывать большие объёмы данных из различных источников.
В своём докладе Виталий Исаев расскажет о принципах работы подобных систем и ключевых оптимизациях, обеспечивающих быструю и эффективную обработку данных.
Доклад будет полезен разработчикам и аналитикам, работающим с данными, размещёнными в различных СУБД и хранилищах.
Гарантии доставки сообщений в YDB Topics
Александр Зевайкин(Руководитель группы) продемонстрировал базовые проблемы ненадежной передачи данных и способы борьбы с ними: повторы и дедупликацию. На примере паттернов микропроцессорной архитектуры он проиллюстрировал гарантии доставки: at-most-once, at-least-once, exactly-once.
В завершение выступления Александр показал детали реализации гарантий доставки на примере двух брокеров очередей сообщений: Kafka и YDB Topics.
Интеграция распределенных SQL-хранилищ с Java-фреймворками на примере YDB
В докладе рассматриваются ключевые аспекты и основные вызовы, возникающие при интеграции популярных Java-фреймворков с распределённой СУБД на примере YDB. Освещаются проблемы, которые необходимо учесть для успешной интеграции. Докладчик раскрывает, как Java-фреймворки могут быть адаптированы и интегрированы с распределёнными SQL-хранилищами, и сравнивает различные решения в этой области.
Доклад будет полезен разработчикам, архитекторам и DevOps-инженерам, занимающимся внедрением или миграцией отечественных и распределённых СУБД в корпоративных Java-проектах.
Гарантии доставки сообщений в YDB Topics
Александр Зевайкин (Руководитель группы) рассмотрел основные проблемы ненадёжной передачи данных и методы борьбы с ними: повторы и дедупликацию. Александр на примере паттернов микропроцессорной архитектуры продемонстрировал гарантии доставки: at-most-once, at-least-once, exactly-once.
Александр с докладом «Гарантии доставки сообщений в YDB Topics» выступал на конференциях Saint HighLoad++ 2024 и ИТ-Пикник 2024:
В заключение Александр на примере двух брокеров очередей сообщений — Kafka и YDB Topics — показал детали реализации гарантий доставки.
Шардированный не значит распределенный: что важно знать, когда PostgreSQL мало
Евгений Иванов (Старший разработчик) и Олег Бондарь (CPO YDB) рассказали, чем отличаются распределённые СУБД от шардированных. Особое внимание уделили тому, почему решения, подобные Citus, не являются ACID в случае широких транзакций. В конце выступления на примере бенчмарка TPC-C показали, что в PostgreSQL вертикальное масштабирование ограничено ботлнеком в синхронной репликации, и сравнили производительность PostgreSQL и распределённых СУБД CockroachDB и YDB.
Доклад будет интересен как разработчикам приложений, которым требуется надёжная СУБД, так и людям, интересующимся распределёнными системами и базами данных.
YDB — параллельная асинхронная репликация в распределенной базе
Асинхронная репликация — хорошо известный метод создания независимой реплики базы данных, который дает возможность решить такие задачи, как обеспечение дополнительного уровня отказоустойчивости, георепликация и масштабирование рабочей нагрузки на чтение. Обычно все изменения исходной реплики пишутся в журнал изменений, который обрабатывается как входные данные для базы данных целевой реплики.
В YDB исходная и целевая реплики — это распределенные базы данных, которые справляются с высокой рабочей нагрузкой. В такой ситуации невозможно ограничиться единым журналом изменений, который можно было бы перенести в целевую базу данных. Олег Бондарь (CPO YDB) рассказал про то, как используются внутренние возможности YDB, чтобы обеспечить масштабируемость журнала изменений базы данных и гарантировать согласованность целевой базы данных.
Из доклада вы узнаете:
- Почему традиционный вариант хранения логов не подходит для распределенной БД?
- Что такое топики и как они помогают в хранении логов?
- С какими проблемами использования топиков для хранения логов столкнулась команда YDB и как их решала?
- Как обеспечить запись данных в целевой кластер при работе с распределенными транзакциями?
YDB Topics: история взаимоотношений с Kafka
Шина данных уровня Яндекса требует нестандартных решений. Александр Зевайкин (Руководитель группы) рассказал о том, как появился сервис YDB Topics и какие оптимизации были в нём применены. Также Александр описал архитектуру YDB Topics и объяснил, почему было принято решение отказаться от Kafka.
В завершение вы узнаете, как команда YDB реализовала Kafka API в режиме serverless.