IP Library Granted Patent US 8,156,110
Granted Patent B1
US 8,156,110 · App. 10/767,681 · Granted Apr 10, 2012

Rescheduling of modification operations for loading data into a database system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,156,110
App. No.
10/767,681
Granted
Apr 10, 2012
Kind
B1
Abstract

A method or apparatus for use with a database system that stores a join view associated with plural base relations includes receiving modification operations to modify at least two of the base relations of the join view, and re-ordering the received modification operations to avoid concurrent execution of modification operations of more than one of at least two base relations.

Claims (32)

1. A method performed by software embodied in a computer-readable storage medium and executed by a computer in a database system that stores a join view associated with plural base relations, the method comprising:

receiving modification operations that modify at least two of the base relations of the join view, wherein the at least two base relations comprise a first base relation and a second base relation;

performing partitioning of the received modification operations by submitting at least some of the modification operations operating on the first base relation to a first session, and submitting at least another of the modification operations that operate on the second base relation to a second session;

grouping the at least some of the modification operations in the first session operating on the first base relation into a first transaction,

wherein the at least another modification operation in the second session is part of a second transaction; and

scheduling the transactions to avoid execution of modification operations of more than one of the at least two base relations at one time in the database system.

2. The method of claim wherein scheduling the transactions comprises:

determining that the first transaction conflicts with the second transaction based on the first and second transactions modifying more than one base relation of the join view; and

selecting one of the first and second transactions for execution in the database system.

3. The method of claim 2 , wherein selecting one of the first and second transactions comprises selecting the first transaction,

the method further comprising storing the second transaction in a queue.

4. The method of claim 3 , further comprising waiting for the first transaction to complete execution before scheduling the second transaction for execution.

5. The method of claim 1 , further comprising:

storing pending transactions in plural queues corresponding to respective plural sessions of the database system; and

selecting one of the pending transactions from the queues to schedule for execution in the database system based on whether the one pending transaction conflicts with one or more executing transactions in the database system.

6. The method of claim 5 , further comprising determining that the one pending transaction conflicts with the one or more executing transactions in response to determining that the one pending transaction modifies a different one of the base relations of the join view than a base relation of the join view modified by an executing transaction.

7. The method of claim 5 , further comprising applying a technique to prevent starvation of a particular one of the pending transactions in response to determining that the particular one pending transaction has been in one of the queues for longer than a predetermined time period.

8. An article comprising at least one non-transitory computer-readable storage medium containing instructions that when executed cause a computer to:

receive modification operations that modify at least two of the base relations of a join view, wherein the at least two base relations comprise a first base relation and a second base relation;

perform partitioning of the received modification operations by submitting at least some of the modification operations operating on the first base relation to a first session, and submitting at least another of the modification operations that operate on a second base relation to a second session;

group the at least some of the modification operations in the first session operating on the first base relation into a first transaction,

wherein the at least another modification operation in the second session is part of a second transaction; and

schedule the transactions to avoid concurrent execution of transactions of more than one of the at least two base relations of the join view.

9. The article of claim 8 , wherein scheduling the transactions comprises:

determining that the first transaction conflicts with the second transaction based on the first and second transactions modifying more than one base relation of the join view; and

selecting one of the first and second transactions for execution in the database system.

10. The article of claim 9 , wherein selecting one of the first and second transactions comprises selecting the first transaction,

the instructions when executed causing the system to further store the second transaction in a queue.

11. The article of claim 10 , wherein the instructions when executed cause the computer to wait for the first transaction to complete execution before scheduling the second transaction for execution.

12. The article of claim 8 , wherein the instructions when executed cause the computer to:

in response to a particular one of the modification operations to modify one of the base relations, place an exclusive lock on the one base relation, and place a predefined lock on the join view,

the predefined lock conflicting with each of a shared lock and an exclusive lock placed on the join view, but the predefined lock not conflicting with another predefined lock placed on the join view.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2008
From: NCR CORPORATION
To: TERADATA US, INC.
Reel/Frame 020666/0438 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2004
From: LUO, GANG; WATZKE, MICHAEL W.; ELLMANN, CURT J.; NAUGHTON, JEFFREY F.
To: NCR CORPORATION
Reel/Frame 015792/0936 →