Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ИИ для бизнеса
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Managed Service for Greenplum®
  • Начало работы
    • Все инструкции
    • Подключение к внешнему файловому серверу (gpfdist)
      • Управление расширениями
      • gp_url_tools
      • pgcrypto
      • uuid-cb
      • Yezzey
    • Вспомогательные утилиты
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • История изменений
  • Обучающие курсы

В этой статье:

  • Установить расширение Yezzey в кластер Greenplum®
  • Получить информацию, где размещена таблица
  • Определить, как размещена таблица в холодном хранилище
  • Выгрузить таблицу из хранилища кластера в холодное хранилище
  • Загрузить таблицу из холодного хранилища в хранилище кластера
  • Пример использования
  1. Пошаговые инструкции
  2. Расширения Greenplum®
  3. Yezzey

Использование Yezzey в Managed Service for Greenplum®

Статья создана
Yandex Cloud
Обновлена 7 мая 2025 г.
  • Установить расширение Yezzey в кластер Greenplum®
  • Получить информацию, где размещена таблица
  • Определить, как размещена таблица в холодном хранилище
  • Выгрузить таблицу из хранилища кластера в холодное хранилище
  • Загрузить таблицу из холодного хранилища в хранилище кластера
  • Пример использования

Расширение Yezzey позволяет использовать гибридное хранилище в кластере Managed Service for Greenplum® для хранения таблиц, оптимизированных для добавления данных (append-optimized tables).

Вы можете выгрузить редко используемые таблицы такого типа в холодное хранилище и продолжить работать с ними, как с обычными таблицами. При необходимости таблицы можно загрузить обратно в хранилище кластера.

Подробнее о типах хранилищ и расширении Yezzey см. в разделе Гибридное хранилище.

Установить расширение Yezzey в кластер Greenplum®Установить расширение Yezzey в кластер Greenplum®

  1. Включите опцию для использования гибридного хранилища, если этого не было сделано при создании кластера.

    Важно

    Эту опцию нельзя отключить после сохранения настроек кластера.

  2. Подключитесь к базе данных от имени владельца или пользователя, имеющего в базе данных разрешение CREATE, и выполните запрос:

    CREATE EXTENSION yezzey;
    
  3. Проверьте, что расширение было установлено:

    SELECT extname FROM pg_extension;
    

Получить информацию, где размещена таблицаПолучить информацию, где размещена таблица

Чтобы узнать, где размещена таблица и ее сегментные файлы — в хранилище кластера или в холодном хранилище:

  1. Подключитесь к базе данных от имени владельца или пользователя, имеющего в базе данных разрешение SELECT.

  2. Выполните один из запросов, чтобы узнать, где размещена таблица:

    • С указанием имени таблицы:

      SELECT * FROM yezzey_offload_relation_status('<имя_таблицы>');
      
    • С указанием схемы, где расположена таблица, и имени таблицы:

      SELECT * FROM yezzey_offload_relation_status('<имя_схемы>', '<имя_таблицы>');
      

    Будет выведена информация о каждом сегменте кластера Greenplum®, в котором размещены данные таблицы. Изучите столбец external_bytes:

    • Если в столбце все значения нулевые, то таблица размещена в хранилище кластера.
    • Если в столбце есть ненулевые значения, то таблица размещена в холодном хранилище.
  3. Выполните один из запросов, чтобы узнать, где размещены сегментные файлы таблицы:

    • С указанием имени таблицы:

      SELECT * FROM yezzey_offload_relation_status_per_filesegment('<имя_таблицы>');
      
    • С указанием схемы, где расположена таблица, и имени таблицы:

      SELECT * FROM yezzey_offload_relation_status_per_filesegment('<имя_схемы>', '<имя_таблицы>');
      

    Будет выведена информация о каждом сегментном файле таблицы. Изучите столбец external_bytes:

    • Если в столбце все значения нулевые, то файлы размещены в хранилище кластера.
    • Если в столбце есть ненулевые значения, то файлы размещены в холодном хранилище.

Определить, как размещена таблица в холодном хранилищеОпределить, как размещена таблица в холодном хранилище

Если таблица находится в холодном хранилище, то ее сегментные файлы хранятся в служебном бакете.

