Concurrency control for extraction, transform, load processes
First Claim
1. A method for concurrency management for extraction, transform, load (ETL) processes in a database having database tables and communicatively coupled to a computer, the method comprising:
- establishing a session lock for the database having a plurality of tables;
determining that a first current ETL process is accessing the database at a current time;
determining that a second current ETL process is accessing the database at the current time;
responsive to the first and second current ETL processes reading from a first subset of the plurality of tables, the first current ETL process writing into a second subset of the plurality of tables, the second current ETL process writing into a third subset of the plurality of tables, the first, second and third subsets being mutually exclusive, executing the first and second ETL processes simultaneously;
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 at least one of the first and second current ETL processes; and
responsive to the first and second ETL processes writing into a common subset of the plurality of tables, performing ETL-level locking for the first current ETL process.
2 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
20 Claims
-
1. A method for concurrency management for extraction, transform, load (ETL) processes in a database having database tables and communicatively coupled to a computer, the method comprising:
-
establishing a session lock for the database having a plurality of tables; determining that a first current ETL process is accessing the database at a current time; determining that a second current ETL process is accessing the database at the current time; responsive to the first and second current ETL processes reading from a first subset of the plurality of tables, the first current ETL process writing into a second subset of the plurality of tables, the second current ETL process writing into a third subset of the plurality of tables, the first, second and third subsets being mutually exclusive, executing the first and second ETL processes simultaneously; 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 at least one of the first and second current ETL processes; and responsive to the first and second ETL processes writing into a common subset of the plurality of tables, performing ETL-level locking for the first current ETL process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A database residing in a memory that is communicatively coupled to a computer having a first current ETL process and a second current ETL process, the database comprising:
-
data accessible to the first current ETL process and the second current ETL process; a plurality of tables; at least one database table of the plurality of tables, including the data accessible to the first current ETL process; and a lock table including an expiration time value for the second current ETL process, the second current ETL process accessing data accessible to the first current ETL process in the at least one database table, wherein responsive to the first and second current ETL processes reading from a first subset of the plurality of tables, the first current ETL process writing into a second subset of the plurality of tables, the second current ETL process writing into a third subset of the plurality of tables, the first, second and third subsets being mutually exclusive, executing the first and second ETL processes simultaneously, wherein responsive to the first and second ETL processes writing into a common subset of the plurality of tables, performing ETL-level locking for the first current ETL process. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A computer program product for concurrency management for extraction, transform, load (ETL) processes in a database having database tables and communicatively coupled to a computer, the computer program product including a non-transitory computer readable medium having instructions for causing the computer to implement a method, the method comprising:
-
establishing a session lock for the database having a plurality of tables; determining that a first current ETL process is accessing the database at a current time; determining that a second current ETL process is accessing the database at the current time; responsive to the first and second current ETL processes reading from a first subset of the plurality of tables, the first current ETL process writing into a second subset of the plurality of tables, the second current ETL process writing into a third subset of the plurality of tables, the first, second and third subsets being mutually exclusive, executing the first and second ETL processes simultaneously; 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 at least one of the first and second current ETL processes; and responsive to the first and second ETL processes writing into a common subset of the plurality of tables, performing ETL-level locking for the current ETL process. - View Dependent Claims (19, 20)
-
Specification