Methods and apparatus for maintaining consistency during analysis of large data sets
First Claim
1. An on-change applicator for applying changes to multi-dimensional data blocks in a database using a multi-dimensional data model, wherein each data block includes a plurality of data elements, the on-change applicator comprising computer program code for:
- receiving a request to update one or more data elements in a data block;
obtaining a change information entry from a list of change information entries; and
updating the data elements in the data block in accordance with one or more rules selected based on the data elements that are affected by the update, the updating using only the obtained change information entry and data elements already existing in the data block, whereby the on-change applicator ensures that all data utilized in the updating is as of a consistent point in time.
4 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus for updating a database using a multi-dimensional data model in which data corresponding to the database are organized in multi-dimensional data blocks. Each data block has summary information associated therewith corresponding to a current state of evolution of the associated data block. Dependency information is maintained in the data model which identifies data dependencies within and among the data blocks. A list of change entries identifies changes made to the data blocks and times at which the changes were made. A request to apply a change entry to a data block is received. The change entry is applied to the data block, including generating a dependency list of data blocks whose data depends directly or indirectly from the updated data block. The data blocks in the dependency list are processed in accordance with a dependency update algorithm to update the data blocks in the dependency list.
148 Citations
42 Claims
-
1. An on-change applicator for applying changes to multi-dimensional data blocks in a database using a multi-dimensional data model, wherein each data block includes a plurality of data elements, the on-change applicator comprising computer program code for:
-
receiving a request to update one or more data elements in a data block;
obtaining a change information entry from a list of change information entries; and
updating the data elements in the data block in accordance with one or more rules selected based on the data elements that are affected by the update, the updating using only the obtained change information entry and data elements already existing in the data block, whereby the on-change applicator ensures that all data utilized in the updating is as of a consistent point in time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method for updating a database using a multi-dimensional data model in which data corresponding to the database are organized in multi-dimensional data blocks, each data block having summary information associated therewith corresponding to a current state of evolution of the associated data block, the method comprising:
-
maintaining dependency information in the data model which identifies data dependencies within and among the data blocks;
maintaining a list of change entries which identifies changes made to particular ones of the data blocks and times at which the changes were made;
receiving a request to apply a change entry to a data block;
applying the change entry to the data block, including generating a dependency list of data blocks whose data depends directly or indirectly from the updated data block; and
processing the data blocks in the dependency list in accordance with a dependency update algorithm to update the data blocks in the dependency list. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A computer-implemented method for running multiple scenarios using data from an underlying database, the data being organized according to a multi-dimensional data model in which the data are organized in multi-dimensional blocks, each block having summary information associated therewith corresponding to a current state of evolution of the associated block, the data model further comprising dependency information which identifies data dependencies within and among the blocks, the method comprising:
-
running a first scenario process, the first scenario process maintaining first change information which identifies first changes made to copies of first ones of the blocks and times at which the first changes were made, the first scenario process facilitating recalculation of the copies of the first blocks and copies of first dependent blocks to incorporate the first changes;
running a second scenario process substantially simultaneously with the first scenario process, the second scenario process maintaining second change information which identifies second changes made to copies of second ones of the blocks and times at which the second changes were made, the second scenario process facilitating recalculation of the copies of the second blocks and copies of second dependent blocks to incorporate the second changes;
wherein the first changes are not available to the second scenario process until committed to the underlying database and the second changes are not available to the first scenario process until committed to the underlying database; and
updating the underlying database with reference to the dependency information, the summary information, and the first change information, thereby making the first changes available to the second scenario process, wherein the updating includes a reconciliation of the second change information with the first change information, ensuring that the second scenario sees data as if all the first scenario'"'"'s change information is applied to data blocks before any of the second scenario'"'"'s change information, thereby preserving data consistency. - View Dependent Claims (38, 39, 40, 41, 42)
-
Specification