Database Record Bits for Concurrent Change Tracking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing relational databases lack efficient mechanisms to track and manage modifications to database records, particularly in multi-user environments, leading to potential data inconsistencies and inefficiencies.
Innovation Solution
A system that generates a bit for each database record to indicate modifications, such as insertions, deletions, or updates, with a transaction ID and update pointers, and employs a coordination mechanism to ensure data consistency by managing alive periods and locking records to prevent concurrent modifications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a bit is generated for each database record to track modifications, then modification tracking efficiency is improved, but device complexity increases
Solution Approach 1:
The patent segments the modification tracking mechanism into individual bits associated with each database record. Each bit independently tracks whether its corresponding record has been modified, allowing efficient per-record monitoring without requiring complex centralized tracking structures. This segmentation enables parallel processing and reduces the computational overhead of tracking modifications across multiple records.
Solution Approach 2:
The patent introduces a coordination mechanism as an intermediary layer between the bit generation component and the database records. This intermediary manages the alive periods of bits, coordinates locking operations, and handles the synchronization between multiple users accessing the database. It abstracts the complexity of concurrent access management while enabling efficient modification tracking through the bit system.
2Reliability
If records are locked to prevent concurrent modifications, then data consistency is improved, but productivity decreases
Solution Approach 1:
The patent implements dynamic locking where records are locked only when modifications are detected through bit changes. The locking mechanism is not static but adapts based on the state of modification bits and the alive period coordination. Records remain unlocked during read operations, and locking is applied selectively during write operations, allowing concurrent access patterns that maintain data consistency while maximizing productivity.
Solution Approach 2:
The patent employs a mechanism where old versions of database records are discarded after successful modification and recovery of the new version. The coordination mechanism manages the lifecycle of record versions, allowing concurrent transactions to proceed by discarding stale versions and recovering only the necessary locked records for active transactions. This reduces the duration and scope of locking operations.
3Measurement precision
If modification tracking is implemented with bits and pointers, then measurement precision of modifications is improved, but device complexity increases
Solution Approach 1:
The patent adds a temporal dimension to modification tracking by implementing alive periods for bits. Each bit is associated with a specific time window (alive period) during which it is valid for tracking modifications. This temporal dimension allows the system to precisely measure and identify modifications within specific transaction contexts while automatically expiring and cleaning up old bits, reducing the need for complex version history management.
Solution Approach 2:
The patent uses pointers that extend from bits to specific versions of database records, creating a copying mechanism where the bit structure references record versions without duplicating the actual record data. This allows precise tracking of which record version was modified while avoiding the memory overhead of storing complete copies of all historical versions. The pointer system provides measurement precision with minimal storage requirements.
Data Source
AI summary
A method includes receiving, by a computing device, a first transaction from a user device for a first version of a database record; generating, by the computing device, a bit for the database record; receiving, by the computing device, a second transaction from a second user device for a second version of the database record; locking, by the computing device, the database record; determining, by the computing device, a modification between the first version of the database record and the second version of the database record; and updating, by the computing device, the bit in response to the modification.


