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

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

- Выберите для вашей БД имя, назначьте необходимые вычислительные ресурсы (для этой и следующих практических работ достаточно одного хоста конфигурации
medium
), тип и количество групп хранения (достаточно одной группы).Группа хранения – это массив независимых дисковых накопителей, объединенных по сети в единый логический элемент. В YDB такой массив состоит из 9 дисков, расположенных по три в каждой из трех зон доступности. Такая конфигурация обеспечивает устойчивость при одновременном отказе одной из зон и отказе диска в другой зоне. Стандартный размер группы хранения — 100 ГБ. - Выберите облачную сеть и подсети для работы с БД. Вы можете оставить сеть по умолчанию или выбрать ту, которую создали на предыдущем курсе. БД будет доступна для всех виртуальных машин, которые подключены к той же облачной сети.
Также выберите опцию присвоения публичного IP-адреса, чтобы иметь возможность подключаться к БД из интернета.

- Нажмите кнопку Создать базу данных.Создание БД занимает несколько минут. Когда статус БД изменится с
Provisioning
наRunning
, она готова к работе. - Кликнув на созданную БД в консоли управления, вы перейдете на вкладку Обзор.

В разделе YDB эндпоинт на этой странице приведена информация, которая вам понадобится для подключения к БД:
- Эндпоинт — точка подключения, представляющая собой в данном случае адрес, на который посылаются сообщения;
- База данных — полный путь к БД;
- Протокол — протокол для доступа к БД.Примеры подключений из командной строки и приложений вы можете посмотреть, нажав на кнопку Подключиться.
Подключение к базе данных и запуск тестового приложенияВ этой части практической работы вы подключитесь к БД и запустите тестовое приложение, чтобы создать в ней несколько таблиц с данными о популярных сериалах.
- Для того, чтобы выполнить эту задачу, вам понадобится сервисный аккаунт с ролями
viewer
иeditor
. Перейдите в дашборд каталога и выберите вкладку Сервисные аккаунты. Создайте сервисный аккаунт, назначив для него указанные роли. Сохраните идентификатор этого аккаунта. - Вы можете запускать тестовое приложение со своего компьютера или с виртуальной машины в Yandex.Cloud. В данном примере используется OC Ubuntu и приложение на Python.
Если при создании БД вы не присвоили ей публичный IP-адрес, то подключиться к ней вы сможете только с виртуальной машины, расположенной в той же облачной сети.Для запуска приложения нужно склонировать на свою машину репозиторий 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 \
--folder-id <идентификатор каталога> \
--service-account-name <имя сервисного аккаунта> \
--output ~/.ydb/sa_name.json
- Получите SSL-сертификат:
Скопировать кодwget "https://storage.yandexcloud.net/cloud-certs/CA.pem" \
-O ~/.ydb/CA.pem
Установите переменную окружения SA_KEY_FILE
и переменную окружения с SSL-сертификатом.
Скопировать кодexport SA_KEY_FILE=~/.ydb/sa_name.json
export YDB_SSL_ROOT_CERTIFICATES_FILE=~/.ydb/CA.pem
- Запустите тестовое приложение
basic_example_v1
из репозитория ydb-python-sdk, указав в качестве параметров подключения значения протокола, эндпоинта и полного пути к БД.
Скопировать кодcd ./ydb-python-sdk/examples/basic_example_v1
python3 __main__.py \
-e grpcs://<Эндпоинт> \
-d /<База данных>
Результат выполнения приложения должен выглядеть так:
Скопировать код> describe table: series
column, name: series_id , Uint64
column, name: title , Utf8
column, name: series_info , Utf8
column, name: release_date , Uint64
column, name: comment , Utf8
> select_simple_transaction:
series, id: 1 , title: IT Crowd , release date: b'2006-02-03'
> 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'2019-05-10'
- Вернитесь в консоль управления Yandex.Cloud, чтобы посмотреть на результаты работы приложения. Переключитесь на вкладку Навигация.

В вашей БД созданы три таблицы: series
, seasons
и episodes
с информацией о двух популярных сериалах IT Crowd и Silicon Valley. Кликнув по названию таблицы, вы увидите содержащиеся в ней данные. А если подвести к названию таблицы курсор и кликнуть на значок «информация» справа, то внизу появится дополнительное окно с вкладками Обзор, Схема и Партиции.

Кнопка Создать на панели Навигация служит для создания директорий и таблиц. С ее помощью можно создать новую таблицу, не прибегая к командам YQL.

В следующей практической работе вы научитесь работать с данными в вашей БД при помощи YQL-запросов.
Свежие комментарии