Performance of table insertion by using multiple tables or multiple threads
First Claim
1. A method of executing a command in a computer to perform a database operation on a relational database stored on a data store connected to the computer, the method comprising the steps of:
- representing a multi-dimensional database as a relational schema in the relational database, wherein the relational schema includes one or more base tables, related dimension tables, and a key table; and
concurrently accessing each of the base tables and the key table to perform the database operation.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, apparatus, and article of manufacture for improved performance of table insertion by using multiple tables or multiple threads. A command is executed in a computer to perform a database operation on a relational database stored on a data store connected to the computer. A multi-dimensional database is represented as a relational schema in the relational database, wherein the relational schema includes one or more base tables, related dimension tables, and a key table. Each of the base tables and the key table is accessed concurrently to perform the database operation.
87 Citations
45 Claims
-
1. A method of executing a command in a computer to perform a database operation on a relational database stored on a data store connected to the computer, the method comprising the steps of:
-
representing a multi-dimensional database as a relational schema in the relational database, wherein the relational schema includes one or more base tables, related dimension tables, and a key table; and
concurrently accessing each of the base tables and the key table to perform the database operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
when the set of sparse dimensions of the multi-dimensional database change, modifying the relational schema; and
redistributing the data according to the changed set of sparse dimensions.
-
-
11. The method of claim 10, wherein the base tables are old base tables, and wherein the step of redistributing data further comprising-the steps of:
-
creating new base tables; and
moving data from the old base tables into the new base tables using independent threads that use an insert statement with a subselect clause to minimize data movement.
-
-
12. The method of claim 11, further comprising the step of creating the new base tables while eliminating logging on an initial transaction.
-
13. The method claim 1, wherein data is stored in a cache and further comprising the steps of:
-
determining that a predetermined amount of data is stored in the cache; and
copying that predetermined amount of data from the cache into the relational database.
-
-
14. The method of claim 1, wherein data is stored in a cache and further comprising the steps of:
-
receiving an indication to commit data;
copying the data from the cache into the relational database; and
committing the data in the relational database.
-
-
15. The method of claim 1, wherein the key table stores information about a data block in the multi-dimensional database.
-
16. An apparatus for executing a command in a computer, comprising:
-
a computer having a data store coupled thereto, wherein the data store stores a relational database; and
one or more computer programs, performed by the computer, the one or more computer programs representing a multi-dimensional database as a relational schema in the relational database, wherein the relational schema includes one or more base tables, related dimension tables, and a key table, and the one or more computer programs further concurrently accessing each of the base tables and the key table to perform a database operation. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
when the set of sparse dimensions of the multi-dimensional database change, means for modifying the relational schema; and
means for redistributing the data according to the changed set of sparse dimensions.
-
-
26. The apparatus of claim 25, wherein the base tables are old base tables, and wherein means for redistributing data further comprises:
-
means for creating new base tables; and
means for moving data from the old base tables into the new base tables using independent threads that use an insert statement with a subselect clause to minimize data movement.
-
-
27. The apparatus of claim 26, further comprising means for creating the new base tables while eliminating logging on an initial transaction.
-
28. The apparatus of claim 16, wherein data is stored in a cache and further comprising:
-
means for determining that a predetermined amount of data is stored in the cache; and
means for copying that predetermined amount of data from the cache into the relational database.
-
-
29. The apparatus of claim 16, wherein data is stored in a cache and further comprising:
-
means for receiving an indication to commit data;
means for copying the data from the cache into the relational database; and
means for committing the data in the relational database.
-
-
30. The apparatus of claim 16, wherein the key table stores information about a data block in the multi-dimensional database.
-
31. An article of manufacture comprising a program storage medium readable by a computer and embodying one or more instructions executable by the computer to perform method steps for executing a command to perform a database operation on a relational database stored on a data store connected to the computer, the method comprising the steps of:
-
representing a multi-dimensional database as a relational schema in the relational database, wherein the relational schema includes one or more base tables, related dimension tables, and a key table; and
concurrently accessing each of the base tables and the key table to perform the database operation. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45)
when the set of sparse dimensions of the multi-dimensional database change, modifying the relational schema; and
redistributing the data according to the changed set of sparse dimensions.
-
-
41. The article of manufacture of claim 40, wherein the base tables are old base tables, and wherein the step of redistributing data further comprising the steps of:
-
creating new base tables; and
moving data from the old base tables into the new base tables using independent threads that use an insert statement with a subselect clause to minimize data movement.
-
-
42. The article of manufacture of claim 41, further comprising the step of creating the new base tables while eliminating logging on an initial transaction.
-
43. The article of manufacture of claim 31, wherein data is stored in a cache and further comprising the steps of:
-
determining that a predetermined amount of data is stored in the cache; and
copying that predetermined amount of data from the cache into the relational database.
-
-
44. The article of manufacture of claim 31, wherein data is stored in a cache and further comprising the steps of:
-
receiving an indication to commit data;
copying the data from the cache into the relational database; and
committing the data in the relational database.
-
-
45. The article of manufacture of claim 31, wherein the key table stores information about a data lock in the multi-dimensional database.
Specification