Типы дисков в Yandex MPP Analytics for PostgreSQL
Yandex MPP Analytics for PostgreSQL позволяет использовать сетевые и локальные диски для организации хранилища кластеров баз данных. Сетевые диски реализованы на базе сетевых блоков — виртуальных дисков в инфраструктуре Yandex Cloud. Локальные диски физически размещаются в серверах кластера.
При создании кластера вы можете выбрать для хранилища следующие типы дисков:
-
Сетевые SSD-диски (
network-ssd) — компромиссный вариант: медленнее, чем локальные SSD-диски, но, в отличие от них, обеспечивают сохранность данных при выходе из строя оборудования Yandex Cloud. -
Нереплицируемые SSD-диски (
network-ssd-nonreplicated) — сетевые диски с повышенной производительностью, реализованной за счет устранения избыточности.Объем такого хранилища можно увеличивать только с шагом 93 ГБ. Доступно для кластеров с числом сегментных хостов не более 4.
-
Сверхбыстрые сетевые SSD-диски с тремя репликами (
network-ssd-io-m3) — сетевые диски с теми же скоростными характеристиками, что и нереплицируемые. Этот тип диска обеспечивает избыточность.Объем таких дисков можно увеличивать только с шагом 93 ГБ.
-
Локальные SSD-диски (
local-ssd) — самые быстрые диски.Объем такого хранилища можно увеличивать:
- для платформы Intel Cascade Lake — только с шагом 100 ГБ;
- для платформ Intel Ice Lake и AMD Zen 4 — только с шагом 368 ГБ.
Для кластеров, хосты которых располагаются в зоне доступности
ru-central1-d, недоступно хранилище на локальных SSD-дисках при использовании платформы Intel Cascade Lake.
Размер блока
Примечание
До 5% дискового пространства резервируется для служебных нужд, поэтому на дисках может быть меньше доступного места, чем заявлено при создании кластера.
Подробнее о размерах и производительности разных типов дисков в документации Yandex Compute Cloud.
Тип дисков у хостов-мастеров и хостов-сегментов может различаться. Исключение — кластеры с шифрованием дисков: для обоих типов хостов должны использоваться диски local-ssd.
Примечание
При использовании стандартных хостов на платформе Intel Ice Lake доступ к хранилищу на локальных SSD-дисках предоставляется по запросу. Обратитесь в техническую поддержку
Особенности хранилища на локальных SSD-дисках
Хранилище на локальных SSD-дисках не обеспечивает отказоустойчивости хранения данных, а также влияет на тарификацию кластера в целом: кластер с таким хранилищем тарифицируется, даже если он остановлен. Подробнее — в правилах тарификации.
Шифрование дисков
В Yandex MPP Analytics for PostgreSQL шифрование доступно только для локальных SSD-дисков (local-ssd). Чтобы включить шифрование, выберите этот тип диска как для хостов-мастеров, так и для хостов-сегментов. Если хотя бы для одного из этих типов хостов выбраны сетевые диски, включить шифрование нельзя.
При создании или восстановлении кластера из резервной копии можно зашифровать диск хранилища пользовательским ключом KMS. Чтобы зашифровать диск уже созданного кластера, отключить шифрование или зашифровать диск другим ключом, создайте резервную копию кластера и восстановите его с новыми настройками.
Для создания зашифрованного диска нужна роль kms.keys.user или выше.
Если деактивировать ключ, которым был зашифрован диск, доступ к данным будет приостановлен, пока ключ не будет снова активирован.
Внимание
Если удалить ключ, которым был зашифрован диск, или его версию, то доступ к данным будет безвозвратно потерян. Подробнее в документации Key Management Service.
Примечание
Включение шифрования может незначительно снизить производительность дисковой подсистемы в некоторых сценариях использования.
Управление дисковым пространством
При заполнении хранилища любого хоста более чем на 95% Yandex MPP Analytics for PostgreSQL переводит кластер в режим read-only. При этом для всех баз данных через запрос ALTER DATABASE выставляется настройка DEFAULT_TRANSACTION_READ_ONLY = TRUE.
В этом режиме запросы на вставку (INSERT), удаление (DELETE) или обновление (UPDATE) данных завершаются ошибкой.
Отслеживание перехода в read-only
Чтобы отслеживать степень заполнения хранилища на хостах кластера, настройте алерты в Yandex Monitoring:
-
Перейдите на страницу каталога и выберите сервис Monitoring.
-
Выберите сервис Yandex MPP Analytics for PostgreSQL.
-
Создайте алерт со следующими параметрами:
-
Метрика — задайте параметры метрики:
-
облако;
-
каталог;
-
сервис Yandex MPP Analytics for PostgreSQL;
-
идентификатор кластера Yandex MPP Analytics for PostgreSQL;
Идентификатор кластера можно получить со списком кластеров в каталоге.
-
метка
disk.free.
-
-
Условие срабатывания — задайте условие
Меньше или равнодля процента заполнения свободного дискового пространства, при котором сработает алерт:- 95% от размера хранилища для
Alarm; - 90% от размера хранилища для
Warning.
- 95% от размера хранилища для
-
Дополнительные настройки:
- Функция агрегации —
Минимум(минимальное значение метрики за период). - Окно вычисления — желаемый период, с которым будет обновляться значение метрики.
- Функция агрегации —
-
Добавьте созданный ранее канал уведомлений.
-
Вывод кластера из режима read-only
Если кластер перешел в режим read-only:
-
Увеличьте размер хранилища, чтобы выйти за пороговое значение. Тогда Yandex Cloud снимет режим read-only автоматически.
-
Вручную отключите режим read-only и освободите место в хранилище, удалив часть данных.
Внимание
Не допускайте, чтобы в процессе этих действий свободное дисковое пространство уменьшилось до нуля. Поскольку предохранительный механизм отключен, Yandex MPP Analytics for PostgreSQL в этом случае аварийно завершит работу и кластер станет неработоспособным.
Чтобы отключить режим read-only вручную, обратитесь в техническую поддержку
-
Подключитесь к БД любым удобным способом.
-
Откройте транзакцию и внутри нее выполните команду:
SET LOCAL transaction_read_only TO off; -
В рамках этой же транзакции удалите ненужные данные с помощью операторов
DROPилиTRUNCATE. Не используйте операторDELETE— при его использовании строки отмечаются как удаленные, но не удаляются из базы физически. -
Зафиксируйте транзакцию и перезапустите все подключения к базе.
Например, если ваша база содержит ненужную таблицу
ExcessDataTable1, удалите ее с помощью транзакции:BEGIN; SET LOCAL transaction_read_only TO off; DROP TABLE ExcessDataTable1; COMMIT;
Примеры использования
- Загрузка данных из Yandex Object Storage в Yandex MPP Analytics for PostgreSQL с помощью Yandex Data Transfer
- Выгрузка данных Greenplum® в гибридное хранилище Yandex Object Storage
Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками Broadcom Inc в США и/или других странах.