Read/Write Consistency Specification for Database Concurrency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multi-tiered enterprise applications face complexity in ensuring data consistency and scalability, particularly with concurrency control issues like the lost update, temporary update, and incorrect summary problems, which existing solutions like binary read locks and two-phase locks are not ideal for scalable systems.
Innovation Solution
A system and method for specifying read/write consistency on a per-datum basis using a read/write consistency specification that defines the level of consistency for artifacts within transactions, allowing for rigorous control of read and write operations through a business object specification and application usage specification, enabling optimal data management and concurrency handling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If binary read locks and two-phase locks are used to ensure data consistency, then data integrity is improved, but system scalability and performance deteriorate
Solution Approach 1:
The patent changes the parameter of consistency enforcement from a system-wide locking mechanism to a per-transaction, per-datum basis. By allowing different read consistency levels (snapshot, current, dirty) and write consistency levels (committed, uncommitted) to be specified independently for different data items, the system achieves both strong consistency where needed and high scalability where possible.
Solution Approach 2:
The patent segments the consistency control mechanism into fine-grained units: individual read operations can specify their own consistency level and individual write operations can specify their own consistency level. This segmentation replaces coarse-grained locking with fine-grained consistency specifications, allowing concurrent operations on different data items without system-wide locks.
2Manufacturing precision
If formal read/write consistency specifications are implemented, then concurrency control accuracy is improved, but application development complexity increases
Solution Approach 1:
The patent enables developers to self-service consistency control by providing simple consistency level specifications (snapshot, current, dirty for reads; committed, uncommitted for writes) that can be applied directly in transaction code. This eliminates the need for developers to implement complex locking logic manually, as the database system automatically enforces the specified consistency levels.
Solution Approach 2:
The patent introduces consistency level specifications as an intermediary layer between the application code and the database engine. Instead of directly implementing complex concurrency control logic in applications, developers use simple consistency level markers that the database system translates into appropriate enforcement mechanisms, simplifying the development process while maintaining accuracy.
3Reliability
If per-datum consistency specifications are used, then data integrity control is improved, but system overhead increases
Solution Approach 1:
The patent applies partial action by allowing consistency specifications to be applied only where needed - individual read and write operations can specify their own consistency levels based on actual requirements. This means the system enforces strict consistency only for operations that require it, while allowing more relaxed consistency for operations that can tolerate weaker guarantees, thereby reducing overall system overhead.
Data Source
AI summary
A system for specifying read/write consistency for an application including an application including at least one transaction, wherein the at least one transaction includes at least one of a plurality of states, at least one of a plurality of transitions, and at least one artifact; and a database operatively connected to the application, wherein the application accesses data associated with the at least one artifact using a read/write consistency specification; wherein the read/write consistency specification specifies at least one selected from the group consisting of a read consistency and a write consistency for the at least one artifact within the transaction.


