5.2. Таблицы метаданных #
- 5.2.1. Таблица метаданных
pga_snapshot- 5.2.2. Таблица метаданных
pga_snapshot_changes- 5.2.3. Таблица метаданных
pga_schema- 5.2.4. Таблица метаданных
pga_table- 5.2.5. Таблица метаданных
pga_storage- 5.2.6. Таблица метаданных
pga_uri- 5.2.7. Таблица метаданных
pga_folder- 5.2.8. Таблица метаданных
pga_column- 5.2.9. Таблица метаданных
pga_data_file- 5.2.10. Таблица метаданных
pga_files_scheduled_for_deletion- 5.2.11. Таблица метаданных
pga_table_stats- 5.2.12. Таблица метаданных
pga_table_column_stats- 5.2.13. Таблица метаданных
pga_file_column_statistics- 5.2.14. Таблица метаданных
pga_transaction_log - 5.2.2. Таблица метаданных
Метаданные из таблиц метаданных pgpro_metastore необходимы для обеспечения следующей функциональности:
Создание аналитических представлений.
Запросы к аналитическим таблицам с секционированием и индексами для Parquet-файлов.
Поддержка базовых ETL-операций:
выполнение ETL-операций;
планирование ETL-операций на определённую дату и время, а также настройка последовательного выполнения (одной операции за другой);
ограничение ресурсов, доступных для выполнения ETL-операций, чтобы избежать увеличения OLTP-нагрузки.
Работа с OLAP-данными:
создание Parquet-файлов с OLAP-данными из таблиц Postgres Pro и импорт этих данных в аналитические таблицы;
экспорт OLAP-данных из аналитических таблиц в файлы в форматах Parquet, CSV и JSON;
создание отчётов с отфильтрованными OLAP-данными с помощью SQL-запросов.
Изменение объектов pgpro_metastore в рамках транзакций, а также согласованные изменения аналитических таблиц при чтении и записи.
Проверка целостности данных и восстановление Parquet-файлов из резервных копий или с помощью зеркал S3-хранилищ.
Мониторинг pgpro_metastore и уведомление администраторов о событиях, срочно требующих внимания.
Распределение Parquet-файлов по отдельным хранилищам во избежание конкуренции с OLTP-нагрузкой за пропускную способность ввода-вывода.
Схема таблиц метаданных представлена на диаграмме ниже.
Рисунок 5.1. Схема таблиц метаданных
За подробной информацией о каждой таблице метаданных обратитесь к соответствующим подразделам этого раздела.
5.2.1. Таблица метаданных pga_snapshot #
В этой таблице метаданных содержится информация о снимках.
Имя столбца | Тип столбца | Ограничение | Описание |
|---|---|---|---|
|
| Первичный ключ | Идентификатор снимка. Значение увеличивается на единицу для каждого нового идентификатора. Это первичный ключ, на который ссылается большинство таблиц метаданных. |
|
|
| Дата и время создания снимка. |
|
|
| Версия каталога pgpro_metastore. Значение увеличивается на единицу с каждым изменением объекта pgpro_metastore, например, при создании аналитической таблицы. |
|
|
| Идентификатор, назначенный следующему объекту pgpro_metastore, например, аналитической таблице. При создании объекта значение увеличивается. |
|
|
| Идентификатор, назначаемый следующему созданному Parquet-файлу. При создании файла значение увеличивается. |
|
|
| Определяет видимость объектов pgpro_metastore, которые ссылаются на снимок. Возможные значения:
Когда в результате ETL-операции, например, После этого значение Столбец |
5.2.2. Таблица метаданных pga_snapshot_changes #
В этой таблице метаданных содержится информация об изменениях снимков, которую можно использовать для разрешения конфликтов между разными снимками.
Имя столбца | Тип столбца | Ограничение | Описание |
|---|---|---|---|
|
| Первичный ключ, внешний ключ | Идентификатор снимка из таблицы метаданных |
|
| - | Список изменений снимка, разделённых запятыми, в следующих форматах:
|
5.2.3. Таблица метаданных pga_schema #
В этой таблице метаданных содержится информация об аналитических схемах.
Имя столбца | Тип столбца | Ограничение | Описание |
|---|---|---|---|
|
| Первичный ключ | Идентификатор аналитической схемы, назначаемый путём увеличения значения |
|
|
| Постоянный идентификатор аналитической схемы, сохраняемый для обеспечения совместимости со схемами Postgres Pro. |
|
| Внешний ключ, | Снимок из таблицы метаданных |
|
| Внешний ключ | Снимок из таблицы метаданных Если значение |
|
|
| Уникальное имя аналитической схемы, например, |
5.2.4. Таблица метаданных pga_table #
В этой таблице метаданных содержится информация об аналитических таблицах.
Имя столбца | Тип столбца | Ограничение | Описание |
|---|---|---|---|
|
| Первичный ключ | Идентификатор аналитической таблицы, назначаемый путём увеличения значения |
|
|
| Постоянный идентификатор аналитической таблицы, сохраняемый для обеспечения совместимости с таблицами Postgres Pro. |
|
| Внешний ключ, | Снимок из таблицы метаданных |
|
| Внешний ключ | Снимок из таблицы метаданных Если значение |
|
|
| Идентификатор аналитической схемы из таблицы метаданных |
|
|
| Имя аналитической таблицы, например, Значения Если бы значения |
|
|
| Путь к общему каталогу относительно значения Абсолютный путь генерируется путём соединения значения |
|
| Внешний ключ, | Идентификатор хранилища из таблицы метаданных |
5.2.5. Таблица метаданных pga_storage #
В этой таблице метаданных содержится информация о хранилищах.
Имя столбца | Тип столбца | Ограничение | Описание |
|---|---|---|---|
|
| Первичный ключ | Идентификатор хранилища, назначаемый путём увеличения значения |
|
| Внешний ключ, | Снимок из таблицы метаданных |
|
| Внешний ключ | Снимок из таблицы метаданных Если значение |
|
|
| Имя хранилища, например, Значения Если бы значения |
|
|
| URI корневого каталога хранилища. У локальных хранилищ URI простой, например, S3-хранилища отличаются более сложной структурой URI и логикой разбора, например, |
|
|
| URI каталога хранилища для временных файлов. У локальных хранилищ URI простой, например, S3-хранилища отличаются более сложной структурой URI и логикой разбора, например, |
|
|
| Тип хранилища. В настоящее время поддерживаются локальные, сетевые и S3-хранилища. |
|
|
| Минимально необходимое свободное место в хранилище, в байтах. Проверяется при выполнении ETL-операции |
|
| Внешний ключ, | Идентификатор URI из таблицы метаданных |
|
| Внешний ключ, | Идентификатор URI из таблицы метаданных |
5.2.6. Таблица метаданных pga_uri #
В этой таблице метаданных содержится системная информация о pgpro_metastore, и она не предназначена для изменения пользователями.
Столбец uri содержит исходные сериализованные URI, связанные со значениями uri или tmp_uri таблицы метаданных pga_storage.
Столбец path содержит пути к корневым каталогам хранилищ. Для локальных хранилищ значимы только значения этого столбца, которые, как правило, совпадают со значениями uri, за исключением префиксов, указывающих на тип хранилища:
file://для локальных хранилищ;s3://для S3-хранилищ.
Остальные столбцы содержат произвольные URI для S3-хранилищ.
За подробной информацией обратитесь к RFS 3968 и к официальной документации AWS (ресурс недоступен на территории Российской Федерации).
5.2.7. Таблица метаданных pga_folder #
В этой таблице метаданных содержится информация об общих каталогах, используемых для хранения Parquet-файлов. Например, эти каталоги можно использовать как источник Parquet-файлов для ETL-операции add_files.
Имя столбца | Тип столбца | Ограничение | Описание |
|---|---|---|---|
|
| Первичный ключ | Идентификатор общего каталога, назначаемый путём увеличения значения |
|
| Внешний ключ, | Снимок из таблицы метаданных |
|
| Внешний ключ | Снимок из таблицы метаданных Если значение |
|
|
| Путь к общему каталогу относительно корневого каталога хранилища. Полный путь получается путём соединения значения |
|
|
| Имя общего каталога, например, Значения Если бы значения |
|
| Внешний ключ, | Идентификатор хранилища из таблицы метаданных |
5.2.8. Таблица метаданных pga_column #
В этой таблице метаданных содержится информация о столбцах аналитических таблиц.
Имя столбца | Тип столбца | Ограничение | Описание |
|---|---|---|---|
|
| Первичный ключ | Идентификатор столбца. Если исходный Parquet-файл содержит идентификатор столбца Значения |
|
| Внешний ключ, | Снимок из таблицы метаданных |
|
| Внешний ключ | Снимок из таблицы метаданных Если значение |
|
| Внешний ключ, | Идентификатор аналитической таблицы из таблицы метаданных |
|
|
| Порядковый номер столбца. Значения |
|
|
| Имя столбца, например, Значения Если бы значения |
|
|
| Тип столбца, соответствующий одному из типов данных, поддерживаемых pgpro_metastore. |
|
| - | Исходное значение столбца, которое присваивается при создании столбца, например, после выполнения команды Может принимать значение |
|
| - | Значение по умолчанию, используемое в операциях Может принимать значение |
|
| - | Определяет, может ли столбец содержать значения Возможные значения:
|
|
| - | Определяет, может ли столбец содержать повторяющиеся значения для разных строк таблицы. Возможные значения:
|
5.2.9. Таблица метаданных pga_data_file #
В этой таблице метаданных содержится информация о Parquet-файлах.
Имя столбца | Тип столбца | Ограничение | Описание |
|---|---|---|---|
|
| Первичный ключ | Идентификатор Parquet-файла, назначаемый путём увеличения значения |
|
| Внешний ключ, | Снимок из таблицы метаданных |
|
| Внешний ключ | Снимок из таблицы метаданных Если значение |
|
| Внешний ключ, | Идентификатор аналитической таблицы из таблицы метаданных |
|
|
| Вертикальная позиция в Parquet-файле. Значения |
|
|
| Путь к Parquet-файлу, например, |
|
|
| Определяет, указывается ли путь к Parquet-файлу относительно пути к аналитической таблице или является абсолютным. Возможные значения:
По умолчанию: false. |
|
|
| Формат файла. На данный момент поддерживается только формат Parquet. |
|
|
| Количество строк в Parquet-файле. |
|
|
| Размер Parquet-файла, в байтах. |
|
|
| Значение |
|
|
| Текущее значение контрольной суммы Parquet-файла. Используется для проверок целостности данных. |
5.2.10. Таблица метаданных pga_files_scheduled_for_deletion #
В этой таблице метаданных содержится информация о Parquet-файлах, которые не связаны со снимками и которые планируется удалить. Parquet-файлы отвязываются от снимков после выполнения ETL-операции expire_snapshot, в результате которой снимки помечаются как устаревшие.
Имя столбца | Тип столбца | Ограничение | Описание |
|---|---|---|---|
|
| Первичный ключ, внешний ключ | Идентификатор Parquet-файла из таблицы метаданных |
|
|
| Путь к Parquet-файлу, например, |
|
|
| Указывает, является ли путь к Parquet-файлу относительным по отношению к пути к аналитической таблице или абсолютным. Возможные значения:
По умолчанию: false. |
|
|
| Дата и время запланированного удаления Parquet-файла. |
5.2.11. Таблица метаданных pga_table_stats #
В этой таблице метаданных содержится статистика аналитических таблиц.
Имя столбца | Тип столбца | Ограничение | Описание |
|---|---|---|---|
|
| Первичный ключ, внешний ключ | Идентификатор аналитической таблицы из таблицы метаданных |
|
|
| Количество строк в аналитической таблице. |
|
|
| Значение |
|
|
| Общий размер всех Parquet-файлов, связанных с аналитической таблицей, в байтах. |
5.2.12. Таблица метаданных pga_table_column_stats #
В этой таблице метаданных содержится статистика по столбцам аналитических таблиц.
Имя столбца | Тип столбца | Ограничение | Описание |
|---|---|---|---|
|
| Первичный ключ, внешний ключ | Идентификатор столбца из таблицы метаданных |
|
|
| Определяет, может ли столбец содержать значения Возможные значения:
|
|
| - | Определяет, может ли столбец содержать значения Возможные значения:
Эта информация значима только для типов данных |
|
| - | Минимальное значение в столбце. Для единообразия отображается как строка, которую при использовании необходимо преобразовать в тип данных, используемых в столбце. |
|
| - | Максимальное значение в столбце. Для единообразия отображается как строка, которую при использовании необходимо преобразовать в тип данных, используемых в столбце. |
5.2.13. Таблица метаданных pga_file_column_statistics #
В этой таблице метаданных содержится статистика столбцов аналитических таблиц в разрезе Parquet-файлов.
Имя столбца | Тип столбца | Ограничение | Описание |
|---|---|---|---|
|
| Первичный ключ, внешний ключ | Идентификатор Parquet-файла из таблицы метаданных |
|
| Первичный ключ, внешний ключ | Идентификатор столбца из таблицы метаданных |
|
|
| Размер столбца, в байтах. |
|
|
| Количество элементов столбца, содержащихся в Parquet-файле. Не равно количеству записей в Parquet-файле, так как в нём могут содержаться вложенные записи, такие как структуры и списки. |
|
|
| Количество значений |
|
| - | Минимальное значение для столбца в пределах Parquet-файла. Значение можно использовать определения верхней границы минимального значения для столбца. |
|
| - | Максимальное значение для столбца в пределах Parquet-файла. Значение можно использовать для определения нижней границы максимального значения для столбца. |
5.2.14. Таблица метаданных pga_transaction_log #
В этой таблице метаданных содержится информация по протоколированию задач pgpro_metastore, аналогичные стандартным транзакциям СУБД.
Имя столбца | Тип столбца | Ограничение | Описание |
|---|---|---|---|
|
| Первичный ключ | Последовательный номер записи транзакции в журнале (LSN). |
|
|
| Идентификатор задачи. |
|
| - | Идентификатор ETL-операции. Одна задача может состоять из нескольких ETL-операций. |
|
|
| Тип ETL-операции, например |
|
| - | Данные, относящиеся к задаче: исходные и полученные в ходе её выполнения. |