Pre-commit Lock Release for Parallel Database Transaction Throughput
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional database management systems incur substantial overhead and inter-transaction dependency management issues due to synchronous log flush requirements across multiple log files, leading to resource-intensive and time-consuming transaction processing.
Innovation Solution
The pre-commit time early lock release (PTELR) system employs a parallel architecture that releases transactional locks before flushing log records, utilizing commit-dependent LSNs and a simplified inter-transaction dependency management scheme to accelerate database transactions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If synchronous log flush is performed to multiple log files, then data consistency is ensured, but transaction response time increases and throughput decreases
Solution Approach 1:
The patent segments the logging system into multiple independent log files (log file A and log file B) associated with different data processing engines. Each log file can be flushed independently, allowing parallel processing of log flush operations instead of sequential flushing, thereby maintaining data consistency while improving transaction throughput.
Solution Approach 2:
The patent implements pre-commit time early lock release, where transactional locks are released before the log flush operation is completed. This preliminary action allows transactions to proceed without waiting for the synchronous flush to finish, reducing response time while maintaining consistency through the log record itself.
2Reliability
If transactional locks are held until log flush completes, then data consistency is maintained, but wait time at hot spot data increases
Solution Approach 1:
The patent releases transactional locks at pre-commit time, before the log flush operation completes. This preliminary release of locks eliminates the wait time at hot spot data while maintaining data consistency through the use of log records and commit-dependent LSNs that ensure proper ordering and visibility of transactions.
3Reliability
If two-phase locking protocol is used, then transaction isolation is ensured, but commit overhead increases substantially
Solution Approach 1:
The patent extracts the lock release operation from the commit protocol, allowing locks to be released independently before commit completion. This separation eliminates the need for complex two-phase locking coordination while maintaining transaction isolation through log-based consistency mechanisms and commit-dependent LSN tracking.
4Reliability
If separate log volumes are maintained for each engine, then logging errors are reduced, but resource consumption increases
Solution Approach 1:
The patent segments the logging system into separate log files for different data processing engines, which reduces logging errors by isolating failures to specific engines. The patent manages the quantity of log files through efficient parallel flush operations and lock release mechanisms that prevent unnecessary log file creation and maintenance overhead.
Data Source
AI summary
A system, method and computer product for accelerating parallel database transactions. One or more data processors execute a first transaction on a database. The first transaction includes a transactional lock associated with each of one or more records to update the one or more records during the first transaction, and a pre-commit command to request acknowledgement of committing the updating of the one or more records during the first transaction. The one or more data processors execute a second transaction on the database in parallel with the first transaction. The second transaction includes a transactional lock associated with each of one or more records to update the one or more records during the second transaction, and a pre-commit command to request acknowledgement of committing the updating of the one or more records during the second transaction. The transactional locks of the first and second transactions are released before flushing log records associated with the first and second transactions.


