Relational Database Timeline Tracking via Timestamp Ranges

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Relational database systems lack the ability to effectively track historical data changes, leading to difficulties in verifying and correcting data discrepancies and inconsistencies in analytics systems, as they typically overwrite existing data values rather than recording changes over time.

Innovation Solution

A system and method for capturing and maintaining a timeline of data changes in relational database systems by identifying changed records, analyzing timestamps, generating timestamp ranges, and updating or inserting records into a historical record table to track data element changes, allowing for the creation of a historical record of changes that can be used to verify and correct data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If relational database systems overwrite existing data values with new values, then data storage efficiency is improved, but the ability to track historical data changes is lost

Engineering Contradiction:
Improvedata storage efficiencyVSAvoidhistorical data changes
Core Design Contradiction:
Quantity of substanceVSLoss of information

Solution Approach 1:

The patent segments data storage into two distinct components: the current data table that stores only the latest values for space efficiency, and a separate historical record table that stores timestamped versions of data changes. This segmentation allows the system to maintain both storage efficiency and historical tracking capability independently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (the historical record table with timestamp ranges) that mediates between the current data storage and historical data retrieval needs. This intermediary structure enables efficient querying of historical data without impacting the performance of current data operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If data changes are tracked in detail with timestamps, then data accuracy and historical verification are improved, but system complexity increases

Engineering Contradiction:
Improvedata change tracking accuracyVSAvoidsystem structure complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by automatically capturing timestamps and creating historical records at the moment data changes occur, rather than requiring post-processing or manual tracking. This automated preliminary action ensures accurate timestamp recording without adding complexity to data retrieval operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent utilizes timestamp parameters as a key mechanism to manage data versions. By organizing historical data around timestamp ranges (effective date and expiration date), the system achieves precise tracking while maintaining a structured, queryable format that doesn't overly complicate the system architecture.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If a complete historical record of all data changes is maintained, then data verification and correction capabilities are improved, but storage requirements increase

Engineering Contradiction:
Improvedata verification capabilityVSAvoidstorage requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential elements needed for historical tracking (primary key, timestamp, and changed data fields) from the complete data set, storing them in the historical record table. This extraction approach maintains verification capability while minimizing storage requirements by avoiding redundant storage of unchanged data.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements partial action by tracking and storing only the specific data fields that have changed, rather than storing complete records of all data elements. This selective tracking provides sufficient verification capability while significantly reducing storage requirements compared to storing every data element in every version.

Inventive Principle:
Principle #16Partial or excessive action

4Stability of the object's composition

If timestamp ranges with effective and expiration dates are generated for each primary key, then data consistency and historical accuracy are improved, but processing time increases

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The patent performs preliminary action by pre-calculating and storing timestamp ranges (effective date and expiration date) when data changes are first recorded. This preliminary processing of timestamp information enables efficient range-based queries later without requiring complex real-time calculations, thus maintaining data consistency while minimizing processing time during retrieval operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11899636B1Capturing and maintaining a timeline of data changes in a relational database system
Publication Date: 2024.02.13 FMR CORP
  • US11899636B1 patent drawing
  • US11899636B1 patent drawing
  • US11899636B1 patent drawing

AI summary

Methods and apparatuses are described for capturing and maintaining a timeline of data changes in a relational database system. A server identifies changed records from relational database tables. The server analyzes the changed records to determine a maximum timestamp for each primary key and extracts the changed records associated with each primary key where a timestamp is equal to or greater than the maximum timestamp for the primary key. The server generates timestamp ranges for each primary key, each comprising an effective date and an expiration date. The server determines whether each key-date combination already exists in a historical record table. The server updates an expiration date of an existing record in the historical record table using the effective date and inserts a new record for the timestamp range using the captured records.