Физическая схема данных

Important

Физическая схема данных представляет собой схему данных, используемую для организации размещения записей в хранилище данных

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

Запись

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

  • Актуальная [на определенный момент] запись – запись, для которой на определенный момент системного времени не существует новой версии. Отражает состояние объекта в определенный момент системного времени;
  • Горячая запись – запись, относящаяся к загружаемой дельте. Отражает новое состояние объекта;
  • Старая запись – запись, для которой существует новая версия. Отражает состояние объекта на дату.

Обогащенный запрос

Обогащенный запрос представляет собой SQL-выражение, адаптированное к целевой СУБД хранилища данных, позволяющее получить актуальные записи на произвольный момент системного времени (в том числе на текущий момент времени).

Системные поля

Системные поля бывают трех типов:

  • sys_from (int) – целочисленное системное поле, хранящее значение номера дельты, в рамках которой запись появилась в БД;
  • sys_op (int) – системное поле записи, отражающее операцию, которая была выполнена над объектом: 0 – INSERT (создание или модификация объекта); 1 – DELETE (удаление объекта);
  • sys_to (int) – целочисленное системное поле, хранящее для старой записи максимальное значение номера дельты, в рамках которого запись оставалась актуальной. Для актуальных записей значение sys_to должно быть пусто (бесконечность).

Физическая таблица

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

  • Таблица staging – физическая таблица горячих записей;
  • Таблица данных – физическая таблица актуальных записей. В момент загрузки дельты может дополнительно содержать старые записи и горячие записи. Включает в состав PK системное поле SysFrom;
  • Таблица истории – физическая таблица старых записей. Включает в состав PK системное поле SysFrom. Включает поля: SysTo – последний номер дельты, в рамках которой запись была актуальна, SysOp – признак удаленного объекта.

Хранилище данных

Хранилище данных представляет собой совокупность кластеров СУБД, используемых для хранения информации об объектах:

  • Кластер ADB;
  • Кластер ADQM;
  • Кластер ADG.