Обзор

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

    YDB является региональной базой данных и располагается в трёх зонах доступности.

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

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

    YDB предоставляет SDK для Java, Python и Go.

    YDB поддерживает реляционную модель данных и оперирует таблицами с предопределённой схемой. Для удобства организации таблиц поддерживается создание директорий по аналогии с файловой системой.

    В YDB поддерживаются высокопроизводительные распределенные ACID-транзакции, которые могут затрагивать несколько записей из разных таблиц. Обеспечивается самый строгий уровень изоляции транзакций — serializable. Также имеется возможность ослабления уровня изоляции для увеличения производительности.

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