A database system stores data in a bi-temporal index that maintainsrecordation time anda validity time for recorded values. The index for a given key may be appendonly, such that thestored data for the key doesn't require modification of previously-recordeddata for givenvalidity times. The bi-temporal index comprises a key-value data store thatallows values to berecorded for a specific key, validity time, and recordation time. To retrievea value, a requestpresents a query with a key, subject time, and observation time. Queries lookfor values with avalidity time most recent to and before the queried subject time and arecordation time,associated with the validity time, most recent to and before the queriedobservation time. Thequeries prioritize the validity time over the recordation time and returns thevalue that satisfiesthe query request.
展开▼