С помощью этого руководства вы подключите инстанс Managed Trino к кластерам Managed PostgreSQL®. Вы используете JDBC-клиент DBeaver для отправки SQL-запросов, создадите две таблицы и объедините их.
Вы будете использовать следующие сервисы:
Managed Trino — сервис, который предоставляет массивно-параллельный аналитический SQL-движок для обработки больших объемов данных из разных источников.
Managed PostgreSQL — управляемая база данных PostgreSQL.
Шаги:
Располагайте создаваемые сущности в одной VPC и используйте единые сетевые параметры.
Зарегистрируйтесь в личном кабинете Cloud.ru. Если вы уже зарегистрированы, войдите под своей учетной записью.
Перейдите в раздел Evolution.
Создайте публичный SNAT-шлюз, чтобы обеспечить инстансу доступ в интернет и связь с внешними источниками.
Создайте кластер Data Platform с названием dp-labs.
Скачайте и установите root-сертификат на устройство.
На этом шаге вы создадите два кластера и две базы данных Managed PostgreSQL®.
Перейдите в Базы данных → Managed PostgreSQL®.
Создайте кластер Managed PostgreSQL® с названием PG-1. Задайте название базы данных db_pg_1.
Создайте кластер Managed PostgreSQL® с названием PG-2. Задайте название базы данных db_pg_2.
Дождитесь, когда статус обоих кластеров изменится на «Доступен».
Откройте карточки кластеров. Информация из них понадобится на следующих этапах.
На этом шаге вы создадите ключи для настройки доступа к кластерам Managed PostgreSQL® и к инстансу Managed Trino.
Перейдите в Управление → Secret Management.
Создайте секрет для доступа к кластеру PG-1:
Нажмите Добавить секрет.
В поле Путь введите pg1-access-key.
В блоке Значение секрета выберите Стандартый режим. В качестве значения введите пароль из карточки кластера PG-1.
Нажмите Создать.
Создайте секрет для доступа к кластеру PG-2:
Нажмите Добавить секрет.
В поле Путь введите pg2-access-key.
В блоке Значение секрета выберите Стандартый режим. В качестве значения введите пароль из карточки кластера PG-2.
Нажмите Создать.
Создайте секрет для доступа к инстансу Managed Trino:
Нажмите Добавить секрет.
В поле Путь введите dp-labs-access-key.
В блоке Значение секрета выберите Стандартый режим и задайте пароль.
Нажмите Создать.
На этом шаге вы создадите два каталога Managed Trino.
Перейдите в Платформа данных → Managed Trino.
Создайте каталог для базы db_pg_1:
Нажмите Создать и выберите Каталог.
В блоке Общие параметры в поле Название введите postgres_1.
В блоке Настройки каталога заполните поля следующими значениями:
Коннектор — postgresql.
Хост — внутренний IP, указанный в карточке кластера PG-1.
Порт — порт, указанный в карточке кластера PG-1.
Название базы данных — db_pg_1.
Логин — логин, указанный в карточке кластера PG-1.
Пароль — pg1-access-key.
Нажмите Создать.
Создайте каталог для базы db_pg_2:
Нажмите Создать каталог.
В блоке Общие параметры введите Название — postgres_2.
В блоке Настройки каталога заполните поля следующими значениями:
Коннектор — postgresql.
Хост — внутренний IP, указанный в карточке кластера PG-2.
Порт — порт, указанный в карточке кластера PG-2.
Название базы данных — db_pg_2.
Логин — логин, указанный в карточке кластера PG-2.
Пароль — pg2-access-key.
Нажмите Создать.
На этом шаге вы создадите инстанс Managed Trino и настроите соединение с базами данных Managed PostgreSQL®.
Перейдите в раздел Инстансы.
Нажмите Создать инстанс.
В блоке Общие параметры заполните поля следующими значениями:
Название — trino-instance-lab.
Кластер — db-labs.
В блоке Конфигурация заполните поля следующими значениями:
Версия — 0.1.7.
Режим — Основной.
Вычислительные ресурсы — 4 vCPU 4 / RAM 16.
Количество нод — 3. Чтобы задать количество нод, отключите опцию Автомасштабирование.
В блоке Настройки каталога выберите каталоги postgres_1 и postgres_2.
Нажмите Продолжить.
В блоке Сетевые настройки заполните поля следующими значениями:
Зона доступности — зона доступности, для которой создан SNAT-шлюз.
Подсеть — подсеть с DNS-сервером, в которой расположен инстанс Managed Metastore.
Подключить публичный хост — активируйте опцию.
Пользователь — имя пользователя, например user1.
Пароль — dp-labs-access-key.
Нажмите Создать.
Дождитесь, пока статус инстанса Managed Trino изменится на «Готов».
На этом шаге вы с помощью SQL-запросов создадите таблицы в базах данных, заполните и объедините их.
В приложении DBeaver в панели сверху нажмите Редактор SQL → Новый редактор SQL.
Создайте схему для базы данных db_pg_1:
CREATE SCHEMA IF NOT EXISTS postgres_1.lab
Создайте схему для базы данных db_pg_2:
CREATE SCHEMA IF NOT EXISTS postgres_2.lab
Создайте таблицу с брендами в базе данных db_pg_1:
CREATE TABLE IF NOT EXISTS postgres_1.lab.brand (id INT, name VARCHAR(255))
Создайте таблицу с названиями авто в базе данных db_pg_2:
CREATE TABLE IF NOT EXISTS postgres_2.lab.car (id INT, name VARCHAR(255), brand_id INT)
Заполните таблицу в базе данных db_pg_1:
INSERT INTO postgres_1.lab.brand values (1, 'Mazda'), (2, 'BMW'), (3, 'Kia')
Заполните таблицу в базе данных db_pg_2:
INSERT INTO postgres_2.lab.car values (1, 'CX-5', 1), (2, 'CX-9', 1), (3, 'Rio', 3), (4, 'X3', 2), (5, 'X5', 2)
Объедините таблицу с брендами из базы данных db_pg_1 с названиями авто в базе данных db_pg_2:
select c.name as car, b.name as brandfrom postgres_2.lab.car cleft join postgres_1.lab.brand bon c.brand_id = b.id
Вы подключили инстанс Managed Trino к базам данных, расположенным в кластерах Managed PostgreSQL®. Вы научились отправлять SQL-запросы помощью JDBC-клиента DBeaver для создания, заполнения и объединения таблиц.