EFFICIENTLY UPDATING ROWS IN A DATA WAREHOUSE
First Claim
1. A method of updating rows in a data warehouse, said method comprising:
- receiving a first plurality of data elements suitable for storing in the form of a plurality of rows of a target table in said data warehouse;
allocating respective ones of a sequence of identifiers to each of said plurality of rows;
inserting in said target table said plurality of rows, including the allocated identifier, according to an order defined based on said sequence of identifiers;
receiving a second plurality of data elements as updates to respective rows, each of said second plurality of data elements being associated with one of said identifiers;
sorting said second plurality of data elements according to said order of the associated identifiers; and
updating successively said plurality of rows of said target table with said second plurality of data elements sorted in said order.
1 Assignment
0 Petitions
Accused Products
Abstract
An aspect of the present invention facilitates efficient updating of rows in a data warehouse. In one embodiment, a sequence of identifiers is allocated to rows of data elements received earlier, and then inserted along with the received data elements in a table according to the defined by the sequence of identifiers. On receiving data elements as updates to the rows having associated identifiers, the received data elements are sorted according to the order of the associated identifiers and updates of the rows are performed successively in the sorted order of identifiers. According to another aspect, the above features are performed when (target) fact/dimension tables in the data warehouse are sought to be updated based on transformations/computations performed on data in other (source) fact/dimension tables.
21 Citations
20 Claims
-
1. A method of updating rows in a data warehouse, said method comprising:
-
receiving a first plurality of data elements suitable for storing in the form of a plurality of rows of a target table in said data warehouse; allocating respective ones of a sequence of identifiers to each of said plurality of rows; inserting in said target table said plurality of rows, including the allocated identifier, according to an order defined based on said sequence of identifiers; receiving a second plurality of data elements as updates to respective rows, each of said second plurality of data elements being associated with one of said identifiers; sorting said second plurality of data elements according to said order of the associated identifiers; and updating successively said plurality of rows of said target table with said second plurality of data elements sorted in said order. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A machine readable medium storing one or more sequences of instructions for causing a system to update rows in a data warehouse, wherein execution of said one or more sequences of instructions by one or more processors contained in said system causes said system to perform the actions of:
-
receiving a first plurality of data elements suitable for storing in the form of a plurality of rows of a target table in said data warehouse; allocating respective ones of a sequence of identifiers to each of said plurality of rows; inserting in said target table said plurality of rows, including the allocated identifier, according to an order defined based on said sequence of identifiers; receiving a second plurality of data elements as updates to respective rows, each of said second plurality of data elements being associated with one of said identifiers; sorting said second plurality of data elements according to said order of the associated identifiers; and updating successively said plurality of rows of said target table with said second plurality of data elements sorted in said order. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A data warehouse comprising:
-
a processor; a random access memory (RAM); a non-volatile storage to store a plurality of tables, said plurality of tables comprising a target table storing a first plurality of data elements in the form of a plurality of rows, wherein each of said plurality of rows is stored including a corresponding identifier allocated from a sequence of identifiers, wherein said plurality of rows is stored according to an order defined based on said sequence of identifiers; a machine readable medium to store a first set of instructions which when retrieved into said RAM and executed by said processor forms an extract-transform-load (ETL) tool, said ETL tool designed to performs the actions of; receiving a second plurality of data elements as updates to respective rows of said target table, each of said second plurality of data elements being associated with one of said identifiers; sorting said second plurality of data elements according to said order of the associated identifiers; and updating successively said plurality of rows of said target table with said second plurality of data elements sorted in said order. - View Dependent Claims (17, 18, 19, 20)
-
Specification