Кратко:
- Создание базы данных YDB в dedicated режиме.
- Создание базы данных требует выбора имени, вычислительных ресурсов и количества групп хранения.
- Выбор облачной сети и подсетей для работы с БД, присвоение публичного IP-адреса.
- Создание БД занимает несколько минут, после чего можно подключиться к ней и запустить тестовое приложение.
- В тестовом приложении создаются таблицы с данными о сериалах.
- В следующей практической работе вы научитесь работать с данными в вашей БД при помощи YQL-запросов.
Практическая работа. Создание базы данных
В этой практической работе вы создадите БД YDB в dedicated режиме, научитесь подключаться к ней и добавлять данные из тестового приложения.
Создание базы данных
-
На стартовой странице консоли управления перейдите в дашборд каталога, в котором будете создавать БД, нажмите кнопку Создать ресурс и выберите в списке База данных YDB.

-
В открывшемся окне выберите тип БД
dedicated. Интерфейс создания новой БД немного отличается от уже знакомых вам интерфейсов создания кластеров управляемых БД. Это связано с архитектурными особенностями сервиса.
-
Выберите для вашей БД имя и необходимые вычислительные ресурсы (для практических работ этой темы достаточно одного хоста конфигурации
medium), а также количество групп хранения (достаточно одной группы).Группа хранения — это массив независимых дисковых накопителей, объединённых по сети в единый логический элемент. Она состоит из 9 дисков, расположенных по три в каждой из трёх зон доступности. Такая конфигурация обеспечивает устойчивость при одновременном отказе одной из зон и отказе диска в другой зоне. Стандартный размер группы хранения — 100 ГБ. -
Выберите облачную сеть и подсети для работы с БД. Можно оставить сеть по умолчанию или выбрать ту, которую создали в предыдущем курсе. БД будет доступна для всех виртуальных машин, которые подключены к той же облачной сети.
👉 Не забудьте выбрать опцию присвоения публичного IP-адреса, чтобы иметь возможность подключаться к БД из интернета. -
Нажмите кнопку Создать базу данных.Создание БД занимает несколько минут. Когда статус БД изменится с
ProvisioningнаRunning, она готова к работе. -
Кликнув на созданную БД в консоли управления, вы перейдёте на вкладку Обзор.
В блоке Соединение приведена информация, которая понадобится для подключения к БД:- Эндпоинт — точка подключения с указанием протокола, представляющая собой в данном случае адрес, на который посылаются сообщения;
- Размещение базы данных — полный путь к БД.
Примеры подключений из командной строки и приложений вы можете посмотреть, нажав на кнопку Подключиться.
Подключение к базе данных и запуск тестового приложения
В этой части практической работы вы подключитесь к БД и запустите тестовое приложение, которое создаст в ней несколько таблиц с данными о популярных сериалах.
-
Для того, чтобы выполнить эту задачу, вам понадобится сервисный аккаунт с ролями
viewerиeditor. Перейдите в дашборд каталога и выберите вкладку Сервисные аккаунты. Создайте сервисный аккаунт, назначив для него указанные роли.
-
Вы можете запускать тестовое приложение со своего компьютера или с виртуальной машины в Yandex Cloud. В данном примере используется OC Ubuntu и приложение на Python.Для запуска приложения нужно склонировать на свою машину репозиторий YDB Python SDK, из которого оно будет вызываться, а также установить библиотеки
ydb,iso8601иyandexcloud. Воспользуйтесь для этого следующими командами:git clone https://github.com/yandex-cloud/ydb-python-sdk.git sudo pip3 install iso8601 ydb yandexcloud -
Создайте авторизованный ключ для вашего сервисного аккаунта и сохраните его в файл с помощью интерфейса командной строки Yandex Cloud.
mkdir ~/.ydb yc iam key create \ --service-account-name <имя сервисного аккаунта> \ --output ~/.ydb/<key_name>.json -
Добавьте ключ в переменную окружения
YDB_SERVICE_ACCOUNT_KEY_FILE_CREDENTIALS.export YDB_SERVICE_ACCOUNT_KEY_FILE_CREDENTIALS=~/.ydb/<key_name>.json -
Запустите тестовое приложение
basic_example_v1из репозитория YDB Python SDK, указав в качестве параметров подключения значения эндпоинта и полного пути к БД.cd ./ydb-python-sdk/examples/basic_example_v1 python3 __main__.py \ -e <Эндпоинт> \ -d <Размещение базы данных>Результат выполнения приложения должен выглядеть так:> describe table: series column, name: series_id , Uint64 column, name: title , Utf8 column, name: series_info , Utf8 column, name: release_date , Uint64 > select_simple_transaction: series, id: 1 , title: IT Crowd , release date: b'2006-02-03' > bulk upsert: episodes > select_prepared_transaction: episode title: To Build a Better Beta , air date: b'2016-06-05' > select_prepared_transaction: episode title: Bachman's Earnings Over-Ride , air date: b'2016-06-12' > explicit TCL call > select_prepared_transaction: episode title: TBD , air date: b'2022-08-24' -
Вернитесь в консоль управления Yandex Cloud, чтобы посмотреть на результаты работы приложения. Переключитесь на вкладку Навигация.
В БД были созданы три таблицы —episodes,seasonsиseries— с информацией о сериалах «IT Crowd» и «Silicon Valley». Кликнув по названию таблицы, вы увидите содержащиеся в ней данные. А если подвести к названию таблицы курсор и кликнуть на значок «информация» справа, то внизу появится дополнительное окно с вкладками Обзор, Схема и Партиции.
Кнопка +Создать на панели Навигация служит для создания директорий и таблиц. С её помощью можно создать новую таблицу, не прибегая к командам YQL.
В следующей практической работе вы научитесь работать с данными в вашей БД при помощи YQL-запросов.