System and method for maintaining data for performing “what if” analysis
First Claim
Patent Images
1. A computerized method for maintaining data used in what-if analysis on a set of data in a database, the method comprising:
- initializing a delta cache;
determining a delta value for an element within the set of data, the delta value representing the difference between a first value of the element and a revised value of the element; and
updating the delta cache with the delta value.
2 Assignments
0 Petitions
Accused Products
Abstract
Maintaining data used for performing “what-if” analysis is disclosed. The systems and methods of the invention define an efficient mechanism allowing a user to specify how base values from a database are to be changed. The changes can be held in a local delta cache which is only exposed to a single user, leaving the base data unchanged. The changes can also be maintained in a write-back partition, which results in the changes being exposed to all clients of the database. Values in the write-back partition can be selectively rolled back if required.
92 Citations
32 Claims
-
1. A computerized method for maintaining data used in what-if analysis on a set of data in a database, the method comprising:
-
initializing a delta cache;
determining a delta value for an element within the set of data, the delta value representing the difference between a first value of the element and a revised value of the element; and
updating the delta cache with the delta value. - View Dependent Claims (2, 3, 4, 5, 6)
initializing a write-back partition; and
updating the write-back partition with the delta value from the delta cache.
-
-
4. The computerized method of claim 3, wherein the write-back partition is maintained in a relational database partition.
-
5. The computerized method of claim 1, wherein the delta cache is maintained in an OLAP client application.
-
6. The computerized method of claim 1, wherein the delta cache is maintained in an OLAP server application.
-
7. A computerized method for adjusting a data element in a database, the method comprising:
-
reading a cell value from the database, said cell value having an identifier;
reading a first delta value from a delta cache, the first delta value representing the difference between the cell value and an adjusted cell value;
applying the first delta value to the cell value to yield the adjusted value; and
returning the adjusted value to a requester. - View Dependent Claims (8, 9, 10, 11, 12)
reading a second delta value from a write-back partition;
applying the second delta value to the cell value before applying the first delta value to the cell value.
-
-
11. The computerized method of claim 7, wherein applying the first delta value further includes applying delta values for a set of cells that exist at a more detailed level in a dimension hierarchy than the cell identified by the cell identifier.
-
12. The computerized method of claim 10, wherein applying the second delta value further includes applying delta values for a set of cells that exist at a more detailed level in a dimension hierarchy than the cell identified by the cell identifier.
-
13. A computerized system comprising:
-
a processor and a computer-readable medium;
an operating environment executing on the processor from the computer-readable medium;
a local data store maintained by a multidimensional database server and operative to maintain a set of base partitions having cell data;
a delta cache operable to maintain a first set of delta values corresponding to the cell data, each delta value of the set of delta values representing the difference between a value of the cell data of the local data store and a corresponding revised value of the cell data;
a multidimensional database client executing under the control of the operating environment and operative to apply the first set of delta values to the cell data retrieved from the local data store. - View Dependent Claims (14, 15, 16)
-
-
17. A computer-readable medium having computer-executable instructions for performing a method comprising:
-
initializing a delta cache;
determining a delta value for an element within the set of data, the delta value representing the difference between a first value of the element and a revised value of the element; and
updating the delta cache with the delta value. - View Dependent Claims (18, 19, 20, 21, 22)
initializing a write-back partition; and
updating the write-back partition with the delta value from the delta cache.
-
-
20. The computer-readable medium of claim 19, wherein the write-back partition is maintained in a relational database partition.
-
21. The computer-readable medium of claim 17, wherein the delta cache is maintained in an OLAP client application.
-
22. The computer-readable medium of claim 17, wherein the delta cache is maintained in an OLAP server application.
-
23. A computer-readable medium having computer-executable instructions for performing a method for applying changes to cell data, the method comprising:
-
reading a cell value from the database, said cell value having an identifier;
reading a first delta value from a delta cache, the first delta value representing the difference between a first value of the cell value and a revised value of the cell value;
applying the first delta value to the cell value; and
returning the adjusted value to a requestor. - View Dependent Claims (24, 25, 26, 27, 28)
reading a second delta value from a write-back partition;
applying the second delta value to the cell value before applying the first delta value to the cell value.
-
-
27. The computer-readable medium of claim 23, wherein applying the first delta value further includes applying delta values for a set of cells that exist at a more detailed level in a dimension hierarchy than the cell identified by the cell identifier.
-
28. The computer-readable medium of claim 26, wherein applying the second delta value further includes applying delta values for a set of cells that exist at a more detailed level in a dimension hierarchy than the cell identified by the cell identifier.
-
29. A computer-readable medium having stored thereon a data structure comprising:
-
at least one first data field comprising data that identifies a cell value within a multidimensional database cube;
at least one second data field comprising a delta value for a measurement associated with the cell value, the delta value representing the difference between the cell value and a revised cell value;
a third data field comprising a user identifier identifying the user who caused the data structure to be created. - View Dependent Claims (30)
-
-
31. A computer-readable medium having computer-executable instructions for performing a method for applying changes to cell data of a database, the method comprising:
-
reading a cell value from the database;
reading a first delta value from a delta cache;
reading a second delta value from a write-back partition;
determining a user identification associated with the second delta value;
applying the first delta value to the cell value to yield a first adjusted value for a requestor;
if the requester is associated with the user identification;
applying the second delta value to the first adjusted value to yield a second adjusted value; and
returning the second adjusted value to the requester. - View Dependent Claims (32)
determining a timestamp associated with the second delta value; and
returning the second adjusted value comprises returning the second adjusted value to the requestor if the determined timestamp is within a particular time range and returning the first adjusted value if the timestamp is not within a particular time range.
-
Specification