Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Yandex Managed Service for YDB
  • Начало работы
  • Пошаговые инструкции
    • Обзор
    • Подключение к БД с помощью YDB CLI
    • Управление базами данных
    • Управление таблицами и директориями
    • Чтение и запись данных
    • Мониторинг состояния базы данных
  • Практические руководства
  • Концепции
  • Управление доступом
  • Правила тарификации
  • Document API, совместимый с Amazon DynamoDB
  • Справочник API Yandex Cloud для Managed Service for YDB
  • Вопросы и ответы
  • Публичные материалы
  • Обучающие курсы
  1. Пошаговые инструкции
  2. Управление базами данных

Управление базами данных YDB

Статья создана
Yandex Cloud
  • Создать и изменить параметры бессерверной (Serverless) базы данных
    • Создать Serverless базу данных
    • Изменить параметры Serverless базы данных
  • Создать и изменить параметры базы данных с выделенными серверами (Dedicated)
    • Создать Dedicated базу данных
    • Изменить параметры Dedicated базы данных
  • Посмотреть список баз данных
  • Удалить базу данных

В сервисе Managed Service for YDB вы можете создавать базы данных в двух режимах: бессерверном (Serverless) и с выделенными серверами (Dedicated).

С помощью консоли управления или YC CLI можно:

  • Создать и изменить параметры бессерверной (Serverless) базы данных.
  • Создать и изменить параметры базы данных с выделенными серверами (Dedicated).
  • Посмотреть список баз данных.
  • Удалить базу данных.

Создать и изменить параметры бессерверной (Serverless) базы данных

Создать Serverless базу данных

Консоль управления
YC CLI
Terraform
  1. В консоли управления выберите каталог, в котором будет создана БД.

  2. В списке сервисов выберите Managed Service for YDB.

  3. Нажмите кнопку Создать базу данных.

  4. Введите Имя БД. Требования к имени:

    • Длина — от 3 до 63 символов.
    • Может содержать строчные буквы латинского алфавита, цифры и дефисы.
    • Первый символ — буква. Последний символ — не дефис.
  5. В блоке Тип базы данных выберите опцию Serverless.

  6. Вам будут предложены значения по умолчанию. Они подобраны таким образом, чтобы вы могли эффективно начать работу. Вы можете изменить их сейчас или в будущем, если потребуется. Подробнее о настройках БД см. раздел Режимы работы Serverless и Dedicated.

  7. Нажмите кнопку Создать базу данных.

Дождитесь, когда статус БД изменится на Running.

Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

  1. Посмотрите описание команды YC CLI для создания БД:

    yc ydb database create --help
    
  2. Выполните команду:

    yc ydb database create <имя_БД> --serverless
    

    Результат:

    id: etne027gi9aap7ldau3f
    folder_id: b1gmit33ngp3kr4mhjmo
    created_at: "2022-12-13T09:17:06Z"
    name: svlbd
    status: PROVISIONING
    endpoint: grpcs://ydb.serverless.yandexcloud.net:2135/?database=/ru-central1/b1gia87mbaomkfvsleds/etne027gi9aap7ldau3f
    serverless_database:
    storage_size_limit: "53687091200"
    location_id: ru-central1
    backup_config:
    backup_settings:
      - name: daily
        backup_schedule:
          daily_backup_schedule:
            execute_time:
              hours: 17
        backup_time_to_live: 604800s
        type: SYSTEM
    document_api_endpoint: https://docapi.serverless.yandexcloud.net/ru-central1/b1gia87mbaomkfvsleds/etne027gi9aap7ldau3f
    monitoring_config: {}
    

Все параметры можно будет изменить в дальнейшем командой update YC CLI или в консоли управления. Подробнее см. в разделе Параметры Serverless базы данных.

Любая создаваемая Serverless БД является георезервированной в трех зонах доступности.

Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). Terraform и его провайдеры распространяются под лицензией Mozilla Public License.

Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.

Внимание

Зеркало временно недоступно.

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

