Бітемпоральне моделювання

Бітемпоральне моделювання — специфічний випадок техніки інформаційного моделювання темпоральних баз даних, спроєктований для обробки історичних даних уздовж двох різних ліній часу[1]. Це уможливлює перемотування інформації до того, «якою вона була насправді» у поєднанні з «як вона була записана» в певній точці часу. Задля можливості цього, інформація не може відкидатися, навіть, якщо вона помилкова. У, наприклад, фінансовій звітності часто бажано мати змогу перестворити старий звіт і так, як він насправді виглядав на час створення, і так, як він має виглядати з урахуванням виправлень даних, внесених після його створення.

Реалізації бітемпорального моделювання можуть бути здійснені за допомогою реляційних і графових баз даних. Як таке, бітемпоральне моделювання вважається відмітним від розмірнісного[en] та взаємодоповнювальним до нормалізації баз даних. Стандарт SQL:2011 забезпечує мовні конструкції для роботи з бітемпоральними даними. Проте, більшість поточних рішень усе ще специфічні для постачальника.

Філософія ред.

Бітемпоральне моделювання використовує бітемпоральні структури як основні компоненти. Це має наслідком наявність у базі даних узгодженого типу темпоральності для всіх даних.

Переваги бітемпорального моделювання ред.

Зосереджуючись на повноті та точності даних, бітемпоральне моделювання полегшує створення повних аудиторських слідів даних. Всі дані стають незмінними. Особливо це дозволяє запити, які забезпечують:

  1. Якомога точніші дані, якими вони відомі зараз
  2. Дані, якими вони були відомі в будь-якій точці часу
  3. Коли та чому змінювалися найточніші дані

Реалізації у значущих продуктах ред.

  • MarkLogic запровадив підтримку бітемпоральних даних у версії 8.0. Мітки дійсного та системного часу зберігаються в документах JSON або XML[2].
  • XTDB[3] (колишня Crux) — відкрита база даних, яка індексує документи за допомогою моделі даних «сутність — атрибут — значення» і забезпечує бітемпоральні запити на момент часу мовами SQL і Datalog.
  • TerminusDB[en] — відкрита, документо-орієнтована, графова база даних, яка використовує дельта-кодування та забезпечує бітемпоральну функціональність[4].

Див. також ред.

Примітки ред.

  1. Fowler, Martin (16 лютого 2005). Temporal Patterns. martinfowler.com (англійською) . Архів оригіналу за 4 квітня 2017. Процитовано 4 квітня 2017.
  2. Bridgwater, Adrian (24 листопада 2014). Data Is Good, «Bidirectionalized Bitemporal» Data Is Better. Forbes (англійською) . Архів оригіналу за 30 грудня 2021. Процитовано 30 грудня 2021.
  3. XTDB. 9 вересня 2021. Архів оригіналу за 20 травня 2022. Процитовано 2 червня 2022.
  4. terminusdb/terminusdb. GitHub (англійською) . Архів оригіналу за 12 вересня 2021. Процитовано 12 вересня 2021.