Jump to content

Bitemporal modeling

From Wikipedia, the free encyclopedia

Bitemporal modelingis a specific case oftemporal databaseinformation modeling techniquedesigned to handle historical data along two differenttimelines.[1]This makes it possible to rewind the information to "as it actually was" in combination with "as it was recorded" at some point in time. In order to be able to do so, information cannot be discarded even if it is erroneous. Within, for example,financial reportingit is often desirable to be able to recreate an oldreportboth as it actually looked at the time of creation and as it should have looked given corrections made to the data after its creation.

Implementations of bitemporal modeling can be done usingrelational databasesandgraph databases.As such, bitemporal modeling is considered different fromdimensional modelingand complementary todatabase normalization.TheSQL:2011standard provides language constructs for working with bitemporal data. However, as of 2011 many of the current solutions were still vendor-specific.

Philosophy

[edit]

Bitemporal modeling uses bitemporal structures as the basic components. This results in the databases which have a consistent type of temporality for all data. One example can be to include eventdate-timestamp(EDTS) and loaddatestamp(LDS).

Benefits of bitemporal modeling

[edit]

By focusing on completeness and accuracy of data, bitemporal modeling facilitates the creation of complete audit trails of data. All data becomes immutable. Specifically this allows for queries which provide:

  1. The most accurate data possible as we know it now
  2. Data as we knew it at any point in time
  3. When and why the most accurate data we had changed

Implementations in notable products

[edit]
  • MarkLogicintroduced bitemporal data support in version 8.0. Time stamps for Valid and System time are stored in JSON or XML documents.[2]
  • XTDB[3](formerly Crux) is an open source database that indexes documents using anEAV data modeland provides point-in-time bitemporal SQL & Datalog queries.
  • TerminusDBis an open source document-oriented graph database that usesdelta encodingand provides bitemporal functionality[4]

See also

[edit]

References

[edit]
  1. ^"Temporal Patterns".martinfowler.Retrieved2017-04-04.
  2. ^Bridgwater, Adrian (24 November 2014)."Data Is Good, 'Bidirectionalized Bitemporal' Data Is Better".Forbes.
  3. ^"XTDB".9 September 2021.
  4. ^"terminusdb/terminusdb.pdf at dev · terminusdb/terminusdb".GitHub.Retrieved2021-09-12.