Подробнее о Terraform читайте в документации.

  1. Опишите в конфигурационном файле Terraform параметры Serverless БД, которую необходимо создать:

    resource "yandex_ydb_database_serverless" "database1" {
      name = "<имя_БД>"
    
      serverless_database {
        enable_throttling_rcu_limit = <true_или_false>
        provisioned_rcu_limit       = <пропускная_способность>
        storage_size_limit          = <объем_данных>
        throttling_rcu_limit        = <выделенная_пропускная_способность>
      }
    }
    

    Где:

    • name — имя БД. Обязательный параметр.
    • enable_throttling_rcu_limit — включить ограничение пропускной способности. Необязательный параметр. Значение по умолчанию false.
    • provisioned_rcu_limit — ограничение потребления Request Units в секунду. Необязательный параметр. Значение по умолчанию 0.
    • storage_size_limit — объем данных, ГБ. Необязательный параметр. Значение по умолчанию 50 ГБ.
    • throttling_rcu_limit — устанавленное значение показывает, какое потребление Request Units в секунду оплачивается по часам по тарифу. Ноль выключает почасовую оплату. Необязательный параметр. Значение по умолчанию 0.
  2. Примените изменения:

    1. В терминале перейдите в папку, где вы отредактировали конфигурационный файл.

    2. Проверьте корректность конфигурационного файла с помощью команды:

      terraform validate
      

      Если конфигурация является корректной, появится сообщение:

      Success! The configuration is valid.
      
    3. Выполните команду:

      terraform plan
      

      В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

    4. Примените изменения конфигурации:

      terraform apply
      
    5. Подтвердите изменения: введите в терминале слово yes и нажмите Enter.

Terraform создаст все требуемые ресурсы. Проверить изменения можно в консоли управления или с помощью команды YC CLI:

yc ydb database get <имя_БД>

Пример

Создание Serverless БД с ограничением пропускной способности 10 RU/c и объемом данных 50 ГБ:

resource "yandex_ydb_database_serverless" "database1" {
  name = "test-ydb-serverless"

  serverless_database {
    enable_throttling_rcu_limit = false
    provisioned_rcu_limit       = 10
    storage_size_limit          = 50
    throttling_rcu_limit        = 0
  }
}

Изменить параметры Serverless базы данных

Консоль управления
YC CLI
Terraform
  1. В консоли управления выберите каталог, в котором нужно изменить настройки БД.
  2. В списке сервисов выберите Managed Service for YDB.
  3. Нажмите значок в строке нужной БД и выберите пункт Изменить.
  4. Настройте параметры БД:
    1. При необходимости измените имя БД.
    2. В блоке Ограничения задайте пропускную способность и объем данных.
    3. В блоке Тарификация задайте выделенную пропускную способность.
  5. Нажмите кнопку Изменить базу данных.

Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Посмотрите описание команды YC CLI для изменения БД:

yc ydb database update --help

Имена параметров Serverless БД начинаются с sls-. Другие параметры применимы только к Dedicated БД.

Примеры

  1. Переименование БД dbtest в mydb:

    yc ydb database update dbtest \
      --new-name mydb
    
  2. Установка ограничения на потребление 100 Request Units в секунду для Serverless БД с именем db5:

    yc ydb database update db5 \
      --sls-throttling-rcu 100
    

Если у вас ещё нет Terraform, установите его и настройте провайдер Yandex Cloud.

  1. Откройте конфигурационный файл Terraform и измените фрагмент с описанием Serverless базы данных:

    resource "yandex_ydb_database_serverless" "database1" {
      name = "<имя_БД>"
    
      serverless_database {
        enable_throttling_rcu_limit = <true_или_false>
        provisioned_rcu_limit       = <пропускная_способность>
        storage_size_limit          = <объем_данных>
        throttling_rcu_limit        = <выделенная_пропускная_способность>
      }
    }
    

    Где:

    • name — имя БД. Обязательный параметр.
    • enable_throttling_rcu_limit — включить ограничение пропускной способности. Необязательный параметр. Значение по умолчанию false.
    • provisioned_rcu_limit — ограничение потребления Request Units в секунду. Необязательный параметр. Значение по умолчанию 0.
    • storage_size_limit — объем данных, ГБ. Необязательный параметр. Значение по умолчанию 50 ГБ.
    • throttling_rcu_limit — устанавленное значение показывает, какое потребление Request Units в секунду оплачивается по часам по тарифу. Ноль выключает почасовую оплату. Необязательный параметр. Значение по умолчанию 0.
  2. Примените изменения:

    1. В терминале перейдите в папку, где вы отредактировали конфигурационный файл.

    2. Проверьте корректность конфигурационного файла с помощью команды:

      terraform validate
      

      Если конфигурация является корректной, появится сообщение:

      Success! The configuration is valid.
      
    3. Выполните команду:

      terraform plan
      

      В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

    4. Примените изменения конфигурации:

      terraform apply
      
    5. Подтвердите изменения: введите в терминале слово yes и нажмите Enter.

