Claims
- 1. A method of maintaining materialized views of a data source in a system of multiple storage units and a host controller, said method comprising the steps of:
distributing control of portions of a materialized view to respective storage units, such that each storage unit controls and stores a portion of the materialized view corresponding to an associated portion of the data source; and using the respective storage unit, independent of the host controller, maintaining the corresponding portion of the materialized view.
- 2. The method of maintaining materialized views of claim 1, wherein the step of maintaining the corresponding portion of the materialized view further comprises:
executing a set of instructions associated with the materialized view.
- 3. The method of maintaining materialized views of claim 2, further comprising:
sending the set of instructions from the host controller to the storage unit.
- 4. The method of maintaining materialized views of claim 3, wherein the set of instructions is a set of compiled instructions.
- 5. The method of maintaining materialized views of claim 2, further comprising:
caching the set of instructions at the storage unit.
- 6. The method of maintaining materialized views of claim 2, wherein the set of instructions is a set of not compiled instructions and the storage unit selects a subset of instructions for execution.
- 7. The method of maintaining materialized views of claim 2, wherein the set of instructions is based on a data schema.
- 8. The method of maintaining materialized views of claim 2, wherein the set of instructions is used to propagate rows inserted into the data source to the materialized view.
- 9. The method of maintaining materialized views of claim 1, further comprising:
storing, in response to an instruction to insert new data into the data source, the new data on disk without inserting it into the materialized view.
- 10. The method of maintaining materialized views of claim 9, wherein the new data is shared among multiple materialized views and the multiple materialized views are maintained by one step of storing the new data on disk.
- 11. The method of maintaining materialized views of claim 9, further comprising:
tagging the new data as private to the materialized view.
- 12. The method of maintaining materialized views of claim 11, further comprising:
transforming, before storing the new data, new data into a format appropriate for the materialized view.
- 13. The method of maintaining materialized views of claim 12, further comprising:
sorting the new data in response to an instruction to present the materialized view; and merging the new data with data from the materialized view as it is streamed to output.
- 14. The method of maintaining materialized views of claim 9, further comprising:
transforming the new data into a format appropriate for the materialized view in response to an instruction to present the materialized view; and merging the new data with data from the materialized view as it is streamed to output.
- 15. The method of maintaining materialized views of claim 14, wherein the step of transforming the new data is performed in storage unit hardware.
- 16. The method of maintaining materialized views of claim 14, further comprising:
sorting the new data according to a format of the materialized view.
- 17. The method of maintaining materialized views of claim 9, further comprising:
updating the materialized view during a time of low activity on the storage unit.
- 18. The method of maintaining materialized views of claim 1, wherein the data source is a base table.
- 19. The method of maintaining materialized views of claim 1, further comprising:
compressing the materialized view.
- 20. The method of maintaining materialized views of claim 19, wherein compressing the materialized view further comprises:
compressing a record before a write operation; and decompressing a record after a read operation
- 21. The method of maintaining materialized views of claim 19, wherein compressing the materialized view further comprises:
assigning a smaller data type to a column containing data of a larger data type, the data fitting within the smaller data type.
- 22. The method of maintaining materialized views of claim 19, wherein compressing the materialized view further comprises:
removing a Record ID column when there are no duplicates in data in the materialized view.
- 23. The method of maintaining materialized views of claim 19, wherein compressing the materialized view further comprises:
removing a Transaction ID column when there is no change in data records before an indicated time; and recording the indicated time.
- 24. The method of maintaining materialized views of claim 1, further comprising:
indicating deleted data as deleted without removing it from the materialized view.
- 25. The method of maintaining materialized views of claim 24, wherein the deleted data is data before an indicated time, and the step of indicating the deleted data further comprises:
storing the indicated time; and in response to an instruction to present the materialized view, removing records with a time indication less than the stored indicated time as data from the materialized view is streamed to output.
- 26. The method of maintaining materialized views of claim 24, further comprising:
deleting data from the materialized view corresponding to data source records indicated for deletion as data is streamed to output in response to an instruction to present the materialized view.
- 27. The method of maintaining materialized views of claim 24, further comprising:
physically deleting the indicated deleted data from the materialized view at a time of low activity on the storage unit.
- 28. The method of maintaining materialized views of claim 1, further comprising:
assigning a transaction ID to the materialized view.
- 29. The method of maintaining materialized views of claim 28, wherein the transaction ID of the materialized view represents a point past which transactions cannot be rolled back.
- 30. The method of maintaining materialized views of claim 1, further comprising:
creating the materialized view from the data source using one or more of base relationships.
- 31. The method of maintaining materialized views of claim 30, wherein the base relationships are further modified by modifiers.
- 32. The method of maintaining materialized views of claim 30, further comprising:
storing intermediate views if the materialized view involves more than one base relationship.
- 33. A system for maintaining materialized views of a data source, said system comprising:
a host controller; multiple storage units communicating with the host controller; one or more materialized views stored on at least one storage unit, each storage unit controlling and storing, independent of the host controller, an associated portion of a materialized view corresponding to a portion of the data source.
- 34. The system for maintaining materialized views of the data source of claim 33, further comprising:
a set of instructions associated with the materialized view.
- 35. The system for maintaining materialized views of the data source of claim 34, wherein the set of instructions is stored at the host controller.
- 36. The system for maintaining materialized views of the data source of claim 34, wherein the set of instructions is a set of compiled instructions.
- 37. The system for maintaining materialized views of the data source of claim 34, wherein the set of instructions is stored at the storage unit.
- 38. The system for maintaining materialized views of the data source of claim 34, wherein the set of instructions is a set of not compiled instructions and the storage unit selects a subset of instructions for execution.
- 39. The system for maintaining materialized views of the data source of claim 34, wherein the set of instructions is based on a data schema.
- 40. The system for maintaining materialized views of the data source of claim 34, wherein the set of instructions is used to propagate rows inserted into the data source to the materialized view.
- 41. The system for maintaining materialized views of the data source of claim 33, wherein new data in the data source is stored on disk without inserting it in the materialized view.
- 42. The system for maintaining materialized views of the data source of claim 33, wherein the new data is indicated as private to the materialized view.
- 43. The system for maintaining materialized views of the data source of claim 42, wherein the new data is transformed, before being stored on disk, into a format appropriate for the materialized view.
- 44. The system for maintaining materialized views of the data source of claim 43, wherein the new data is sorted in response to an instruction to present the materialized view and is merged with data from the materialized view as it is streamed to output.
- 45. The system for maintaining materialized views of the data source of claim 41, wherein the new data is transformed into a format appropriate for the materialized view in response to an instruction to present the materialized view and is merged with data from the materialized view as it is streamed to output.
- 46. The system for maintaining materialized views of the data source of claim 45, wherein the storage unit further comprises hardware adapted for transforming the new data into the format appropriate for the materialized view.
- 47. The system for maintaining materialized views of the data source of claim 45, wherein the new data is sorted according to a format of the materialized view.
- 48. The system for maintaining materialized views of the data source of claim 41, wherein the materialized view is updated during a time of low activity on the storage unit.
- 49. The system for maintaining materialized views of the data source of claim 33, wherein the data source is a base table.
- 50. The system for maintaining materialized views of the data source of claim 33, wherein the materialized view is compressed.
- 51. The system for maintaining materialized views of the data source of claim 50, wherein a record in the materialized view is compressed before a write operation and decompressed after a read operation.
- 52. The system for maintaining materialized views of the data source of claim 50, wherein compressed materialized view comprises a smaller data type assigned to a column containing data of a larger data type, the data fitting within the smaller data type.
- 53. The system for maintaining materialized views of the data source of claim 50, wherein data in the compressed materialized view contains unique keys other than Record ID fields and a Record ID column is eliminated.
- 54. The system for maintaining materialized views of the data source of claim 49, wherein the compressed materialized view further comprises indicated time, and wherein data in the compressed materialized view contains no change in data records before the indicated time and a Transaction ID column is eliminated.
- 55. The system for maintaining materialized views of the data source of claim 33, wherein deleted data is indicated as such without being removed from the materialized view.
- 56. The system for maintaining materialized views of the data source of claim 55, wherein the deleted data is data before an indicated time, and records with a time indication less than the stored indicated time are removed from data from the materialized view as it is streamed to output in response to an instruction to present the materialized view.
- 57. The system for maintaining materialized views of the data source of claim 55, wherein the deleted data is removed from data from the materialized view as it is streamed to output in response to an instruction to present the materialized view.
- 58. The system for maintaining materialized views of the data source of claim 55, wherein the indicated deleted data is physically deleted from the materialized view at a time of low activity on the storage unit.
- 59. The system for maintaining materialized views of the data source of claim 33, wherein the materialized view further comprises an assigned Transaction ID.
- 60. The system for maintaining materialized views of the data source of claim 59, wherein the Transaction ID of the materialized view represents a point past which transactions cannot be rolled back.
- 61. The system for maintaining materialized views of the data source of claim 33, wherein the materialized view is created from the data source using one or more base relationships.
- 62. The system for maintaining materialized views of the data source of claim 61, wherein the base relationships are further modified by modifiers.
- 63. The system for maintaining materialized views of the data source of claim 61, further comprising:
stored intermediate views if the materialized view involves more than one base relationship.
RELATED APPLICATION
[0001] This application claims the benefit of U.S. Provisional Application No. 60/446,366, filed Feb. 10, 2003. The entire teachings of the above application are incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60446366 |
Feb 2003 |
US |