YDB — распределённая NewSQL система управления базами данных, разработанная компанией Яндекс. Представляет собой хранилище данных с поддержкой транзакционной согласованности, горизонтального масштабирования и богатого SQL-подобного диалекта запросов (YQL). Система ориентирована на обработку больших объёмов данных в распределённой среде и может использоваться как в виде самостоятельного решения (self-hosted), так и как управляемый сервис в облачной платформе Yandex Cloud.
Архитектура YDB сочетает согласованное распределённое хранилище с механизмами для выполнения ACID-транзакций, репликации и автоматического перераспределения данных при изменении состава кластера. Основная цель реализации — обеспечить низкую латентность и устойчивость к сбоям при обслуживании критичных приложений, требующих строгой целостности данных и при этом возможности горизонтального масштабирования вычислительных и хранилищных ресурсов.
- Транзакционная модель: поддержка ACID-транзакций с гарантией согласованности данных в распределённой среде.
- Горизонтальное масштабирование: масштабирование через добавление узлов в кластер с автоматическим шардированием и балансировкой нагрузки.
- YQL и SQL-подобный диалект: язык запросов, обеспечивающий выражение аналитических и оперативных операций, включая фильтрацию, агрегации и соединения.
- Высокая доступность и репликация: многозональная и многорегиональная репликация данных для обеспечения отказоустойчивости.
- Консистентность и согласование: механизмы строгой консистентности для транзакций и операций чтения/записи.
- Поддержка различных типов хранилищ: оптимизация под транзакционные рабочие нагрузки и аналитические запросы с возможностью хранения структурированных и полуструктурированных данных.
- Интеграция с облачными сервисами: управляемая версия в облаке обеспечивает эксплуатационные функции, мониторинг и управление кластерами.
- Безопасность и управление доступом: механизмы аутентификации, авторизации и разграничения прав на уровне объектов данных.
- Оперативность и масштабируемые SLA: проектирование для использования в приложениях с требованием низкой задержки и гарантированного качества обслуживания.
- Инструменты администрирования: средства развёртывания, резервного копирования, мониторинга и миграции данных для эксплуатационной поддержки.