Database Record Update Session with In-Memory Transaction Commit
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database systems face performance issues due to excessive or prolonged transactions, which can affect the consistency and efficiency of updating multiple data records, leading to potential lock conflicts among users.
Innovation Solution
A method involving creating sessions on servers to load and update data records in memory, employing a database transaction mechanism with write locks to ensure all or none of the updates are committed, and utilizing a rewrite consistency resolution mechanism to handle concurrent sessions and potential data changes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If database transaction mechanisms are used to ensure consistent updates of multiple data records, then data consistency is improved, but database performance deteriorates due to excessive or prolonged transactions and lock conflicts
Solution Approach 1:
The patent segments the update process into two distinct phases: a preparation phase where data records are loaded and updated in memory without database locks, and a commitment phase where a single database transaction commits all updates atomically. This segmentation allows the system to maintain data consistency while minimizing the duration and impact of database locks, thereby resolving the contradiction between reliability and productivity.
Solution Approach 2:
The patent performs preliminary actions by loading data records into memory and completing all update operations before initiating the database transaction. This preliminary preparation in memory allows the system to avoid repeated database access and lock acquisition during the update process, improving performance while ensuring consistency through the subsequent atomic commit operation.
2Reliability
If write locks are applied to data records during updates, then data integrity is improved, but access efficiency deteriorates due to lock conflicts among concurrent users
Solution Approach 1:
The patent extracts the data records from the database and loads them into memory during the preparation phase, allowing updates to be performed on in-memory copies without acquiring write locks on the actual database records. This extraction enables concurrent access and updates without lock conflicts, while a subsequent single transaction ensures data integrity by atomically committing all changes to the database.
Solution Approach 2:
The patent introduces an in-memory workspace as an intermediary between the database and the update operations. This intermediary allows multiple users to work with data copies simultaneously without conflicting for database locks, while the transaction mechanism acts as a mediator to ensure that either all updates are committed together or none are, thus maintaining data integrity without compromising access efficiency.
3Reliability
If multiple data records are updated in a single database transaction, then consistency of updates is improved, but transaction duration increases affecting overall database performance
Solution Approach 1:
The patent performs all update operations in advance during the preparation phase in memory, before the database transaction is initiated. This preliminary action completes the computationally intensive update work without holding database locks, so that the subsequent transaction only needs to perform the atomic commit operation, significantly reducing transaction duration while maintaining update consistency.
Solution Approach 2:
The patent segments the overall update process into a lock-free preparation phase and a short commitment phase. By separating the lengthy update operations from the database transaction, the system maintains consistent updates across multiple records while minimizing the duration for which database locks are held, thereby improving overall database performance.
Data Source
AI summary
Updating multiple data records in a database system with at least one database and a first server comprises creating a first session and loading, within the first session, the multiple data records stored by the database into a memory of the first server. Update at least a first and a second of the multiple data records during the first session in the memory of the first server. A database transaction mechanism writes back the multiple data records after updating the at least first and second data records to the database which insures that either all or none of the updated database records are committed. The database transaction mechanism includes a write lock over the first and second data records stored in the database.