Terraform применит требуемые изменения к ресурсам. Проверить изменения можно в консоли управления или с помощью команды YC CLI:

yc ydb database get <имя_БД>

Пример

Изменение выделенной пропускной способности и объема данных для БД test-ydb-serverless:

resource "yandex_ydb_database_serverless" "database1" {
  name = "test-ydb-serverless"
  serverless_database {
    enable_throttling_rcu_limit = false
    provisioned_rcu_limit       = 10
    storage_size_limit          = 80
    throttling_rcu_limit        = 100
  }
}

Создать и изменить параметры базы данных с выделенными серверами (Dedicated)

Создать Dedicated базу данных

Консоль управления
YC CLI
Terraform
  1. В консоли управления выберите каталог, в котором будет создана БД.

  2. В списке сервисов выберите Managed Service for YDB.

  3. Нажмите кнопку Создать базу данных.

  4. Введите Имя базы. Требования к имени:

    • Длина — от 3 до 63 символов.
    • Может содержать строчные буквы латинского алфавита, цифры и дефисы.
    • Первый символ — буква. Последний символ — не дефис.
  5. В блоке Тип базы данных выберите опцию Dedicated.

  6. В блоке Вычислительные ресурсы выберите тип и количество вычислительных ресурсов.

  7. В блоке Группы хранения выберите тип диска и количество групп хранения, определяющее суммарный объем хранилища.

  8. В блоке Сеть настройте параметры сети:

    1. (опционально) В поле Публичные IP-адреса выберите опцию Присвоить, если вы планируете отправлять запросы к базе не только из сети Yandex Cloud, но и через интернет.

      Важно

      Потребление исходящего интернет-трафика для баз Managed Service for YDB с внешними IP-адресами учитывается по действующим тарифам.

      Начисления за исходящий интернет-трафик, возникшие в результате использования Managed Service for YDB, будут компенсированы грантами.

    2. Выберите существующую сеть из списка Облачная сеть или создайте новую:

      • Нажмите кнопку Создать новую.
      • В открывшемся окне укажите Имя новой сети.
      • (опционально) Выберите опцию Создать подсети. Подсети в каждой зоне доступности будут созданы автоматически.
      • Нажмите кнопку Создать.
    3. В блоке Подсети для каждой зоны доступности выберите подсеть или создайте новую:

      • Нажмите кнопку Создать новую.
      • В открывшемся окне укажите Имя новой подсети.
      • (опционально) Введите Описание подсети.
      • Выберите из списка Зона доступности нужную зону.
      • Задайте адрес подсети в формате CIDR.
      • Нажмите кнопку Создать.
  9. Нажмите кнопку Создать базу данных.

Дождитесь, когда статус БД изменится на Running.

Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

  1. Посмотрите описание команды YC CLI для создания БД:

    yc ydb database create --help
    
  2. Выполните команду:

    yc ydb database create <имя_БД> \
      --dedicated \
      --network-name <название_сети> \
      --storage <тип_носителя>,<количество_групп_хранения> \
      --resource-preset <конфигурация_вычислительных_ресурсов> \
    

    Где:

    • --dedicated — конфигурация БД с выделенными серверами.
    • --network-name — имя облачной сети, в которой будет создана БД. Может быть указана сеть default.
    • --storage — тип носителя и количество групп хранения в формате type=<type>,groups=<groups>. Для типа ssd одна группа хранения вмещает 100 ГБ данных.
    • --resource-preset — конфигурация вычислительных ресурсов узла. Возможные значения перечислены в колонке Имя конфигурации в таблице раздела База данных на выделенных ресурсах (Dedicated).

Важные дополнительные параметры:

  • --public-ip — флаг назначения публичных IP-адресов. Без этого флага вы не сможете подключиться к создаваемой БД из интернета.
  • --fixed-size INT — количество узлов в кластере, по умолчанию 1. Узлы выделяются в разных зонах доступности, таким образом конфигурация из трех узлов будет географически распределена в трех зонах доступности.
  • --async — флаг асинхронного создания. Создание Dedicated БД может занимать значительное время, измеряемое минутами. Вы можете указать данный флаг для того, чтобы управление было возвращено сразу как только команда на создание БД будет принята облаком.

