Key-Value Store Transaction Tracking via Optimistic Concurrency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data management systems in electronic commerce and services face delays and failures due to inefficiencies in transaction execution, particularly in updating and retrieving data from key-value stores, which can impact operations and customer experiences.
Innovation Solution
Implementing a key-value store system that tracks transaction status using transaction objects, ensuring atomicity, consistency, isolation, and durability, and supporting conditional put operations to manage data updates and retrievals effectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional data management systems are used for transaction processing, then data can be stored and accessed, but delays and failures occur during transaction execution which adversely affect operations
Solution Approach 1:
The patent segments transaction processing into distinct phases: reading data objects, evaluating read results against write conditions, and committing or aborting write transactions. This segmentation allows for more granular control and reduces blocking, as not all transactions need to wait for all other transactions to complete. The key-value store divides data into independent data objects that can be processed individually, improving throughput and reducing overall transaction processing time while maintaining reliability through proper transaction isolation.
2Productivity
If data updates are processed quickly, then system availability improves, but data integrity and consistency may be compromised
Solution Approach 1:
The patent implements preliminary action by evaluating read results before committing write transactions. The system reads data objects and their associated read results in advance, evaluates whether write conditions are met (such as optimistic concurrency control conditions), and only then commits the write transaction if conditions are satisfied. This preliminary evaluation ensures data integrity is maintained while allowing rapid processing of transactions that meet the criteria, thus improving both productivity and reliability.
3Reliability
If transaction processing implements strict consistency checks, then data integrity is maintained, but processing delays increase
Solution Approach 1:
The patent applies parameter changes by dynamically adjusting consistency check intensity based on transaction type and data object characteristics. The system uses optimistic concurrency control parameters that allow transactions to proceed with minimal checking initially, and only performs full consistency validation when conflicts are detected or at commit time. This parameter-based approach maintains data consistency while maximizing transaction throughput by avoiding unnecessary checks for non-conflicting transactions.
Data Source
AI summary
Techniques are described for using a distributed key-value store to store data and track transactions performed against the data. The key-value store may include data objects as files in a file system, such that the file name of a file is a key and the contents of the file is a value corresponding to the key. The key-value store may also include transaction objects that track the status of transactions to modify the data objects, the status being one of open, committed, or cancelled. Previous and updated data may be included in the value of a data object to indicate that the data object is in the process of being modified. The value may also include a transaction identifier identifying the transaction that is modifying the data object.