Чтобы получить информацию о том, как сегментные файлы таблицы размещены в бакете:

  1. Подключитесь к базе данных от имени владельца или пользователя, имеющего в базе данных разрешение SELECT.

  2. Выполните один из запросов:

    • С указанием имени таблицы:

      SELECT * FROM yezzey_relation_describe_external_storage_structure('<имя_таблицы>');
      
    • С указанием схемы, где расположена таблица, и имени таблицы:

      SELECT * FROM yezzey_relation_describe_external_storage_structure('<имя_схемы>', '<имя_таблицы>');
      

    Будет выведена следующая информация о каждом сегментном файле таблицы:

    • offload_reloid — идентификатор объекта (object identifier, OID) для таблицы.

    • segindex — номер сегмента.

    • segfileindex — номер сегментного файла.

    • external_storage_filepath — путь к сегментному файлу в бакете Object Storage.

      Путь к сегментному файлу формируется автоматически. Он зависит от структуры таблицы и количества сегментов в кластере Greenplum®.

    • local_bytes и local_commited_bytes — сколько байтов сегментного файла находится в хранилище кластера. Значения должны быть нулевыми.

    • external_bytes — размер сегментного файла.

Выгрузить таблицу из хранилища кластера в холодное хранилищеВыгрузить таблицу из хранилища кластера в холодное хранилище

Если таблица находится в хранилище кластера, то ее можно выгрузить в холодное хранилище. Чтобы понять, где она находится, получите информацию о размещении таблицы.

Примечание

Во время выгрузки изменение таблицы будет недоступно.

После завершения выгрузки и снятия эксклюзивной блокировки (exclusive lock) таблицу снова можно будет изменять.

Чтобы выгрузить таблицу:

  1. Подключитесь к базе данных от имени владельца или пользователя, имеющего в базе данных разрешение SELECT.

  2. Вызовите одну из функций:

    • С указанием имени таблицы:

      SELECT yezzey_define_offload_policy('<имя_таблицы>');
      
    • С указанием схемы, где расположена таблица, и имени таблицы:

      SELECT yezzey_define_offload_policy('<имя_схемы>', '<имя_таблицы>');
      

Длительность выгрузки зависит от размера таблицы и количества сегментных файлов. Во время выгрузки будут выводиться сообщения, по которым можно отслеживать состояние процесса:

  • Сообщения следующего вида показывают размер выгруженных ранее сегментных файлов:

    NOTICE:  yezzey: relation virtual size calculated: 0  (segX sliceY ... pid=...)
    

    Значение 0 означает, что ранее выгруженных сегментных файлов нет (они выгружаются впервые).

  • Сообщения следующего вида свидетельствуют об успешной выгрузке сегментных файлов:

    INFO:  yezzey: relation segment reached external storage (blkno=...), up to logical eof ...  (segX sliceY ... pid=...)
    

Загрузить таблицу из холодного хранилища в хранилище кластераЗагрузить таблицу из холодного хранилища в хранилище кластера

Если таблица находится в холодном хранилище, то ее можно загрузить в хранилище кластера. Чтобы понять, где она находится, получите информацию о размещении таблицы.

Примечание

Во время загрузки изменение таблицы будет недоступно.

После завершения загрузки и снятия эксклюзивной блокировки (exclusive lock) таблицу снова можно будет изменять.

Чтобы загрузить таблицу:

  1. Подключитесь к базе данных от имени владельца или пользователя, имеющего в базе данных разрешение SELECT.

  2. Вызовите одну из функций:

    • С указанием имени таблицы:

      SELECT yezzey_load_relation('<имя_таблицы>');
      
    • С указанием схемы, где расположена таблица, и имени таблицы:

      SELECT yezzey_load_relation('<имя_схемы>', '<имя_таблицы>');
      

Длительность загрузки зависит от размера таблицы и количества сегментных файлов. После завершения загрузки будет выведено сообщение следующего вида:

INFO:  loaded relation ... to local storage

Пример использованияПример использования

Пример использования расширения для работы с гибридным хранилищем см. в разделе Выгрузка данных Greenplum® в холодное хранилище Yandex Object Storage.

Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками Broadcom Inc в США и/или других странах.

Была ли статья полезна?

Предыдущая
uuid-cb
Следующая
Оценка количества уникальных элементов с помощью алгоритма HyperLogLog
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»