Примеры

  1. Создание минимальной одноузловой Dedicated БД YDB с именем dedb, доступной из Интернет:

    yc ydb database create dedb \
      --dedicated \
      --network-name default \
      --storage type=ssd,groups=1 \
      --resource-preset medium \
      --public-ip
    
  2. Асинхронное создание трехузловой георезервированной Dedicated БД YDB с хранилищем в 300 ГБ и вычислительным узлами по 64 ГБ RAM, с именем dedb3, доступной из Интернет:

    yc ydb database create dedb3 \
      --dedicated 
      --network-name default \
      --storage type=ssd,groups=3 \
      --resource-preset medium-m64 \
      --public-ip \
      --fixed-size 3 \
      --async
    

Если у вас ещё нет Terraform, установите его и настройте провайдер Yandex Cloud.

  1. В конфигурационном файле Terraform опишите параметры Dedicated БД, которую необходимо создать:

     resource "yandex_ydb_database_dedicated" "database1" {
       name                = "<имя_БД>"
    
       network_id          = "<идентификатор_сети>"
       subnet_ids          = ["<идентификатор_подсети1>", "<идентификатор_подсети2>", "<идентификатор_подсети3>"]
    
       resource_preset_id  = "<конфигурация_вычислительных_ресурсов>"      
    
       scale_policy {
         fixed_scale {
           size = <количество_экземпляров_БД>
         }
       }
    
       storage_config {
         group_count     = <количество_групп_хранения>
         storage_type_id = "<тип_носителя>"
       }     
     }
    

    Где:

    • name — имя БД.
    • network_id — идентификатор сети, к которой подключается БД.
    • subnet_ids — список идентификаторов подсетей. Перечисляются через запятую.
    • resource_preset_id — конфигурация вычислительных ресурсов узла. Возможные значения перечислены в колонке Имя конфигурации в таблице раздела База данных на выделенных ресурсах (Dedicated).
    • scale_policy — политика масштабирования, где size — количество экземпляров БД.
    • storage_config — конфигурация хранилища, где:
      • group_count — количество групп хранения.
      • storage_type_id — тип носителя. Для типа ssd одна группа хранения вмещает 100 ГБ данных.
  2. Создайте БД:

    1. В терминале перейдите в папку, где вы отредактировали конфигурационный файл.

    2. Проверьте корректность конфигурационного файла с помощью команды:

      terraform validate
      

      Если конфигурация является корректной, появится сообщение:

      Success! The configuration is valid.
      
    3. Выполните команду:

      terraform plan
      

      В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

    4. Примените изменения конфигурации:

      terraform apply
      
    5. Подтвердите изменения: введите в терминале слово yes и нажмите Enter.

Terraform создаст все требуемые ресурсы. Проверить изменения можно в консоли управления или с помощью команды YC CLI:

yc ydb database list

Пример

Создание минимальной одноузловой Dedicated БД Managed Service for YDB с именем test-bd, доступной из интернета:

resource "yandex_ydb_database_dedicated" "database2" {
   name               = "test-ydb-dedicated"
   network_id         = yandex_vpc_network.my-net.id
   subnet_ids         = [yandex_vpc_subnet.my-subnet-a.id, yandex_vpc_subnet.my-subnet-b.id, yandex_vpc_subnet.my-subnet-c.id]
   resource_preset_id = "medium"
   scale_policy {
     fixed_scale {
       size = 1
     }
   }
  storage_config {
    group_count     = 1
    storage_type_id = "ssd"
  }
}

Изменить параметры Dedicated базы данных

Консоль управления
YC CLI
Terraform
  1. В консоли управления выберите каталог, в котором нужно изменить настройки БД.
  2. В списке сервисов выберите Managed Service for YDB.
  3. Нажмите значок в строке нужной БД и выберите пункт Изменить.
  4. Настройте параметры БД:
    1. При необходимости измените имя БД.
    2. В блоке Вычислительные ресурсы выберите тип и количество вычислительных ресурсов.
    3. В блоке Группы хранения выберите тип диска и количество групп хранения, определяющее суммарный объем хранилища.
  5. Нажмите кнопку Изменить базу данных.

Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Посмотрите описание команды YC CLI для изменения БД:

