---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.4
alternate:
  - https://ydb.tech/docs/en/public-materials/videos/2024.md
  - https://ydb.tech/docs/ru/public-materials/videos/2024.md
sourcePath: ru/core/public-materials/videos/2024.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ydb.tech/docs/ru/llms.txt

# Видеозаписи 2024

## Методы и подходы к тестированию распределённой базы данных {#2024-conf-heisenbug-gridnev}

<!-- source: ru/public-materials/_includes/tags.md -->
 <span class = "testing-tag tags-shape tags-color-text"> Testing </span>
<!-- endsource: ru/public-materials/_includes/tags.md -->

[Виталий Гриднев](https://www.linkedin.com/in/gridnevvvit/) (Ведущий разработчик) подробно рассказал о тестировании YDB. Доклад начинается с общего представления того, как организовано тестирование YDB, какие проблемы возникают при тестировании распределённых компонентов базы данных и почему в YDB необходимо проводить хаос-тестирование.

Затем Виталий углубляется в архитектуру тестового сценария для хаос-тестирования, рассматривая все этапы — от разработки генераторов и сценариев нагрузки до создания инструментов для внешнего воздействия на систему.

@[Youtube](https://youtu.be/UDhfjeJsv-o?si=2GEo_77hmuAvLi1o)

Вы узнаете, как с помощью характеристик safety и liveness можно выявлять дефекты в системе. Доклад будет полезен разработчикам в тестировании, интересующимся тестированием распределённых систем.

[Слайды](https://presentations.ydb.tech/2024/ru/heisenbug/presentation.pdf)

## Стоимостный оптимизатор в YDB — как, зачем и почему? {#2024-conf-hl-cbo-velikhov}

<!-- source: ru/public-materials/_includes/tags.md -->
 <span class = "database_internals-tag tags-shape tags-color-text"> Database internals</span>
<!-- endsource: ru/public-materials/_includes/tags.md -->

YDB создавалась как OLTP-система для высоконагруженных проектов, но со временем в ней появились и аналитические запросы. Их сложно оптимизировать вручную, поэтому важную роль играет стоимостный оптимизатор.

Несколько лет назад команда YDB добавила поддержку колоночного хранения и сложной аналитики, что повысило требования к оптимизации. Теперь система может работать в режиме HTAP, где запросы автоматически распределяются между строковым и колоночным хранилищем.

В этом докладе Павел Велихов расскажет, как команда разработала стоимостный оптимизатор, какие задачи он решает и как YDB выглядит на фоне конкурентов в OLTP, OLAP и HTAP-сценариях.

@[YouTube](https://www.youtube.com/watch?v=nyc3nmyQTvA)

[Слайды](https://presentations.ydb.tech/2024/ru/highload/cost-based-optimizer/presentation.pdf)

Доклад будет полезен разработчикам СУБД, аналитических платформ и высоконагруженных систем.

## Транзакционная работа с топиками. Архитектура и сравнение решений в Apache Kafka и YDB {#2024-conf-hl-transactional-topics}

<!-- source: ru/public-materials/_includes/tags.md -->
 <span class = "database_internals-tag tags-shape tags-color-text"> Database internals</span>
<!-- endsource: ru/public-materials/_includes/tags.md -->

Транзакции упрощают код и обеспечивают гарантии, такие как exactly-once доставка сообщений. В Apache Kafka транзакции позволяют достичь этих гарантий, но требуют сложной внутренней архитектуры. YDB изначально поддерживает транзакции, что влияет на подход к работе с топиками.

В докладе Алексея Николаевского рассматриваются:

- Понятия топика, транзакционной записи и чтения.
- Решение задачи решардирования с сохранением порядка и exactly-once обработки в Apache Kafka и YDB.
- Архитектуры транзакций в обеих системах.
- Сравнение производительности транзакций.

@[YouTube](https://www.youtube.com/watch?v=EHpa3Zd8yGw)

[Слайды](https://presentations.ydb.tech/2024/ru/highload/transactional-topics/presentation.pdf)

Доклад будет полезен разработчикам распределенных и высоконагруженных систем, стремящимся к высоким гарантиям в обработке данных.

## Как объединять данные из разных СУБД и делать это эффективно {#2024-conf-hl-federated-queries}

<!-- source: ru/public-materials/_includes/tags.md -->
 <span class = "overview-tag tags-shape tags-color-text"> Overview </span>
<!-- endsource: ru/public-materials/_includes/tags.md -->

Анализ данных, распределённых по различным системам хранения, таким как реляционные СУБД и CSV-файлы в S3, представляет собой сложную задачу. При небольшом объёме данных можно использовать скрипты для последовательного чтения и объединения информации в оперативной памяти. Однако с увеличением объёмов и сложности данных такой подход становится неэффективным.

В таких случаях на помощь приходят СУБД и движки обработки запросов с федеративными возможностями. Они позволяют использовать выразительный SQL для описания аналитических операций и эффективно обрабатывать большие объёмы данных из различных источников.

В своём докладе Виталий Исаев расскажет о принципах работы подобных систем и ключевых оптимизациях, обеспечивающих быструю и эффективную обработку данных.

@[YouTube](https://www.youtube.com/watch?v=OFoZDKv3Lrw)

[Слайды](https://presentations.ydb.tech/2024/ru/highload/federated-queries/presentation.pdf)

Доклад будет полезен разработчикам и аналитикам, работающим с данными, размещёнными в различных СУБД и хранилищах.

## Гарантии доставки сообщений в YDB Topics {#2024-it-picnic}

<!-- source: ru/public-materials/_includes/tags.md -->
 <span class = "database_internals-tag tags-shape tags-color-text"> Database internals</span>
<!-- endsource: ru/public-materials/_includes/tags.md -->

[Александр Зевайкин](https://www.linkedin.com/in/alexander-zevaykin-6bb8162bb/)(Руководитель группы) продемонстрировал базовые проблемы ненадежной передачи данных и способы борьбы с ними: повторы и дедупликацию. На примере паттернов микропроцессорной архитектуры он проиллюстрировал гарантии доставки: at-most-once, at-least-once, exactly-once.

@[YouTube](https://youtu.be/bdj_JrRPju0?si=392etOk5RyZVY6Kp)

В завершение выступления Александр показал детали реализации гарантий доставки на примере двух брокеров очередей сообщений: Kafka и YDB Topics.

[Слайды](https://presentations.ydb.tech/2024/ru/it_picnic/ydb_topics/presentation.pdf)

## Интеграция распределенных SQL-хранилищ с Java-фреймворками на примере YDB

<!-- source: ru/public-materials/_includes/tags.md -->
 <span class = "database_internals-tag tags-shape tags-color-text"> Database internals</span>
<!-- endsource: ru/public-materials/_includes/tags.md -->

В докладе рассматриваются ключевые аспекты и основные вызовы, возникающие при интеграции популярных Java-фреймворков с распределённой СУБД на примере YDB. Освещаются проблемы, которые необходимо учесть для успешной интеграции. Докладчик раскрывает, как Java-фреймворки могут быть адаптированы и интегрированы с распределёнными SQL-хранилищами, и сравнивает различные решения в этой области.

Доклад будет полезен разработчикам, архитекторам и DevOps-инженерам, занимающимся внедрением или миграцией отечественных и распределённых СУБД в корпоративных Java-проектах.

@[rutube](6840af8411a8be4e7da9f82cb4a25103)

[Слайды](https://presentations.ydb.tech/2024/ru/joker/ydb_java_frameworks/presentation.pdf)

## Гарантии доставки сообщений в YDB Topics {#2024-saint-highload}

<!-- source: ru/public-materials/_includes/tags.md -->
 <span class = "database_internals-tag tags-shape tags-color-text"> Database internals</span>
<!-- endsource: ru/public-materials/_includes/tags.md -->

[Александр Зевайкин](https://www.linkedin.com/in/alexander-zevaykin-6bb8162bb/) (Руководитель группы) рассмотрел основные проблемы ненадёжной передачи данных и методы борьбы с ними: повторы и дедупликацию. Александр на примере паттернов микропроцессорной архитектуры продемонстрировал гарантии доставки: at-most-once, at-least-once, exactly-once.

Александр с докладом «Гарантии доставки сообщений в YDB Topics» выступал на конференциях Saint HighLoad++ 2024 и ИТ-Пикник 2024:

{% list tabs %}

- Saint HighLoad++ 2024

    @[YouTube](https://youtu.be/6l64n8t8Ivs?si=coC70xmfuaoIzxPA)

- ИТ-Пикник 2024

    @[YouTube](https://youtu.be/bdj_JrRPju0?si=392etOk5RyZVY6Kp)

{% endlist %}

В заключение Александр на примере двух брокеров очередей сообщений — Kafka и YDB Topics — показал детали реализации гарантий доставки.

[Слайды](https://presentations.ydb.tech/2024/ru/saint_highload/ydb_topics/presentation.pdf)

## Шардированный не значит распределенный: что важно знать, когда PostgreSQL мало {#2024-conf-smartdata}

<!-- source: ru/public-materials/_includes/tags.md -->
 <span class = "testing-tag tags-shape tags-color-text"> Testing </span>
<!-- endsource: ru/public-materials/_includes/tags.md -->

[Евгений Иванов](https://www.linkedin.com/in/eivanov89/) (Старший разработчик) и [Олег Бондарь](https://www.linkedin.com/in/olegbondar2000/) (CPO YDB) рассказали, чем отличаются распределённые СУБД от шардированных. Особое внимание уделили тому, почему решения, подобные Citus, не являются ACID в случае широких транзакций. В конце выступления на примере бенчмарка TPC-C показали, что в PostgreSQL вертикальное масштабирование ограничено ботлнеком в синхронной репликации, и сравнили производительность PostgreSQL и распределённых СУБД CockroachDB и YDB.

@[YouTube](https://youtu.be/BDpLLmV37hY)

Доклад будет интересен как разработчикам приложений, которым требуется надёжная СУБД, так и людям, интересующимся распределёнными системами и базами данных.

[Слайды](https://presentations.ydb.tech/2024/ru/smartdataconf/sharded_is_not_distributed/presentation.pdf)

## YDB — параллельная асинхронная репликация в распределенной базе {#2024-true-tech}

<!-- source: ru/public-materials/_includes/tags.md -->
 <span class = "database_internals-tag tags-shape tags-color-text"> Database internals</span>
<!-- endsource: ru/public-materials/_includes/tags.md -->

Асинхронная репликация — хорошо известный метод создания независимой реплики базы данных, который дает возможность решить такие задачи, как обеспечение дополнительного уровня отказоустойчивости, георепликация и масштабирование рабочей нагрузки на чтение. Обычно все изменения исходной реплики пишутся в журнал изменений, который обрабатывается как входные данные для базы данных целевой реплики.

В YDB исходная и целевая реплики — это распределенные базы данных, которые справляются с высокой рабочей нагрузкой. В такой ситуации невозможно ограничиться единым журналом изменений, который можно было бы перенести в целевую базу данных. [Олег Бондарь](https://www.linkedin.com/in/olegbondar2000/) (CPO YDB) рассказал про то, как используются внутренние возможности YDB, чтобы обеспечить  масштабируемость журнала изменений базы данных и гарантировать согласованность целевой базы данных.

@[YouTube](https://youtu.be/qrPF8Rjhh2c?si=u0uh6ywqrQ-7mxS5)

Из доклада вы узнаете:

* Почему традиционный вариант хранения логов не подходит для распределенной БД?
* Что такое топики и как они помогают в хранении логов?
* С какими проблемами использования топиков для хранения логов столкнулась команда YDB и как их решала?
* Как обеспечить запись данных в целевой кластер при работе с распределенными транзакциями?

[Слайды](https://presentations.ydb.tech/2024/ru/mts_true_tech/presentation.pdf)

## YDB Topics: история взаимоотношений с Kafka {#2024-ya-inf}

<!-- source: ru/public-materials/_includes/tags.md -->
 <span class = "database_internals-tag tags-shape tags-color-text"> Database internals</span>
<!-- endsource: ru/public-materials/_includes/tags.md -->

Шина данных уровня Яндекса требует нестандартных решений. [Александр Зевайкин](https://www.linkedin.com/in/alexander-zevaykin-6bb8162bb/) (Руководитель группы) рассказал о том, как появился сервис YDB Topics и какие оптимизации были в нём применены. Также Александр описал архитектуру YDB Topics и объяснил, почему было принято решение отказаться от Kafka.

@[YouTube](https://youtu.be/lZ5SUzdQO7k?si=cWx3sE6eDE_sx7f8)

В завершение вы узнаете, как команда YDB реализовала Kafka API в режиме serverless.

[Слайды](https://presentations.ydb.tech/2024/ru/infra_conf/ydb_topics/presentaion.pdf)