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

# Статьи 2024

## Шины данных для очень больших инсталляций, или Почему большим компаниям сложно с опенсорсом

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

![](_assets/2024/erasure.png =700x400)

В [статье](https://habr.com/ru/companies/yandex_cloud_and_infra/articles/850758/) рассматриваются особенности эксплуатации опенсорсных шин данных (на примере Apache Kafka) в очень больших производственных инсталляциях, характерных для крупных предприятий. Автор приводит подробное сравнение с YDB Topics, анализируя вопросы масштабируемости, отказоустойчивости, стоимости оборудования и операционного управления. Описаны архитектурные подходы к обеспечению высокой доступности, оптимизации TCO, автоматизации, балансировке нагрузки и резервированию ресурсов, а также выделены проблемы open source-решений при работе на масштабах enterprise. Материал будет полезен тем, кто проектирует инфраструктуру передачи данных в крупных компаниях и сравнивает модели open source и кастомных корпоративных платформ.

Статья предназначена для технических менеджеров, архитекторов корпоративных ИТ-систем, системных администраторов, DevOps-инженеров и специалистов по эксплуатации крупных распределённых систем.

## Стоит ли бояться serializable-транзакций больше, чем труднонаходимых багов?

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

![](./_assets/2024/acid.png =700x400)

[Статья](https://habr.com/ru/companies/ydb/articles/825768/) рассматривает влияние разных уровней изоляции транзакций в базах данных на корректность приложений и безопасность, уделяя особое внимание режиму serializable. Автор анализирует реальные кейсы возникновения ошибок и уязвимостей, связанных со слабыми уровнями изоляции, и сравнивает их с мифом о значительных потерях производительности при использовании строгой изоляции. Делается вывод, что использование serializable-транзакций по умолчанию часто оправдано, поскольку профилактика concurrency-багов важнее незначительного снижения производительности, а современные СУБД демонстрируют устойчивый уровень производительности даже на строгих режимах.

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

## Как мы повышали производительность очереди сообщений

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

![](./_assets/2024/ydb-topics-perf.png =700x400)

В [статье](https://habr.com/ru/companies/ydb/articles/824826/) подробно описывается эволюция производительности очереди сообщений YDB Topics. Автор сравнивает архитектурные особенности YDB Topics с Apache Kafka и Pulsar, анализирует причины отказа от Kafka, а также рассказывает о технических инструментах нагрузочного тестирования и пути к оптимизации узких мест. Приведены конкретные результаты производительности YDB Topics после проведённых оптимизаций, а также рассказано о внедрении Kafka API для максимальной совместимости с существующим софтом и облачными сценариями использования. Статья иллюстрирует комплексный подход к обеспечению высокой производительности и надёжности потоковых очередей на масштабах интерпрайз-уровня.

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

## Миграции схемы данных YDB с Flyway и распределенные блокировки

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

![](./_assets/2024/ydb-flyway.png =700x400)

[Статья](https://habr.com/ru/companies/ydb/articles/815085/) посвящена поддержке и особенностям работы Flyway для управления миграциями схемы данных в YDB. Описывается процесс настройки Flyway с YDB как через Java/Gradle, так и через CLI, а также принцип работы основных команд: baseline, migrate, info, validate, repair и clean. Особое внимание уделено механизму распределённых блокировок для предотвращения конкурентного применения миграций — показано, как это реализовано в YDB по сравнению с другими СУБД.

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

## database/sql: плохой, хороший, злой

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

![](./_assets/2024/database-sql.png =700x400)

В [статье](https://habr.com/ru/companies/oleg-bunin/articles/808097/) проведён подробный разбор эволюции стандартной библиотеки Go для работы с базами данных (database/sql), особенностей её применения в распределённых системах, таких как YDB, и трудностей, возникающих при реализации и эксплуатации соответствующих драйверов. Рассматриваются архитектурные решения, внедрённые в YDB, а также специфические проблемы — управление соединениями, ретраи, контексты, параметры запросов, обработка ошибок, совместимость с концепциями SQL и Go. Автор делится опытом создания и доработки database/sql-драйвера для YDB, описывает ретроспективу изменений в Go и связанные с этим инженерные вызовы, а также демонстрирует особенности интеграции и инструменты отладки. Материал полезен для всех, кто внедряет или сопровождает СУБД в экосистеме Go и интересуется лучшими практиками подключения к распределённым базам.

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

## Как Яндекс создал свою шину данных, чтобы передавать сотни гигабайт в секунду

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

![](./_assets/2024/ydb-topics.png =700x400)

[Статья](https://habr.com/ru/companies/ydb/articles/810907/) рассказывает о причинах появления и архитектуре собственной шины данных Яндекса — YDB Topics — опенсорсного решения, способного передавать сотни гигабайт в секунду. На фоне проблем масштабирования и эксплуатации при использовании Apache Kafka, команда Яндекса разработала модульную шину поверх YDB с поддержкой высоких гарантий целостности, автоматического масштабирования и эффективного управления правами доступа. Подробно описаны архитектурные решения, отличия от Kafka и Pulsar, сценарии использования (федерация, кросс-ДЦ), а также особенности, такие как Erasure-кодирование для экономии места и масштабируемость с автоматизированным управлением.

Статья предназначена для инженеров по инфраструктуре, DevOps, архитекторов, а также всех, кто интересуется построением высоконагруженных систем передачи данных и open source-решениями в enterprise.

## Поддержка диалекта YDB в инструменте миграции Liquibase

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

![](./_assets/2024/ydb-liquibase.png =700x400)

В [статье](https://habr.com/ru/companies/ydb/articles/808755/) показано, как использовать мощный инструмент миграций Liquibase для работы с базой данных YDB посредством YQL. Автор описывает нюансы интеграции, поддерживаемые SQL-конструкции, возможные ограничения и совместимость с Liquibase, а также приводит пошаговые примеры настройки, исполнения и эволюции схемы базы данных. Приводятся примеры создания и изменения таблиц, работы с индексами, загрузки данных, и применения нативных YQL-инструкций.

Статья предназначена для разработчиков, инженеров данных и DevOps-специалистов, использующих YDB и Liquibase.


## Перенести проверенную схему бэкапа больших данных из S3 в Yandex Cloud: опыт Битрикс24

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

![](./_assets/2024/migrate-from-S3-to-cloud.png =700x400)

В [статье](https://habr.com/ru/companies/yandex_cloud_and_infra/articles/791996/) на реальном кейсе компании Битрикс24 описан опыт миграции масштабируемой схемы резервного копирования и инкрементальной репликации файлов с AWS S3 в облако Yandex Cloud. Автор поэтапно разбирает эволюцию архитектуры, методы инкрементального и realtime-бэкапа, подходы к отложенному удалению файлов и реализации асинхронной обработки событий с использованием очередей, воркеров и серверless-технологий. Особое внимание уделено переходу на YDB с режимом совместимости с DynamoDB, мониторингу системы и автоматическому масштабированию ресурсов. Статья содержит практические советы по сохранению надёжности, минимизации ручного труда и оптимизации стоимости хранения больших объёмов данных при переходе между облачными провайдерами.

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

## Когда одного Postgres'a мало: сравнение производительности PostgreSQL и распределенных СУБД {2024-pub-habr-ydb-cdc}

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

![Сравнение производительности PostgreSQL и распределенных СУБД](./_assets/2024/pg-ydb.png =700x400)

В [статье](https://habr.com/ru/companies/ydb/articles/801587/) проведено практическое сравнение производительности PostgreSQL и распределённых СУБД YDB и CockroachDB на троих одинаковых физических серверах с использованием бенчмарка TPC-C при различных сценариях отказоустойчивости. Эксперимент подтверждает, что PostgreSQL крайне эффективна на одиночном сервере, но наличие синхронной репликации становится серьёзным ограничением по производительности и задержкам при увеличении числа нод. Распределённые СУБД показывают чуть ниже tpmC на такой же инфраструктуре, но демонстрируют лучшую отказоустойчивость, масштабируемость и предсказуемые задержки транзакций. В статье также приведён разбор инженерных "узких мест", подробные параметры тестов и практические рекомендации для выбора архитектуры.

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

## Обновление кешей сервисов в реальном времени с помощью YDB CDC на примере Yandex Monitoring {2024-pub-habr-ydb-cdc}

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

![Yandex Monitoring: обновление кешей сервисов в реальном времени с помощью YDB CDC](./_assets/2024/ydb-cdc.png =700x400)

Летом 2023 года Егор Литвиненко (старший разработчик Yandex Observability Platform) рассказывал на Saint Highload в Санкт‑Петербурге о пути внедрения YDB CDC для обновления данных в сервисах, чтобы решить проблему инвалидации кешей. В этой [статье](https://habr.com/ru/companies/oleg-bunin/articles/801603/) будет вся история внедрения с теорией, вопросами, ответами, ошибками, о которых он говорил на выступлении.