yc ydb database update --help

К Dedicated БД применимы параметры без префикса sls-.

Пример

Изменение количества групп хранения для БД с типом дисков ssd и одной группой хранения:

yc ydb database update test-db \
  --storage type=ssd,group=2

Количество групп хранения нельзя уменьшить.

Если у вас ещё нет Terraform, установите его и настройте провайдер Yandex Cloud.

  1. Откройте конфигурационный файл Terraform и измените фрагмент с описанием БД:

    resource "yandex_ydb_database_dedicated" "database2" {
      name               = "my-first-ydb-dedicated"
      network_id         = yandex_vpc_network.my-net.id
      subnet_ids         = [yandex_vpc_subnet.my-subnet-a.id, yandex_vpc_subnet.my-subnet-b.id, yandex_vpc_subnet.my-subnet-c.id]
      resource_preset_id = "medium"
      scale_policy {
        fixed_scale {
          size = 2
        }
      }
      storage_config {
        group_count     = 1
        storage_type_id = "ssd"
      }
    }
    
  2. Примените изменения:

    1. В терминале перейдите в папку, где вы отредактировали конфигурационный файл.

    2. Проверьте корректность конфигурационного файла с помощью команды:

      terraform validate
      

      Если конфигурация является корректной, появится сообщение:

      Success! The configuration is valid.
      
    3. Выполните команду:

      terraform plan
      

      В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

    4. Примените изменения конфигурации:

      terraform apply
      
    5. Подтвердите изменения: введите в терминале слово yes и нажмите Enter.

Проверить изменения можно в консоли управления или с помощью команды YC CLI:

yc ydb database get <имя_БД>

Посмотреть список баз данных

Консоль управления
YC CLI
  1. В консоли управления выберите каталог, для которого нужно получить список БД.
  2. В списке сервисов выберите Managed Service for YDB.

Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Выполните команду:

yc ydb database list

Удалить базу данных

Консоль управления
YC CLI
Terraform
  1. В консоли управления выберите каталог, в котором нужно удалить БД.
  2. В списке сервисов выберите Managed Service for YDB.
  3. Нажмите значок в строке нужной БД и выберите пункт Удалить.
  4. Подтвердите удаление.

Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Выполните команду:

yc ydb database delete <имя_БД>

Если у вас ещё нет Terraform, установите его и настройте провайдер Yandex Cloud.

  1. Откройте файл конфигураций Terraform и удалите фрагмент с описанием БД.

    Пример описания БД в конфигурации Terraform:

    resource "yandex_ydb_database_dedicated" "database2" {
      name               = "test-ydb-dedicated"
    
      network_id         = yandex_vpc_network.my-net.id
      subnet_ids         = [yandex_vpc_subnet.my-subnet-a.id, yandex_vpc_subnet.my-subnet-b.id, yandex_vpc_subnet.my-subnet-c.id]
    
      resource_preset_id = "medium"
    
      scale_policy {
        fixed_scale {
          size = 1
        }
      }
    
      storage_config {
        group_count     = 1
        storage_type_id = "ssd"
      }
    }
    
  2. Примените изменения:

    1. В терминале перейдите в папку, где вы отредактировали конфигурационный файл.

    2. Проверьте корректность конфигурационного файла с помощью команды:

      terraform validate
      

      Если конфигурация является корректной, появится сообщение:

      Success! The configuration is valid.
      
    3. Выполните команду:

      terraform plan
      

      В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

    4. Примените изменения конфигурации:

      terraform apply
      
    5. Подтвердите изменения: введите в терминале слово yes и нажмите Enter.

Terraform удалит все требуемые ресурсы. Проверить изменения можно в консоли управления или с помощью команды YC CLI:

yc ydb database list

Была ли статья полезна?

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
В этой статье:
  • Создать и изменить параметры бессерверной (Serverless) базы данных
  • Создать Serverless базу данных
  • Изменить параметры Serverless базы данных
  • Создать и изменить параметры базы данных с выделенными серверами (Dedicated)
  • Создать Dedicated базу данных
  • Изменить параметры Dedicated базы данных
  • Посмотреть список баз данных
  • Удалить базу данных