One for the Treble, Two for the Time
Blog post from TigerBeetle
Bitemporality, the concept of managing information across two timelines, is crucial in transaction processing systems like TigerBeetle, which records facts as they are learned and applies necessary adjustments when new information arises. This approach involves recording two timestamps: when a fact was learned (Recorded) and when it took place (Effective). TigerBeetle serves as the recording layer, capturing immutable facts and leaving the interpretation to the application layer. This separation allows for maintaining an audit trail while enabling corrections or additions to past data without compromising the system's integrity. The process of applying adjustments ensures that the system reflects the most accurate understanding of reality, despite initial errors or changes in information. By distinguishing between recording and reporting, TigerBeetle manages to balance the immutability of data with the flexibility needed to address mistakes or incorporate new facts, creating a robust framework for accounting and transaction management.