Физическая схема данных
Содержание раздела
Физическая схема данных — структура хранения данных логических сущностей в физических таблицах хранилища.
Для каждой логической таблицы и каждого материализованного представления система автоматически создает и поддерживает набор связанных физических таблиц. Набор физических таблиц и их содержимое зависят от типа СУБД и описаны в секции Состав физической схемы.
Физические таблицы создаются во всех или только некоторых СУБД хранилища. Набор СУБД, где создаются физические таблицы и, соответственно, размещаются данные логических сущностей, регулируется ключевым словом DATASOURCE_TYPE
в запросах CREATE TABLE, DROP TABLE, CREATE MATERIALIZED VIEW и DROP MATERIALIZED VIEW.
Состав физической схемы
В таблице ниже описан состав физических таблиц в каждой СУБД хранилища.
Пример использования физических таблиц см. в секции Физическая схема на примере ADB и ADP.
Физическая таблица | ADB | ADG | ADQM | ADP |
---|---|---|---|---|
<table>_staging | Горячие записи (незавершенные операции) | Горячие записи (незавершенные операции) | − | Горячие записи (незавершенные операции) |
tbl_buffer | − | − | Идентификаторы горячих записей | − |
<table>_actual | Горячие записи (завершенные операции), актуальные и архивные записи | Горячие записи (завершенные операции) и актуальные записи | Горячие, актуальные и архивные записи всех узлов кластера | Горячие записи (завершенные операции), актуальные и архивные записи |
<table>_history | − | Архивные записи | − | − |
<table>_actual_shard | − | − | Горячие, актуальные и архивные записи узла кластера | − |
tbl_buffer_shard | − | − | Идентификаторы горячих записей узла кластера | − |
Физическая схема на примере ADB и ADP
В ADB и ADP все горячие данные по каждой операции записи попадают в буферную таблицу <entity_name>_staging
, где entity_name
— это имя логической сущности, которой принадлежат данные. По мере выполнения операции горячие данные перемещаются в таблицу <entity_name>_actual
.
Когда операция завершена, все ее данные хранятся в таблице <entity_name>_actual
; здесь же хранятся актуальные и архивные записи. Буферная таблица <entity_name>_staging
используется для кратковременного хранения данных и является пустой, если все операции записи завершены.