stringtranslate.com

Время транзакции

В темпоральных базах данных время транзакции — это время, когда некоторые данные были загружены в базу данных . Время, когда транзакция действительна, можно назвать периодом времени транзакции . Это техническая временная шкала, контролируемая интеграционным слоем (например, хранилищем данных ). [1] Более формально, это момент времени, в течение которого факт, хранящийся в базе данных, считается истинным.

Период — это интервал, основанный на времени загрузки (называемый в хранилище данных «дата-время загрузки» [1] [2] ), также называемый временной меткой записи . [1] Другие названия интервала — временная шкала утверждения [3] ),  временная шкала состояния [3] ) или техническая временная шкала . [3] SQL:2011 поддерживает время транзакции через так называемые системные таблицы с версиями . [4] [5] [6] [7]

По многим причинам время транзакции (когда данные поступают из исходной системы ) почти всегда отличается от действительного времени (когда событие произошло в реальном мире). Для того чтобы хранилище данных однозначно сообщало о том, что на самом деле произошло в прошлом, оно должно иметь возможность объединять эти две временные шкалы. [1] В битемпоральных моделях данных действительное время и время транзакции могут быть представлены двумерно в декартовой системе координат . Когда данные доставляются из интеграционного слоя и должны быть представлены в слое представления (часто в размерной модели или широкой таблице ), часто желательно иметь данные только на одной временной шкале.

В таблице базы данных время транзакции часто представляется как интервал, позволяющий системе «удалять» записи с помощью двух столбцов таблицы start_ttи end_tt. Интервал времени закрывается [ на нижней границе и открывается ) на верхней границе . [8] Когда конечное время транзакции неизвестно, его можно рассматривать как until_changed. Академические исследователи и некоторые системы управления реляционными базами данных (СУБД) представляют until_changedс помощью наибольшей поддерживаемой временной метки или ключевого слова forever. Это соглашение является техническим обходным путем и не является технически точным.

История

Термин «время транзакции» был введен Ричардом Т. Снодграссом и его аспирантом Илсу Аном (1986). [9]

По состоянию на декабрь 2011 года стандарт ISO/IEC 9075 «Язык баз данных SQL:2011 Часть 2: SQL/Foundation» включил в определения таблиц положения, определяющие «системно-версионные таблицы» (то есть таблицы времени транзакции).

Смотрите также

Ссылки

  1. ^ abcd «Небольшое введение в проблемы битемпоральных данных — Рулант Вос».
  2. ^ "Транзакционные ссылки - AutomateDV". automate-dv.readthedocs.io . Получено 2024-02-10 .
  3. ^ abc "Не столь мягкое продолжение проблем битемпоральных данных - Рулант Вос".
  4. ^ rwestMSFT (2023-10-16). "Временные таблицы - SQL Server". learn.microsoft.com . Получено 2024-06-18 .
  5. ^ "Системно-версионные таблицы". MariaDB KnowledgeBase . Получено 2024-06-18 .
  6. ^ "SAP Help Portal". help.sap.com . Получено 2024-06-18 .
  7. ^ "Системно-периодические темпоральные таблицы". www.ibm.com . Получено 2024-06-18 .
  8. ^ Кедар, С. В. (2013). Системы управления базами данных. Пуна, Индия: Технические публикации.
  9. ^ Снодграсс; Илсу Ан (1986). «Временные базы данных» (PDF) . Компьютер . 19 (9): 35. doi :10.1109/MC.1986.1663327.