Bitemporal Modeling

Bitemporal Modeling is a specific case of Temporal database information modeling technique designed to handle historical data along two different timelines.[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 reporting it is often desirable to be able to recreate an old report both 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 using relational databases and graph databases. As such, Bitemporal Modeling is considered different from Dimensional Modeling and complementary to database normalization. The 2011 standard provides language constructs for working with bitemporal data. However, many of current solutions are still vendor-specific.

## Contents

* 1 Philosophy
* 2 Benefits of Bitemporal Modeling
* 3 Implementations in notable products
* 4 See also
* 5 References

## Philosophy

Bitemporal modeling uses bitemporal structures as the basic components. This results in the databases which have a consistent type of temporality for all data.

## Benefits of Bitemporal Modeling

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

* MarkLogic introduced 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 an EAV data model and provides point-in-time bitemporal SQL & Datalog queries.
* TerminusDB is an open source document-oriented graph database that uses delta encoding and provides bitermporal functionality[4]

## See also

* Temporal database

## References

1. ↑ "Temporal Patterns". martinfowler.com. https://martinfowler.com/eaaDev/timeNarrative.html#dimensions.
2. ↑ Bridgwater, Adrian (24 November 2014). "Data Is Good, 'Bidirectionalized Bitemporal' Data Is Better". https://www.forbes.com/sites/adrianbridgwater/2014/11/24/data-is-good-bidirectionalized-bitemporal-data-is-better/#5424ff9b567b.
3. ↑ "XTDB". 9 September 2021. https://xtdb.com.
4. ↑ "terminusdb/terminusdb.pdf at dev · terminusdb/terminusdb" (in en). https://github.com/terminusdb/terminusdb.

* v
* t
* e

Data warehouses

Creating a data warehouse

| Concepts|

* Database
* Dimension
* Dimensional modeling
* Fact
* OLAP
* Star schema
* Snowflake schema
* Reverse star schema
* Aggregate

|

Variants|

* Anchor modeling
* Column-oriented DBMS
* Data vault modeling
* HOLAP
* MOLAP
* ROLAP
* Operational data store

Elements|

* Data dictionary/Metadata
* Data mart
* Sixth normal form
* Surrogate key

Fact|

* Fact table
* Early-arriving fact
* Measure

Dimension|

* Dimension table
* Degenerate
* Slowly changing

Filling|

* Extract-Transform-Load (ETL)
* Extract
* Transform
* Load

Using a data warehouse

| Concepts|

* Business intelligence
* Dashboard
* Data mining
* Decision support system (DSS)
* OLAP cube
* Data warehouse automation

|

Languages|

* Data Mining Extensions (DMX)
* MultiDimensional eXpressions (MDX)
* XML for Analysis (XMLA)

Tools|

* Business intelligence software
* Reporting software
* Spreadsheet

Related

| People|

* Bill Inmon
* Ralph Kimball

|

Products|

* Comparison of OLAP servers
* Data warehousing products and their producers

0.00

(0 votes)

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Bitemporal_Modeling&oldid=205491"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template