Как начать работать с Managed Service for Greenplum®
Чтобы начать работу с сервисом:
- Создайте кластер.
- Получите его идентификатор.
- Подключитесь к кластеру.
- Создайте базу данных.
- Выполните несколько запросов.
Для подключения к кластеру и работы с базами данных будут использоваться:
- Графическая IDE DBeaver
. - Консольный клиент
psql
.
Некоторые другие инструменты для работы с Greenplum® описаны в разделе Подключение к базе данных.
Перед началом работы
-
Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь, если вы еще не зарегистрированы. -
Если у вас еще нет каталога, создайте его:
-
В консоли управления
в списке слева выберите нужное облако. -
Справа сверху нажмите кнопку Создать каталог.
-
Введите имя каталога. Требования к имени:
- длина — от 2 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
(Опционально) Введите описание каталога.
-
Выберите опцию Создать сеть по умолчанию. Будет создана сеть с подсетями в каждой зоне доступности. Также в этой сети будет создана группа безопасности по умолчанию, внутри которой весь сетевой трафик разрешен.
-
Нажмите кнопку Создать.
-
-
Назначьте вашему аккаунту в Yandex Cloud роль vpc.user и роль managed-greenplum.editor или выше. Эти роли позволяют создать кластер.
Примечание
Если вы не можете управлять ролями, обратитесь к администратору вашего облака или организации.
Создайте кластер
Создайте кластер Greenplum® с публичным доступом. К такому кластеру можно подключиться как с виртуальной машины Yandex Compute Cloud, так и через интернет.
Чтобы создать кластер:
-
В консоли управления выберите каталог, в котором нужно создать кластер БД.
-
Выберите сервис Managed Service for Greenplum.
-
Нажмите кнопку Создать кластер.
-
Укажите следующие параметры кластера:
-
Базовые параметры → Имя кластера — имя кластера. Оно должно быть уникальным в рамках каталога.
-
Сетевые настройки:
-
Сеть — укажите сеть, в которой нужно разместить хосты кластера.
-
Группы безопасности — укажите группы безопасности для сетевого трафика кластера.
Настройте эти группы безопасности так, чтобы можно было подключаться к кластеру через интернет.
-
Зона доступности — укажите зону доступности для хостов кластера.
-
Подсеть — укажите подсеть для хостов кластера.
-
Публичный доступ — включите опцию.
-
-
Пользователь:
-
Имя пользователя — имя пользователя-администратора. Имя может содержать латинские буквы, цифры, дефис и подчеркивание, но не может начинаться с дефиса. Длина от 1 до 32 символов.
Примечание
Имена
admin
,gpadmin
, mdb_admin,mdb_replication
,monitor
,none
,postgres
,public
,repl
зарезервированы для собственных нужд Managed Service for Greenplum®. Создавать пользователей с этими именами нельзя. -
Пароль — пароль пользователя-администратора. Длина от 8 до 128 символов.
Пользователь-администратор — это специальный пользователь, который необходим для управления кластером и не может быть удален. Подробнее см. в разделе Пользователи и роли в Managed Service for Greenplum®.
-
-
Master и Segment — конфигурация хостов-мастеров и хостов-сегментов в кластере Greenplum®.
Измените настройки на этих вкладках, если конфигурация по умолчанию вам не подходит. Дополнительную информацию см. в разделе Расчет конфигурации кластера.
-
-
Нажмите кнопку Создать кластер.
-
Дождитесь, когда кластер будет готов к работе: его статус на панели Managed Service for Greenplum® сменится на Running, а состояние — на Alive. Это может занять некоторое время.
Подробнее о создании кластера см. в разделе Создание кластера Greenplum®.
Получите идентификатор кластера
Получите идентификатор кластера, который потребуется при подключении:
- В консоли управления перейдите на страницу каталога и выберите сервис Managed Service for Greenplum.
- Нажмите на имя нужного кластера и выберите вкладку
Обзор. - Скопируйте идентификатор кластера из блока Общая информация.
Подключитесь к кластеру
После создания кластера подключитесь к нему:
-
Установите DBeaver
на хост, с которого будет выполняться подключение.Примечание
Работа с кластером проверялась в DBeaver Community 24.2.3.
-
Запустите DBeaver.
-
Выберите в меню База данных пункт Новое соединение.
-
Выберите из списка БД Greenplum®.
-
Нажмите кнопку Next.
-
Укажите основные параметры соединения на вкладке Главное:
-
В блоке Server:
-
Connect by —
Host
. -
Хост — особый FQDN первичного мастера:
c-<идентификатор_кластера>.rw.mdb.yandexcloud.net
.Идентификатор кластера был получен ранее.
-
База данных —
postgres
. -
Порт —
6432
. -
Показать все базы данных — включите опцию.
-
-
В блоке Аутентификация:
-
Аутентификация —
Database Native
. -
Пользователь — имя пользователя-администратора, указанное при создании кластера.
-
Пароль — пароль пользователя-администратора.
Если нужно, выключите опцию Сохранить пароль — эта опция включена по умолчанию.
-
-
-
Нажмите кнопку Тест соединения.
Если DBeaver предложит скачать файлы драйвера, то нажмите кнопку Скачать. Эти файлы могут отсутствовать, если ранее вы никогда не использовали DBeaver для подключения к Greenplum®.
Введите пароль пользователя, если DBeaver его запросит, и нажмите кнопку OK.
DBeaver подключится к базе данных
postgres
в кластере Greenplum®.При успешном подключении будет выведена информация о сервере Greenplum® и о драйвере, который использовался для подключения. Нажмите кнопку OK.
Важно
При подключении будет использоваться шифрованное подключение (с SSL), но без проверки подлинности хостов кластера. Это поведение по умолчанию для всех клиентов
, которые используют библиотекуlibpq
.В промышленной эксплуатации подключайтесь к кластеру через SSL с проверкой подлинности хоста.
-
(Опционально) На вкладке Главное нажмите кнопку Описание соединения (название, тип, ...) и укажите название и описание соединения.
По умолчанию название соединения совпадает с указанным именем базы данных (
postgres
). Выберите другое название, чтобы избежать путаницы: с помощью этого соединения можно работать и с другими базами данных, а не только сpostgres
. -
Нажмите кнопку Finish.
Созданное соединение появится на панели слева во вкладке Базы данных.
-
Раскройте созданное соединение на панели слева во вкладке Базы данных.
Введите пароль пользователя, если DBeaver его запросит, и нажмите кнопку OK.
DBeaver подключится к базе данных
postgres
в кластере Greenplum®. -
Выполните тестовый запрос:
-
Раскройте папку Базы данных, затем раскройте контекстное меню базы данных
postgres
и выберите пункт Редактор SQL → Open SQL console.Откроется консоль, в которой можно выполнять SQL-запросы к базе
postgres
. -
Вставьте запрос в консоль:
SELECT version();
-
Выполните запрос, нажав кнопку Выполнить SQL скрипт у левого края консоли.
Либо выберите в меню Редактор SQL пункт Выполнить SQL скрипт.
-
-
Установите
клиентpsql
на хост, с которого будет выполняться подключение.Например, чтобы установить
psql
на виртуальную машину Linux в Yandex Cloud c Ubuntu 24.04: -
Подключитесь к базе данных
postgres
в кластере Greenplum®. Используйте особый FQDN первичного мастера:psql "host=c-<идентификатор_кластера>.rw.mdb.yandexcloud.net \ port=6432 \ dbname=postgres \ user=<имя_пользователя>"
Идентификатор кластера был получен ранее.
После выполнения команды введите пароль пользователя для завершения процедуры подключения.
Важно
При подключении будет использоваться шифрованное подключение (с SSL), но без проверки подлинности хостов кластера. Это поведение по умолчанию для всех клиентов
, которые используют библиотекуlibpq
.В промышленной эксплуатации подключайтесь к кластеру через SSL с проверкой подлинности хоста.
-
Выполните тестовый запрос:
SELECT version();
При успешном подключении к кластеру и выполнении тестового запроса будет выведена версия Greenplum®.
Создайте базу данных
В созданном ранее кластере Greenplum® есть только одна база данных — служебная база данных postgres
. Эта база не предназначена для хранения пользовательских данных: например, в такой базе нельзя создавать схемы данных (schemas).
После подключения к кластеру Greenplum® создайте базу sample_db
для хранения пользовательских данных:
-
Раскройте созданное ранее соединение на панели слева во вкладке Базы данных.
Введите пароль пользователя, если DBeaver его запросит, и нажмите кнопку OK.
DBeaver подключится к базе данных
postgres
в кластере Greenplum®. -
Создайте базу данных:
-
Раскройте папку Базы данных, затем раскройте контекстное меню базы данных
postgres
и выберите пункт Редактор SQL → Open SQL console.Откроется консоль, в которой можно выполнять SQL-запросы к базе
postgres
. -
Вставьте запрос в консоль:
CREATE DATABASE sample_db;
-
Выполните запрос, нажав кнопку Выполнить SQL скрипт у левого края консоли.
Либо выберите в меню Редактор SQL пункт Выполнить SQL скрипт.
-
-
Обновите список баз данных, чтобы в нем появилась созданная база.
Для этого раскройте контекстное меню папки Базы данных и выберите пункт Refresh.
Совет
Если база
sample_db
не появилась в списке, то проверьте, что для соединения была включена опция Показать все базы данных.
-
Выполните запрос:
CREATE DATABASE sample_db;
-
Выведите список баз данных в кластере Greenplum® и убедитесь, что в нем присутствует база
sample_db
:\list
Выполните несколько запросов к базе данных
Чтобы подтвердить, что база данных была создана корректно, выполните несколько запросов к ней:
-
Раскройте созданное ранее соединение на панели слева во вкладке Базы данных.
Введите пароль пользователя, если DBeaver его запросит, и нажмите кнопку OK.
DBeaver подключится к базе данных
postgres
в кластере Greenplum®. -
Раскройте папку Базы данных, затем раскройте контекстное меню базы данных
sample_db
и выберите пункт Редактор SQL → Open SQL console.Откроется консоль, в которой можно выполнять SQL-запросы к базе
sample_db
. -
Создайте таблицу и наполните ее данными:
-
Вставьте запросы в консоль:
CREATE TABLE sample_table (a int) DISTRIBUTED BY (a); INSERT INTO sample_table SELECT * FROM GENERATE_SERIES(1, 10000);
-
Выполните запрос, нажав кнопку Выполнить SQL скрипт у левого края консоли.
Либо выберите в меню Редактор SQL пункт Выполнить SQL скрипт.
Таблица будет создана, а затем наполнена числами от 1 до 10000.
Запросы
CREATE TABLE
иINSERT INTO
не возвращают никаких результатов. DBeaver отобразит статистику по выполненным запросам, которая имеет вид:Queries 2 Updated Rows 10000 Execute time ... Fetch time ... Total time ... Start time ... Finish time ...
-
-
Получите сумму всех чисел в таблице. Для этого очистите консоль, вставьте запрос и выполните его:
SELECT sum(a) FROM sample_table;
Ожидаемый результат:
sum | --------+ 50005000|
-
Получите информацию о том, как 10000 строк таблицы распределены по сегментам Greenplum®. Для этого очистите консоль, вставьте запрос и выполните его:
SELECT gp_segment_id, count(*) FROM sample_table GROUP BY gp_segment_id;
Результат будет зависеть от того, сколько сегментов есть в кластере. Распределение строк по сегментам также может отличаться.
Пример результата для кластера с двумя сегментами:
gp_segment_id|count| -------------+-----+ 0| 5013| 1| 4987|
-
Завершите сеанс работы с соединением. Для этого раскройте контекстное меню соединения и выберите пункт Отсоединиться.
-
Убедитесь, что вы подключены к базе данных
sample_db
:SELECT current_database();
Если запрос возвращает имя другой базы данных, например,
postgres
, подключитесь к нужной базе:\connect sample_db;
-
Создайте таблицу и наполните ее данными:
CREATE TABLE sample_table (a int) DISTRIBUTED BY (a); INSERT INTO sample_table SELECT * FROM GENERATE_SERIES(1, 10000);
Таблица будет создана, а затем наполнена числами от 1 до 10000.
Запросы
CREATE TABLE
иINSERT INTO
не возвращают никаких результатов. -
Получите сумму всех чисел в таблице:
SELECT sum(a) FROM sample_table;
Ожидаемый результат:
sum | --------+ 50005000|
-
Получите информацию о том, как 10000 строк таблицы распределены по сегментам Greenplum®:
SELECT gp_segment_id, count(*) FROM sample_table GROUP BY gp_segment_id;
Результат будет зависеть от того, сколько сегментов есть в кластере. Распределение строк по сегментам также может отличаться.
Пример результата для кластера с двумя сегментами:
gp_segment_id|count| -------------+-----+ 0| 5013| 1| 4987|
-
Завершите сеанс работы с
psql
:\quit
Что дальше
- Изучите концепции сервиса.
- Узнайте подробнее о создании кластера и подключении к кластеру.
Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками VMware, Inc в США и/или других странах.