Дельта

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

Нумерация дельт начинается с 0. Дельты, упорядоченные в порядке возрастания их номеров, формируют историю состояний данных логической БД.

На рисунке ниже показана последовательность операций записи, выполненных в дельтах 0 и 1. В дельте 0 выполнены операции записи с номерами 0-2, в дельте 1 — операции записи с номерами 3-4.

Операции записи двух дельт

Дельту можно открыть, закрыть и отменить (откатить). Дельта, которая была открыта и еще не была закрыта, содержит горячие записи и называется открытой или горячей. Для каждой логической базы данных одновременно может быть открыто не более одной дельты. Дельта, которая была закрыта (зафиксирована), содержит актуальные и архивные записи и называется закрытой.

На рисунке ниже показана последовательность дельт, где дельта с номером 3 является открытой, а все предыдущие — закрытыми.

Открытая и закрытые дельты

Для внесения изменений в данные логической БД нужно открыть дельту, внести изменения в данные требуемых логических таблиц, после чего зафиксировать изменения данных (закрыть дельту). В открытой дельте можно выполнять любое число операций записи. Вносить изменения в данные можно любым способом: с помощью загрузки, обновления данных или сочетания этих функций.

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

На рисунке ниже показан пример изменения данных магазина, сменившего адрес. Первоначальные данные загружены в рамках дельты 0, а новые данные — в рамках дельты 1.

Изменение данных магазина, сменившего адрес

Если нужно вернуть состояние данных, которое предшествовало изменениям открытой дельты, следует откатить дельту. Откатить можно только открытую дельту: после закрытия дельты возврат к предыдущему состоянию данных невозможен.

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