Логическая таблица
Логическая таблица — структурированная совокупность записей о состояниях объектов одного типа, например счетов или контрагентов. Логическая таблица не хранит сами данные, а предоставляет доступ к данным соответствующих физических таблиц хранилища.
В отличие от реляционной таблицы, объекты которой обычно хранятся в актуальном (текущем) состоянии, логическая таблица предоставляет информацию обо всех исторических состояниях объектов: новых, актуальных и архивных. Например, данные одного клиента могут иметь нескольких версий в логической таблице clients
:
- архивная запись с номером телефона
phone_1
и адресомaddress_1
, - актуальная запись с номером телефона
phone_2
и адресомaddress_1
(клиент сменил номер телефона), - горячая (новая) запись с номером телефона
phone_2
и адресомaddress_2
(клиент сменил адрес; запись загружена, но еще не зафиксирована).
На рисунке ниже показана схема связей логической таблицы с ее физическими представлениями — физическими таблицами хранилища данных.
Работа с логическими таблицами напоминает работу с реляционными таблицами. Логические таблицы можно создавать и удалять. Данные логической таблицы можно загружать, запрашивать и выгружать.
При обращении к данным логической таблицы можно указать момент времени, по состоянию на который запрашиваются данные. Если момент времени не указан, система возвращает данные, актуальные на момент обработки запроса. Таким образом, можно получать данные из логической таблицы по состоянию на любой момент времени — независимо от того, являются они горячими (новыми), актуальными или архивными.
При создании логической таблицы система автоматически создает и далее поддерживает набор физических таблиц для хранения данных.