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

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

## Эволюция акторной системы {#2022-conf-hl-actor-sys}

<!-- 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 была выбрана модель акторов, и с нуля создана собственная акторная система. С тех пор прошло более 7 лет, и сегодня акторная система работает на десятках тысяч серверов. Чтобы пройти путь к созданию сложных модульных распределенных систем с помощью модели акторов команде YDB пришлось решить множество проблем.

В докладе [Алексей Станкевичус](https://github.com/the-ancient-1) (Руководитель групп разработки распределенного хранилища YDB) рассказал о некоторых из них:

* как совместить интерактивную нагрузку и фоновые задачи в одном приложении;
* как обеспечить гарантии latency и высокую утилизацию;
* как изолировать подсистемы и обойтись без резервирования CPU.

И, конечно, Алексей рассказал, почему выбрали именно модель акторов.

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

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

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

## Считаем число просмотров видео для десятков миллионов пользователей в день {#2022-conf-hl-count-video-view}

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

Обычные продуктовые фичи могут стать нетривиальной задачей на больших масштабах.  Иван Соколов  (Руководитель службы видеохостинга (Внешний Дзен)) рассказал, как были спроектированы две системы подсчёта пользователей: общее число просмотров видео и количество текущих зрителей live-трансляций.

В докладе Иван рассказывает о решении следующих задач:

* близкое к realtime время обновления счётчиков;
* возможность горизонтального масштабирования;
* отказоустойчивость при выпадении части мощностей.

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

Доклад будет интересен разработчикам и аналитикам Video on Demand-сервисов.

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

## Миллион RPS в YDB: история одного переезда Метрики {#2022-conf-hl-mil-rps}

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

В Яндекс Метрике существует сборка визитов пользователей на сайте, для этого необходимо хранить историю всех событий и склеивать их друг с другом на лету. Для этого использовалась конвейерная распределенная система, со своим самописным локальным хранилищем и своей логикой репликации и шардирования. По мере роста нагрузки команда, в которой работает [Александр Прудаев](https://www.linkedin.com/in/alexander-prudaev-44ba4383/) (Старший разработчик), уперлась в производительность отдельного шарда, при этом продолжать наращивать их количество без принципиальной перестройки архитектуры было крайне болезненно.

Александр в рамках доклада рассказал:

* Почему остановились на YDB, как переезжали, что сломали.
* Как научились работать с таблицей в 40ТБ и 1 миллионом запросов в секунду.
* Как тестировали и масштабировали.

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

Доклад рассчитан на разработчиков среднего уровня и выше.

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

## YDB: мультиверсионность в распределенной базе {#2022-conf-hl-ydb-multiver}

<!-- 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/andrey-fomichev/) (Руководитель YDB) рассказал про особенности выполнения распределенных транзакций, и что нужно делать, чтобы их поведение было привычным для пользователя, а также раскрыл особенности реализации `MVCC` в YDB:

* `MVCC` поверх LSM-деревьев.
* Как удалось сделать `MVCC` с консистентными снапшотами в распределенной базе данных.
* Почему выбрали глобальные, а не локальные таймстемпы.

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

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

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

## Q&A про Open Source YDB и планы на будущее {#2022-conf-hl-qa}

<!-- 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 -->

[Андрей Фомичев](https://www.linkedin.com/in/andrey-fomichev/) (Руководитель YDB), [Олег Бондарь](https://www.linkedin.com/in/olegbondar2000/) (CPO YDB) и [Сергей Пучин](https://www.linkedin.com/in/sergei-puchin-9486b621/) (Руководитель группы) выступили на Q&A-сессии, поделились планами на будущие и ответили на вопросы слушателей.

Также в докладе:

* Кратко о том, что такое YDB.
* История развития YDB: от первого коммита 10.01.2014 до выхода за пределы Yandex.
* Про выход в Open Source.

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

Выступление будет интересно тем, кто хочет глубже понять некоторые аспекты реализации и работы YDB.

## Дедупликация 5 миллионов событий в секунду на YDB в АппМетрике {#2022-conf-hl-dedup-ydb}

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

Доклад Артема Исмагилова (Разработчик Яндекс.Метрики) раскрывает детали перехода АппМетрики на YDB. Из доклада Артема вы узнаете:

* Как была устроена прошлая версия сервиса: физические сервера с состоянием в оперативной памяти, сохраняемым на диск и самодельной репликацией.
* Подходы к реализации новой версии, которые рассматривали.
* Почему выбрали именно YDB для реализации новой версии сервиса.
* С какими трудностями столкнулись и как их преодолели: большой поток событий, необходимость транзакционной обработки событий, удаление старых данных из базы.
* Как уменьшили нагрузку на YDB в 10 раз, добавив фильтр блума в виде отдельной таблицы YDB.
* Что еще предстоит сделать.

@[YouTube](https://youtu.be/W9s-pVnUpp8?si=Sge12jGh7SqKSunB)

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

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

## Просто о сложном: как работает драйвер распределенной базы данных YDB {#2022-conf-hl-ydb-driver}

<!-- 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 используется как клиентская, так и серверная балансировка. Для баз данных, работающих в режиме 24/7 и допускающих различные сценарии отказа, драйвер должен быть готов к ошибкам разного рода. Это влияет на то, каков должен быть драйвер распределенной базы данных.

@[YouTube](https://youtu.be/bbdk2UGkWR8?si=RHQh4JxAUrFyHMdW)

В докладе [Алексей Мясников](https://github.com/asmyasnikov) (руководитель команды разработки клиентских библиотек YDB) рассказал про опыт разработки драйверов для распределенной БД на разных языках, про проблемы, с которыми сталкивались, и  как их решали или митигировали, а также про вынесенные уроки и принятые решения. Доклад будет интересен разработчикам, интересующимся высоконагруженными системами.

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

## Интервью с Андреем Фомичевым {#2022-conf-hydra-interview}

<!-- 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 -->

[Андрей Фомичев](https://www.linkedin.com/in/andrey-fomichev/) (Руководитель YDB) рассказал о том, как он пришел в разработку баз данных, с чего начиналась YDB, и что предшествовало её появлению.

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

## Open Source трибуна. YDB в Open Source — что это такое? {#2022-conf-yatalks-open-source}

<!-- 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 -->

Яндекс понимает важность опенсорса, выпускает собственные открытые продукты и поддерживает сообщество. [Олег Бондарь](https://www.linkedin.com/in/olegbondar2000/) (CPO YDB) рассказал о выходе YDB в Open Source, о сообществе платформы, а также о балансе между потребностями внутренних и внешних пользователей.

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

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

## Практические примеры использования Change Data Capture в YDB {#2022-webinar-cdc}

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

[ Андрей Фомичев ]( https://www.linkedin.com/in/andrey-fomichev/ ) ( Руководитель YDB ), [ Максим Зиналь ](  https://www.linkedin.com/in/maxzinal ) ( Архитектор YDB ), [  Ильназ Низаметдинов ]( https://www.linkedin.com/in/nilnaz ) ( Руководитель группы ), [ Тимофей Кулин ]( https://github.com/rekby ) ( Разработчик ) объяснили, что такое Change Data Capture (CDC), и какие задачи с помощью него можно решить сейчас и в перспективе. Основной упор в вебинаре сделан на практику: продемонстрировано, как с помощью CDC поддерживать актуальное состояние кэша базы данных оперативной памяти приложения. Пример выполнен в виде программы на языке Go, в ней также показаны приёмы работы с YDB Go SDK.

В вебинаре:

* включение CDC для таблицы;
* прослушивание потока изменений;
* работа с CDC, c использованием командного интерпретатора YDB CLI.

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

## Управляемый сервис YDB: настройка, применение, мониторинг {#2022-webinar-ydb-managment}

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

Применение YDB как управляемого сервиса позволяет разработчикам и архитекторам сосредоточиться на бизнес-задачах, а команда Yandex Cloud возьмёт на себя заботы о надёжности, производительности и ресурсной эффективности баз данных.

В вебинаре [ Максим Зиналь ]( https://www.linkedin.com/in/maxzinal ) ( Архитектор YDB ) показал:

* [YDB в целом и сервис YDB в Yandex Cloud](https://www.youtube.com/watch?v=d5NEDzsyp7Q&t=90s).
* [Разворачиваем сервисы YDB](https://www.youtube.com/watch?v=d5NEDzsyp7Q&t=284s).
* [Методы аутентификации пользователей, создание учётных записей](https://www.youtube.com/watch?v=d5NEDzsyp7Q&t=728s).
* [Обзор web-интерфейса консоли Yandex Cloud в части YDB](https://www.youtube.com/watch?v=d5NEDzsyp7Q&t=1145s).
* [Работа с YDB через клиент командной строки](https://www.youtube.com/watch?v=d5NEDzsyp7Q&t=1396s).
* [Пример приложения на Java](https://www.youtube.com/watch?v=d5NEDzsyp7Q&t=1837s).
* [Приложение на Python (serverless)](https://www.youtube.com/watch?v=d5NEDzsyp7Q&t=2466s).
* [Стандартный генератор нагрузки YDB](https://www.youtube.com/watch?v=d5NEDzsyp7Q&t=2962s).
* [Мониторинг кластера YDB под нагрузкой](https://www.youtube.com/watch?v=d5NEDzsyp7Q&t=3189s).
* [Масштабирование кластера YDB](https://www.youtube.com/watch?v=d5NEDzsyp7Q&t=3417s).

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