ETL Concurrency Control via Session Locks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems fail to guarantee data consistency when multiple ETL processes are executed concurrently, as transaction-level concurrency control is insufficient for ensuring ETL-level consistency, leading to potential data inconsistencies.

Innovation Solution

Implementing a concurrency control mechanism that includes ETL-level locking and rollback mechanisms, utilizing session locks with expiration times stored in a lock table, and supporting database and table-level locks to manage concurrent ETL processes, ensuring atomicity and preventing deadlocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple ETL processes are executed concurrently on one database, then productivity is improved, but data consistency deteriorates

Engineering Contradiction:
Improveconcurrent ETL process executionVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces session locks as an intermediary mechanism between concurrent ETL processes and the database. These session locks act as mediators that coordinate access to the database, ensuring that multiple ETL processes can run concurrently while maintaining data consistency through controlled access and serialization when necessary.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements preliminary locking actions before ETL processes access the database. By establishing session locks and checking for existing locks in advance, the system prevents data inconsistency before it can occur, rather than detecting and correcting it after the fact.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If transaction-level locks are used to guarantee data consistency, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improvedata consistencyVSAvoidconcurrency control mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the concurrency control mechanism into multiple levels: session locks for ETL process coordination, table locks for specific database objects, and transaction locks for individual operations. This segmentation allows the system to apply the appropriate level of locking granularity, reducing overall complexity compared to a monolithic locking system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic lock management where the type and duration of locks are adjusted based on the specific ETL process requirements and database state. The system can escalate from lighter session locks to heavier table locks when needed, and automatically release locks when no longer required, making the complexity adaptive rather than static.

Inventive Principle:
Principle #15Dynamics

3Reliability

If session locks with expiration times are implemented, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improveprocess failure recoveryVSAvoidlock management system
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements periodic lock expiration and renewal mechanisms. Session locks are assigned expiration times and can be automatically renewed or released based on process continuation or termination. This periodic action ensures that locks don't persist indefinitely, improving reliability by preventing stale locks while the automation reduces manual management complexity.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The lock management system operates autonomously, automatically acquiring session locks, monitoring process status, renewing locks when needed, and releasing them when processes complete or fail. This self-service capability improves reliability through consistent lock management while reducing the operational complexity for users.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8655859B2Concurrency control for extraction, transform, load processes
Publication Date: 2014.02.18 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8655859B2 patent drawing
  • US8655859B2 patent drawing
  • US8655859B2 patent drawing

AI summary

System and methods manage concurrent ETL processes accessing a database. Exemplary embodiments include a method for concurrency management for ETL processes in a database having database tables and communicatively coupled to a computer, the method including establishing a session lock for the database, determining that a current ETL process is accessing the database at a current time, associating a current expiration time with the session lock, the expiration time being stored in a lock table in the database, sending the session lock to the current ETL process and performing ETL-level locking for the current ETL process.