Modelowanie dwuczasowe - Bitemporal Modeling

Modelowanie dwuczasowe jest szczególnym przypadkiem techniki modelowania informacji w bazie danych czasowych , zaprojektowanej do obsługi danych historycznych na dwóch różnych liniach czasowych . Umożliwia to przewinięcie informacji do stanu „tak, jak było w rzeczywistości” w połączeniu z „takim, jak zostało zarejestrowane” w pewnym momencie. Aby móc to zrobić, informacje nie mogą zostać odrzucone, nawet jeśli są błędne. Na przykład w ramach sprawozdawczości finansowej często pożądana jest możliwość odtworzenia starego raportu, zarówno tak, jak wyglądał on w momencie tworzenia, jak i powinien był wyglądać po wprowadzeniu poprawek do danych po jego utworzeniu.

Implementacje modelowania bitemporalnego mogą być wykonane przy użyciu relacyjnych baz danych i grafowych baz danych . W związku z tym modelowanie dwuczasowe jest uważane za inne niż modelowanie wymiarowe i uzupełniające normalizację bazy danych . Standard SQL:2011 zapewnia konstrukcje językowe do pracy z danymi dwuczasowymi. Jednak wiele z obecnych rozwiązań jest nadal zależnych od dostawcy.

Filozofia

Modelowanie bitemporalne wykorzystuje struktury bitemporalne jako podstawowe komponenty. Powoduje to, że bazy danych mają spójny typ czasowości dla wszystkich danych.

Korzyści z modelowania dwuczasowego

Koncentrując się na kompletności i dokładności danych, modelowanie dwuczasowe ułatwia tworzenie pełnych ścieżek audytu danych. Wszystkie dane stają się niezmienne. W szczególności pozwala to na zapytania, które zapewniają:

  1. Najdokładniejsze dane, jakie znamy teraz
  2. Dane takie, jakie znaliśmy w dowolnym momencie
  3. Kiedy i dlaczego zmieniliśmy najdokładniejsze dane?

Wdrożenia w godnych uwagi produktach

  • MarkLogic wprowadził obsługę danych dwuczasowych w wersji 8.0. Znaczniki czasu dla czasu prawidłowego i systemowego są przechowywane w dokumentach JSON lub XML.
  • XTDB (dawniej Crux) to baza danych typu open source, która indeksuje dokumenty przy użyciu modelu danych EAV i udostępnia zapytania dwuczasowe SQL i Datalog.
  • TerminusDB to oparta na dokumentach baza danych o otwartym kodzie źródłowym, która wykorzystuje kodowanie delta i zapewnia funkcjonalność dwuokresową

Zobacz też

Bibliografia

  1. ^ „Wzorce czasowe” . martinfowler.com . Pobrano 04.04.2017 .
  2. ^ Bridgwater, Adrian (24 listopada 2014). „Dane są dobre, dwukierunkowe dane dwuczasowe są lepsze” .
  3. ^ "XTDB" . 9 września 2021 r.
  4. ^ "terminusdb/terminusdb.pdf na dev · terminsdb/terminusdb" . GitHub . Pobrano 2021-09-12 .