4.2.1.2.1.3.2.1. Запись в журнал транзакций
Запись осуществляется по мере передачи потока данных от источника, осуществляющего сохранение данных (например, Модуль истории Astra.Server).
При записи в журнал сохранение на диск выполняется двумя способами:
Неявное автоматическое сохранение по мере накопления в кэше данных в объёме, достаточном для выполнения эффективной записи (~512 KiB)
Явная операция подтверждения (commit), инициированная со стороны пишущего клиента. В этом случае сохраняются данные до позиции в журнале, соответствующей последней сохранённой клиентом записи. При этом если данные сохраняются параллельно со стороны нескольких клиентов, данные до этой позиции уже могут оказаться сохранёнными на диск (косвенное подтверждение)
Со стороны клиента в журнал сохраняются записи следующего вида:
RegisterItem: запись о регистрации элемента (если он ещё не был зарегистрирован в базе данных);
InsertRecord: вставка записи временного ряда по элементу;
InsertRlock: вставка записи о блокировке удаления региона данных;
Commit: запись о подтверждении клиентом сохранения данных.
RegisterItem - условное обозначение группы типов записей вставки в реестр объектов, среди которых, кроме записи об элементе, запись о файловой очереди, записи об источнике и пространстве источника.
Если в журнал сохраняется запись InsertRecord по элементу, который ещё не был зарегистрирован, то перед этим выполняется:
Регистрация элемента в реестре объектов с выделением ему внутреннего ключа
Сохранение записи RegisterItem о регистрации элемента в журнал
Добавляемая запись временного ряда будет содержать уже зарегистрированный ключ элемента. За счёт такого порядка обеспечивается гарантия целостности ссылки записи о вставке во временной ряд на элемент по его ключу.
Данные, сохранённые в журнал транзакций, становятся доступными после выполнения следующих этапов.
Параметр Tx/Record/Tail в интерфейсе мониторинга содержит идентификатор последней добавленной записи журнала транзакций.
|
Параметр Tx/Record/Committed - идентификатор последней подтверждённой записи журнала (сохранённой на диск).
|