Bitemporal Model
   HOME

TheInfoList



OR:

Bitemporal modeling is a specific case of
temporal database A temporal database stores data relating to time instances. It offers temporal data types and stores information relating to past, present and future time. Temporal databases can be uni-temporal, bi-temporal or tri-temporal. More specifically the ...
information modeling technique designed to handle historical data along two different
timeline A timeline is a list of events displayed in chronological order. It is typically a graphic design showing a long bar labelled with dates paralleling it, and usually contemporaneous events. Timelines can use any suitable scale representing t ...
s. 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 Financial statements (or financial reports) are formal records of the financial activities and position of a business, person, or other entity. Relevant financial information is presented in a structured manner and in a form which is easy to un ...
it is often desirable to be able to recreate an old
report A report is a document or a statement that presents information in an organized format for a specific audience and purpose. Although summaries of reports may be delivered orally, complete reports are usually given in the form of written documen ...
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 database A relational database (RDB) is a database based on the relational model of data, as proposed by E. F. Codd in 1970. A Relational Database Management System (RDBMS) is a type of database management system that stores data in a structured for ...
s and
graph databases A graph database (GDB) is a database that uses graph structures for semantic queries with nodes, edges, and properties to represent and store data. A key concept of the system is the graph (or edge or relationship). The graph relates the data ...
. As such, bitemporal modeling is considered different from
dimensional modeling Dimensional modeling (DM) is part of the '' Business Dimensional Lifecycle'' methodology developed by Ralph Kimball which includes a set of methods, techniques and concepts for use in data warehouse design. The approach focuses on identifying th ...
and complementary to
database normalization Database normalization is the process of structuring a relational database in accordance with a series of so-called '' normal forms'' in order to reduce data redundancy and improve data integrity. It was first proposed by British computer scien ...
. The SQL:2011 standard provides language constructs for working with bitemporal data. However, as of 2011 many of the current solutions were still vendor-specific.


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. One example can be to include event
date-timestamp A timestamp is a sequence of characters or encoded information identifying when a certain event occurred, usually giving date and time of day, sometimes accurate to a small fraction of a second. Timestamps do not have to be based on some absolu ...
(EDTS) and load
datestamp A timestamp is a sequence of characters or encoded information identifying when a certain event occurred, usually giving date and time of day, sometimes accurate to a small fraction of a second. Timestamps do not have to be based on some absolu ...
(LDS).


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: # The most accurate data possible as we know it now # Data as we knew it at any point in time # When and why the most accurate data we had changed


Implementations in notable products

*
MarkLogic MarkLogic is an American software business that develops and provides an enterprise NoSQL database, which is also named ''MarkLogic''. They have offices in the United States, Europe, Asia, and Australia. In February 2023, MarkLogic was acquired ...
introduced bitemporal data support in version 8.0. Time stamps for Valid and System time are stored in JSON or XML documents. * XTDB (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 Delta encoding is a way of storing or transmitting data in the form of '' differences'' (deltas) between sequential data rather than complete files; more generally this is known as data differencing. Delta encoding is sometimes called delta comp ...
and provides bitemporal functionality


See also

*
Temporal database A temporal database stores data relating to time instances. It offers temporal data types and stores information relating to past, present and future time. Temporal databases can be uni-temporal, bi-temporal or tri-temporal. More specifically the ...


References

{{Data warehouse Data warehousing Data modeling Data modeling diagrams Database normalization