Перейти к основному содержанию

Yandex Database (YDB) — распределённая Distributed SQL СУБД теперь в открытом доступе

Яндекс

Распределённая система управления базами данных YDB компании Яндекс теперь доступна всем желающим по открытой лицензии Apache 2.0. Развернуть базу можно как на собственных, так и на сторонних серверах, в том числе в облаке.

В Яндексе YDB используется уже больше пяти лет. YDB используют команды Алисы, Такси, Маркета, Метрики и прочих сервисов: около 500 проектов. YDB — ключевой компонент Yandex Cloud.

В 2016 году компания опубликовала исходный код ClickHouse, теперь пришла очередь YDB.

Yandex Database (YDB) — распределённая Distributed SQL СУБД с поддержкой бессерверных вычислений. YDB сочетает высокую доступность и масштабируемость с поддержкой строгой консистентности и ACID-транзакций.

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

YDB обеспечивает:

  • строгую консистентность с возможностью ослабления для увеличения производительности;
  • поддержку запросов YQL (диалект SQL для работы с большими данными);
  • автоматическую репликацию данных;
  • высокую доступность с автоматической обработкой отказов вычислительных узлов, стоек, или зон доступности;
  • автоматическое партицирование данных при увеличении их объема или увеличении нагрузки.

Сценарии применения

YDB является альтернативой имеющимся решениям в следующих случаях:

  • При использовании NoSQL систем, когда требуется строгая консистентность данных.
  • При использовании NoSQL систем, когда требуется транзакционное изменение данных, хранящихся в разных строках одной или нескольких таблиц.
  • В системах, требующих обработки и хранения большого объема данных, с возможностью практически неограниченного горизонтального масштабирования (в эксплуатации находятся промышленные кластера из 5000+ узлов, обрабатывающие нагрузку в миллионы RPS, и хранящие петабайты данных).
  • В системах с незначительной нагрузкой, когда поддержка отдельного инстанса базы данных будет расточительна с материальной точки зрения (предлагается использовать YDB в режиме бессерверных вычислений).
  • В системах с плохо предсказуемой или сезонно меняющейся нагрузкой (используя возможность добавления/уменьшения вычислительных ресурсов по запросу и/или в режиме бессерверных вычислений).
  • В высоконагруженных системах, которые шардируют нагрузку между инстансами реляционной базы данных.
  • При разработке нового продукта, для которого нет надежного прогноза будущей нагрузки, или ожидается большая нагрузка, превышающая возможности традиционных реляционных баз данных.

Ссылки

https://ydb.tech/

https://cloud.yandex.ru/docs/ydb/

https://habr.com/ru/company/yandex/blog/660271/

https://github.com/ydb-platform/ydb

Теги

 

Похожие материалы

Обновления Windows от 8 ноября 2022 г сломали соединения ODBC

Microsoft уведомила пользователей Windows об обнаруженной проблеме в обновлениях от 8 ноября. По данным компании, у пользователей Windows могут возникнуть проблемы с приложениями, которые используют соединения ODBC (sqlsrv32.dll) для доступа к базам данных.

Теги