Claims
- 1. A method of processing a relational query comprising:
in response to executing a relational query that updates a data item in a non-relational data store, performing the steps of:
updating said data item to create an updated data item; instantiating a cache associated with said relational query; and storing said updated data item in said cache.
- 2. The method of claim 1 wherein:
the relational query is one of a plurality of relational queries that update the data item; and each query of said plurality of relational queries uses a different cache of a plurality of caches to store updated versions of the data item, to isolate changes made by each query of the plurality of queries from changes made by each other query of the plurality of queries.
- 3. The method of claim 1 wherein:
the relational query specifies multiple independent operations that update the data item; and each operation of said multiple operations uses a different cache of a plurality of caches to store updated versions of the data item, to isolate changes made by each operation of the multiple operations from changes made by each other operation of the multiple operations.
- 4. The method of claim 3 wherein the multiple operations correspond to multiple instances of the MODEL construct within the relational query.
- 5. The method of claim 1 wherein the non-relational data store is a multidimensional database.
- 6. The method of claim 5 wherein the multidimensional database includes an analytical workspace.
- 7. The method of claim 1, further comprising the step of:
retrieving said updated data item from said cache.
- 8. The method of claim 1, wherein the relational query includes a MODEL clause.
- 9. The method of claim 1, further comprising:
persisting said updated data item in persistent memory.
- 10. The method of claim 9, wherein the persistent memory is within said non-relational data store.
- 11. The method of claim 1, wherein the query updates a plurality of items, the method further comprising:
updating each of said plurality of data items to create a plurality of updated data items; instantiating a plurality of caches, wherein each cache of the plurality of caches associated with a different one of said plurality of data items; and storing each item of said plurality of data items in the cache associated with the data item.
- 12. The method of claim 1, further comprising the step of:
in response to a subsequent access of said updated data item during the query, retrieving said updated data items from the cache associated with the data item.
- 13. The method of claim 1, further comprising instantiating a plurality of caches, wherein each cache of the plurality of caches is associated with a separate data item updated by the relational query.
- 14. The method of claim 1, further comprising instantiating a plurality of caches, wherein each cache of the plurality of caches is associated with a separate user.
- 15. The method of claim 1, further comprising instantiating a plurality of caches, wherein each cache of the plurality of caches is associated with a separate category of data.
- 16. The method of claim 1, further comprising a step of accessing the data item persisted in persistent memory with another query.
- 17. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 1.
- 18. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 2.
- 19. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 3.
- 20. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 4.
- 21. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 5.
- 22. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 6.
- 23. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 7.
- 24. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 8.
- 25. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 9.
- 26. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 10.
- 27. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 11.
- 28. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 12.
- 29. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 13.
- 30. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 14.
- 31. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 15.
- 32. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 16.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of and claims the benefit of domestic priority from:
[0002] U.S. patent application Ser. No. 10/424,003 entitled “Methods of Navigating a Cube that is Implemented as a Relational Object,” filed on Apr. 25, 2003, which claims the benefit of priority from U.S. Provisional Application No. 60/379,870, entitled “Online Analytical Processing (OLAP) Operations and Access Structures for Data Stored in a Relational Database,” filed on May 10, 2002;
[0003] U.S. patent application Ser. No. 10/423,356 entitled “Using Relational Structures to Create and Support a Cube Within a Relational Database System,” filed on Apr. 25, 2003, which also claims the benefit of priority from U.S. Provisional Application Ser. No. .0/379,870, entitled “Online Analytical Processing (OLAP) Operations and Access Structures for Data Stored in a Relational Database,” filed on May 10, 2002; and
[0004] U.S. patent application Ser. No. 10/417,732 entitled “Techniques for Managing What-If Analysis of Data Managed by a Relational Database System,” filed on Apr. 16, 2003; which claims the benefit of priority from U.S. Provisional Application Ser. No. 60/375,726, entitled “Integrating Online Analytical processing (OLAP) functions Into A Relational Database Management System (RDMBS),” filed on Apr. 26, 2002.
[0005] This application is related to U.S. patent application Ser. No. ______ entitled “Using a Multidimensional Database as a Surrogate for a Hash Table in the Context of a Relational Query,” by Matthew Dombroski, Ekrem Soylemez and Andrew Witkowski, filed on the same day herewith.
[0006] The contents of all of which are incorporated by reference in their entirety for all purposes, as if fully set forth herein.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60379870 |
May 2002 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
| Parent |
10424003 |
Apr 2003 |
US |
| Child |
10898280 |
Jul 2004 |
US |