Приложение H. Примеры использования снимков

Пример H.1.

Выполнение ETL-операции add_storage создаёт новое хранилище в таблице метаданных pga_storage. Для этого изменения создаётся новый снимок в таблице метаданных pga_snapshot. Созданные записи связываются с помощью значения begin_snapshot таблицы метаданных pga_snapshot.

Текущие значения schema_version и next_catalog_id таблицы метаданных pga_snapshot увеличиваются на один, так как были обновлены метаданные и созданы новые записи в таблицах метаданных.


Пример H.2.

Выполнение ETL-операции remove_storage деактивирует хранилище из таблицы метаданных pga_storage, но не удаляет его физически. Для этого изменения создаётся новый снимок в таблице метаданных pga_snapshot. Созданные записи связываются с помощью значения end_snapshot таблицы метаданных pga_snapshot.

Текущее значение schema_version таблицы метаданных pga_snapshot увеличивается на один, а значение next_catalog_id остаётся неизменным, так как были обновлены метаданные, но не были созданы новые записи в таблицах метаданных.


Пример H.3.

Выполнение ETL-операции add_table создаёт новую аналитическую таблицу в таблице метаданных pga_table и N новых столбцов в таблице метаданных pga_column. Для этих изменений создаётся N+1 новых снимков в таблице метаданных pga_snapshot. Созданные записи связываются с помощью значения begin_snapshot таблицы метаданных pga_snapshot.

Текущее значение schema_version таблицы метаданных pga_snapshot увеличивается на один, а значение next_catalog_id увеличивается на N+1, так как были обновлены метаданные и созданы новые записи в таблицах метаданных. Значение schema_version увеличивается только на один, потому что все изменения были выполнены в рамках одной ETL-операции.

Значение next_catalog_id+1 используется в качестве значения table_id для новой аналитической таблицы в таблице метаданных pga_table, в то время как значения next_catalog_id+1+N используются в качестве значений column_id для новых столбцов в таблице метаданных pga_column.


Пример H.4.

Выполнение ETL-операции add_files создаёт один или несколько Parquet-файлов в таблице метаданных pga_data_file. Для этого изменения создаётся N новых снимков в таблице метаданных pga_snapshot. Созданные записи связываются с помощью значения begin_snapshot таблицы метаданных pga_snapshot.

Текущие значения schema_version и next_catalog_id таблицы метаданных pga_snapshot остаются неизменными, так как не были обновлены метаданные и не были созданы новые записи в таблицах метаданных.

Значение next_file_id таблицы метаданных pga_snapshot увеличивается на один, а значения next_file_id+N используются в качестве значений data_file_id для новых Parquet-файлов в таблице метаданных pga_data_file.