Yandex.Cloud
  • Сервисы
  • Почему Yandex.Cloud
  • Сообщество
  • Решения
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Yandex Database
  • Начало работы
    • Обзор
    • Создание базы данных
    • YQL
      • Работа с данными
      • Работа с YDB CLI
      • Работа с YDB SDK
    • Document API
      • Работа с данными
      • Работа с инструментами AWS
        • Настройка окружения
  • Пошаговые инструкции
    • Работа с YDB CLI
      • Структура и описание команд YDB CLI
      • Получение информации об объекте схемы
      • Потоковое чтение таблицы
      • Работа со вторичными индексами
    • Использование плана запроса и AST
    • Управление базами данных
    • Подключение к базе данных
    • Управление таблицами
    • Чтение и запись данных
    • Работа со вторичными индексами
    • Использование Docker-контейнера YDB
    • Работа с AWS CLI
      • Начало работы с AWS CLI
      • Создание таблицы
      • Добавление данных в таблицу
      • Чтение данных из таблицы
      • Обновление данных
      • Выборка данных
      • Удаление созданных ресурсов
    • Работа с AWS SDK
      • Обзор
      • Создание таблицы
      • Загрузка данных в таблицу
      • Управление записями в таблице
        • Создание записи
        • Чтение записи
        • Обновление записи
        • Удаление записи
      • Поиск и извлечение данных
      • Удаление таблицы
  • Работа с SDK
  • Сценарии использования
    • Развертывание веб-приложения
  • Концепции
    • Обзор
    • Модель данных и схема
    • Режимы работы Serverless и Dedicated
    • Типы данных
    • Транзакции
    • Вторичные индексы
    • Time to Live (TTL)
    • Термины и определения
    • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
    • Обзор
    • Бессерверный режим
    • Режим с выделенными инстансами
  • Рекомендации
    • Проектирование схемы
    • Партицирование таблиц
    • Вторичные индексы
    • Постраничный вывод
    • Загрузка больших объемов данных
    • Использование таймаутов
  • YDB API и справочник
    • Ограничения базы данных
    • Обработка ошибок в API
  • HTTP API, совместимый с Amazon DynamoDB
    • Справочник API
      • Все методы
      • Actions
        • BatchGetItem
        • BatchWriteItem
        • CreateTable
        • DeleteItem
        • DeleteTable
        • DescribeTable
        • GetItem
        • ListTables
        • PutItem
        • Query
        • Scan
        • TransactGetItems
        • TransactWriteItems
        • UpdateItem
      • Общие ошибки
  • Справочник YQL
    • Обзор
    • Типы данных
      • Простые
      • Опциональные
      • Контейнеры
      • Специальные
    • Синтаксис
      • Неподдерживаемые конструкции
      • Работа с текстовым представлением типов данных
      • Выражения
      • CREATE TABLE
      • DROP TABLE
      • INSERT INTO
      • UPSERT INTO
      • REPLACE INTO
      • UPDATE
      • DELETE
      • SELECT
      • GROUP BY
      • JOIN
      • FLATTEN
      • ACTION
      • DISCARD
      • PRAGMA
      • DECLARE
      • OVER, PARTITION BY и WINDOW
    • Встроенные функции
      • Базовые
      • Агрегатные
      • Оконные
      • Для работы со списками
      • Для работы со словарями
      • Для работы с JSON
      • Для работы со структурами
      • Для работы с типами
    • Предустановленные пользовательские функции
      • HyperScan
      • Pcre
      • Pire
      • Re2
      • String
      • Unicode
      • Datetime
      • Url
      • Ip
      • Digest
      • Math
      • Histogram
    • Работа с текстовым представлением типов данных
  • Туториал YQL
    • Обзор
    • Создание таблицы
    • Добавление данных в таблицу
    • Выборка данных из всех колонок
    • Выборка данных из определенных колонок
    • Сортировка и фильтрация
    • Агрегирование данных
    • Дополнительные условия выборки
    • Объединение таблиц с помощью JOIN
    • Вставка и модификация данных с помощью REPLACE
    • Вставка и модификация данных с помощью UPSERT
    • Вставка данных с помощью INSERT
    • Обновление данных с помощью UPDATE
    • Удаление данных
    • Добавление и удаление колонок
    • Удаление таблицы
  • Обслуживание
    • Резервное копирование
  • Диагностика
    • Системные таблицы
  • Вопросы и ответы
    • Общие вопросы
    • Ошибки
    • YQL
    • Все вопросы на одной странице
  • Публичные материалы
  1. Концепции
  2. Обзор

Обзор

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

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

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

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

    YDB может работать в двух режимах:

    • С выделенными инстансами (dedicated) — режим, при котором для базы выделяются отдельные виртуальные хосты с задаными ресурсами. Вы самостоятельно задаете число хостов, их вычислительные ресурсы задаете параметры хранилища и настраиваете облачные сети.

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

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

    • Бессерверный (serverless) режим — режим, в котором вы можете развернуть базу данных в обслуживаемой среде без создания отдельных хостов. Вам не нужно контролировать вычислительные ресурсы, сети и другие параметры. Все ресурсы, которые необходимы для работы базы, автоматически предоставляются сервисом и масштабируются в зависимости от нагрузки.

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

      Бессерверный режим Yandex Database поддерживает работу с данными не только с помощью YDB API, но и с помощью Document API — HTTP API, совместимого с Amazon DynamoDB. С помощью этого API можно выполнять операции над документными таблицами.

    YDB предоставляет YDB API и его реализации в виде YDB CLI и YDB SDK для Java, Python, Node.js и Go

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

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

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

    Language / Region
    Вакансии
    Политика конфиденциальности
    Условия использования
    Брендбук
    © 2021 ООО «Яндекс.Облако»