Цю статтю написано занадто професійним стилем зі специфічною термінологією, що може бути незрозумілим для більшості читачів. Ви можете допомогти вдосконалити цю статтю, зробивши її зрозумілою для неспеціалістів без втрат змісту. Можливо, сторінка обговорення містить зауваження щодо потрібних змін.(квітень 2011)
Бітемпоральне моделювання — специфічний випадок техніки інформаційного моделюваннятемпоральних баз даних, спроєктований для обробки історичних даних уздовж двох різних ліній часу[1]. Це уможливлює перемотування інформації до того, «якою вона була насправді» у поєднанні з «як вона була записана» в певній точці часу. Задля можливості цього, інформація не може відкидатися, навіть, якщо вона помилкова. У, наприклад, фінансовій звітності часто бажано мати змогу перестворити старий звіт і так, як він насправді виглядав на час створення, і так, як він має виглядати з урахуванням виправлень даних, внесених після його створення.
Реалізації бітемпорального моделювання можуть бути здійснені за допомогою реляційних і графових баз даних. Як таке, бітемпоральне моделювання вважається відмітним від розмірнісного[en] та взаємодоповнювальним до нормалізації баз даних. Стандарт SQL:2011 забезпечує мовні конструкції для роботи з бітемпоральними даними. Проте, більшість поточних рішень усе ще специфічні для постачальника.
Бітемпоральне моделювання використовує бітемпоральні структури як основні компоненти. Це має наслідком наявність у базі даних узгодженого типу темпоральності для всіх даних.
Зосереджуючись на повноті та точності даних, бітемпоральне моделювання полегшує створення повних аудиторських слідів даних. Всі дані стають незмінними. Особливо це дозволяє запити, які забезпечують:
Якомога точніші дані, якими вони відомі зараз
Дані, якими вони були відомі в будь-якій точці часу
MarkLogic запровадив підтримку бітемпоральних даних у версії 8.0. Мітки дійсного та системного часу зберігаються в документах JSON або XML[2].
XTDB[3] (колишня Crux) — відкрита база даних, яка індексує документи за допомогою моделі даних «сутність — атрибут — значення» і забезпечує бітемпоральні запити на момент часу мовами SQL і Datalog.
TerminusDB[en] — відкрита, документо-орієнтована, графова база даних, яка використовує дельта-кодування та забезпечує бітемпоральну функціональність[4].