CA2403969A1 - Storing multidimensional data in a relational database management system - Google Patents
Storing multidimensional data in a relational database management system Download PDFInfo
- Publication number
- CA2403969A1 CA2403969A1 CA002403969A CA2403969A CA2403969A1 CA 2403969 A1 CA2403969 A1 CA 2403969A1 CA 002403969 A CA002403969 A CA 002403969A CA 2403969 A CA2403969 A CA 2403969A CA 2403969 A1 CA2403969 A1 CA 2403969A1
- Authority
- CA
- Canada
- Prior art keywords
- dimension
- values
- tiles
- tile
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/953—Organization of data
- Y10S707/954—Relational
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/953—Organization of data
- Y10S707/957—Multidimensional
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/953—Organization of data
- Y10S707/958—Data cubes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99948—Application of database or data structure, e.g. distributed, multimedia, or image
Abstract
Techniques are provided for storing multidimensional data in a relational database system by using foreign key values of each row in the fact table th at are mapped to and replaced by a "replacement" value. A mapping function is provided that derives a replacement value from any given combination of foreign key values, and an inverse mapping function is provided to reproduce the combination of foreign key values given the replacement value. A mapping function is selected such that the foreign key value combinations of multidimensional values that are conceptually related to each other map to values that are close to each other. The rows in the fact table are then stored within the fact table in the sorted order, thus causing values that a re conceptually related to each other to be stored physically near each other within the fact table. Various techniques are provided for generating the replacement value from the foreign key values by subdividing the multidimensional cube that contains all of the multidimensional values into smaller subcubes that are referred to as tiles.
Claims (44)
1. A method for storing multidimensional data in relational tables, the method comprising the steps of:
maintaining a fact table for storing cell values that are associated with a plurality of dimensions;
receiving a request to store a particular cell value that is associated with a particular set of dimension key values, said particular set of dimension key values including one dimension key value stored in each of said plurality of dimensions;
generating a replacement value based on two or more dimension key values in said particular set of dimension key values; and storing within said fact table said particular cell value; and said replacement value in association with said particular cell value.
maintaining a fact table for storing cell values that are associated with a plurality of dimensions;
receiving a request to store a particular cell value that is associated with a particular set of dimension key values, said particular set of dimension key values including one dimension key value stored in each of said plurality of dimensions;
generating a replacement value based on two or more dimension key values in said particular set of dimension key values; and storing within said fact table said particular cell value; and said replacement value in association with said particular cell value.
2. The method of Claim 1 further comprising maintaining a plurality of dimension tables, where each dimension table of said plurality of dimension tables stores dimension key values for a different dimension of said plurality of dimensions.
3. The method of Claim 2 wherein:
the two or more dimension key values includes a particular dimension key value from a particular dimension;
the method further comprises the step of storing coordinate values within the dimension table associated with said particular dimension; and the step of generating a replacement value includes generating a replacement value based on a coordinate value stored in said dimension table in association with said particular dimension key value.
the two or more dimension key values includes a particular dimension key value from a particular dimension;
the method further comprises the step of storing coordinate values within the dimension table associated with said particular dimension; and the step of generating a replacement value includes generating a replacement value based on a coordinate value stored in said dimension table in association with said particular dimension key value.
4. The method of Claim 1 wherein the step of storing said replacement value in association with said particular cell value is performed without storing said two or more dimension key values in association with said particular cell value.
5. The method of Claim 4 further comprising the steps of:
reading the replacement value associated with said particular cell value from said fact table; and determining that said two or more dimension key values are associated with said particular cell value based on said replacement value.
reading the replacement value associated with said particular cell value from said fact table; and determining that said two or more dimension key values are associated with said particular cell value based on said replacement value.
6. The method of Claim 1 wherein the step of generating a replacement value includes generating the replacement value based on dimension key values that correspond to all dimension key values in said particular set of dimension key values.
7. The method of Claim 1 wherein the step of generating a replacement value includes the steps of:
establishing a mapping between dimension key values in said plurality of dimensions and cells of a multidimensional cube;
subdividing said multidimensional cube into tiles;
determining which tile of said multidimensional cube contains a cell that corresponds to said particular cell value; and generating said replacement value based on the tile that contains the cell that corresponds to said particular cell value.
establishing a mapping between dimension key values in said plurality of dimensions and cells of a multidimensional cube;
subdividing said multidimensional cube into tiles;
determining which tile of said multidimensional cube contains a cell that corresponds to said particular cell value; and generating said replacement value based on the tile that contains the cell that corresponds to said particular cell value.
8. The method of Claim 7 wherein each row of the fact table corresponds to a tile of said multidimensional cube and stores:
data that identifies said tile; and the particular cell values that correspond to cells in said tile.
data that identifies said tile; and the particular cell values that correspond to cells in said tile.
9. The method of Claim 7 wherein each row of the fact table corresponds to a cell value and stores data that identifies:
the tile that contains the cell associated with said cell value; and a relative location of the cell within said file.
the tile that contains the cell associated with said cell value; and a relative location of the cell within said file.
10. The method of Claim 7 wherein:
a particular dimension of said plurality of dimensions is hierarchical and includes a set of finest-level dimension values and a set of non-finest level dimension values; and the step of subdividing said multidimensional cube into tiles includes subdividing said multidimensional cube into a first set of tiles based on a mapping between said dimension values in said set of finest-level dimension values and dimension values in said set of non-finest-level dimension values.
a particular dimension of said plurality of dimensions is hierarchical and includes a set of finest-level dimension values and a set of non-finest level dimension values; and the step of subdividing said multidimensional cube into tiles includes subdividing said multidimensional cube into a first set of tiles based on a mapping between said dimension values in said set of finest-level dimension values and dimension values in said set of non-finest-level dimension values.
11. The method of Claim 10 wherein:
said particular dimension includes a second set of non-finest level dimension values that have a coarser level of granularity than said set of finest-level dimension values;
and a finer level of granularity than said set of non-finest-level dimension values;
the step of subdividing said multidimensional cube into tiles includes subdividing each tile of said first set of tiles into a second set of tiles based on a mapping between said dimension values in said set of finest-level dimension values and dimension values in said second set of non-finest-level dimension values.
said particular dimension includes a second set of non-finest level dimension values that have a coarser level of granularity than said set of finest-level dimension values;
and a finer level of granularity than said set of non-finest-level dimension values;
the step of subdividing said multidimensional cube into tiles includes subdividing each tile of said first set of tiles into a second set of tiles based on a mapping between said dimension values in said set of finest-level dimension values and dimension values in said second set of non-finest-level dimension values.
12. The method of Claim 7 wherein the step of subdividing said multidimensional cube into tiles includes establishing fixed-width tiling ranges for a particular dimension of said plurality of dimensions.
13. The method of Claim 10 wherein the step of subdividing said multidimensional cube into tiles further includes establishing fixed-width tiling ranges for a dimension of said plurality of dimensions other than said particular dimension.
14. A method for clustering multidimensional values in a relational database system, the method comprising the steps of:
maintaining a fact table for storing cell values that are associated with a plurality of dimensions;
establishing a mapping between dimension key values in said plurality of dimensions and cells of a multidimensional cube;
subdividing said multidimensional cube into tiles; and selecting where to store each cell value within said fact table based on the tile of said multidimensional cube that contains the cell associated with said cell value.
maintaining a fact table for storing cell values that are associated with a plurality of dimensions;
establishing a mapping between dimension key values in said plurality of dimensions and cells of a multidimensional cube;
subdividing said multidimensional cube into tiles; and selecting where to store each cell value within said fact table based on the tile of said multidimensional cube that contains the cell associated with said cell value.
15. The method of Claim 14 wherein:
a particular dimension of said plurality of dimensions is hierarchical and includes a set of finest-level dimension values and a set of non-finest level dimension values; and the step of subdividing said multidimensional cube into tiles includes subdividing said multidimensional cube into a first set of tiles based on a mapping between said dimension values in said set of finest-level dimension values and dimension values in said set of non-finest-level dimension values.
a particular dimension of said plurality of dimensions is hierarchical and includes a set of finest-level dimension values and a set of non-finest level dimension values; and the step of subdividing said multidimensional cube into tiles includes subdividing said multidimensional cube into a first set of tiles based on a mapping between said dimension values in said set of finest-level dimension values and dimension values in said set of non-finest-level dimension values.
16. The method of Claim 15 wherein:
said particular dimension includes a second set of non-finest level dimension values that have a coarser level of granularity than said set of finest-level dimension values;
and a finer level of granularity than said set of non-finest-level dimension values;
the step of subdividing said multidimensional cube into tiles includes subdividing each tile of said first set of tiles into a second set of tiles based on a mapping between said dimension values in said set of finest-level dimension values and dimension values in said second set of non-finest-level dimension values.
said particular dimension includes a second set of non-finest level dimension values that have a coarser level of granularity than said set of finest-level dimension values;
and a finer level of granularity than said set of non-finest-level dimension values;
the step of subdividing said multidimensional cube into tiles includes subdividing each tile of said first set of tiles into a second set of tiles based on a mapping between said dimension values in said set of finest-level dimension values and dimension values in said second set of non-finest-level dimension values.
17. The method of Claim 14 wherein the step of subdividing said multidimensional cube into tiles includes establishing fixed-width tiling ranges for a particular dimension of said plurality of dimensions.
18. The method of Claim 15 wherein the step of subdividing said multidimensional cube into tiles further includes establishing fixed-width tiling ranges for a dimension of said plurality of dimensions other than said particular dimension.
19. The method of Claim 14 wherein:
the step of subdividing said multidimensional cube into tiles includes the steps of subdividing said multidimensional cube into a first set of tiles based on a first criteria, and subdividing each tile of said first set of tiles into a second set of tiles based on a second criteria; and the step of selecting where to store each cell value within said fact table is performed based on the tile of said first set of tiles that contains the cell associated with said cell value, and the tile of said second set of tiles that contains the cell associated with said cell value.
the step of subdividing said multidimensional cube into tiles includes the steps of subdividing said multidimensional cube into a first set of tiles based on a first criteria, and subdividing each tile of said first set of tiles into a second set of tiles based on a second criteria; and the step of selecting where to store each cell value within said fact table is performed based on the tile of said first set of tiles that contains the cell associated with said cell value, and the tile of said second set of tiles that contains the cell associated with said cell value.
20. The method of Claim 19 further comprising the steps of:
establishing a first set of clusters within said fact table, wherein each cluster in said first set of clusters corresponds to rows associated with a particular tile in said first set of tiles; and establishing a second set of clusters within each cluster of said first set of clusters, wherein each cluster in said second set of clusters corresponds to rows associated with a particular tile in said second set of tiles.
establishing a first set of clusters within said fact table, wherein each cluster in said first set of clusters corresponds to rows associated with a particular tile in said first set of tiles; and establishing a second set of clusters within each cluster of said first set of clusters, wherein each cluster in said second set of clusters corresponds to rows associated with a particular tile in said second set of tiles.
21. The method of Claim 14 wherein:
the method further comprises the step of assigning tile numbers to said tiles;
and the step of selecting where to store each cell value within said fact table includes storing rows in said fact table in sorted order based on said tile numbers.
the method further comprises the step of assigning tile numbers to said tiles;
and the step of selecting where to store each cell value within said fact table includes storing rows in said fact table in sorted order based on said tile numbers.
22. The method of Claim 21 wherein the step of assigning tile numbers to said tiles is performed using an assignment technique that assigns closely related tile numbers to tiles that reside at closely related positions within said multidimensional cube.
23. A computer-readable medium bearing instructions for storing multidimensional data in relational tables, the instructions including instructions for performing the steps of:
maintaining a fact table for storing cell values that are associated with a plurality of dimensions;
receiving a request to store a particular cell value that is associated with a particular set of dimension key values, said particular set of dimension key values including one dimension key value stored in each of said plurality of dimensions;
generating a replacement value based on two or more dimension key values in said particular set of dimension key values; and storing within said fact table said particular cell value; and said replacement value in association with said particular cell value.
maintaining a fact table for storing cell values that are associated with a plurality of dimensions;
receiving a request to store a particular cell value that is associated with a particular set of dimension key values, said particular set of dimension key values including one dimension key value stored in each of said plurality of dimensions;
generating a replacement value based on two or more dimension key values in said particular set of dimension key values; and storing within said fact table said particular cell value; and said replacement value in association with said particular cell value.
24. The computer-readable medium of Claim 23 further comprising instructions for maintaining a plurality of dimension tables, where each dimension table of said plurality of dimension tables stores dimension key values for a different dimension of said plurality of dimensions.
25. The computer-readable medium of Claim 24 wherein:
the two or more dimension key values includes a particular dimension key value from a particular dimension;
the computer-readable medium further comprises instructions for performing the step of storing coordinate values within the dimension table associated with said particular dimension; and the step of generating a replacement value includes generating a replacement value based on a coordinate value stored in said dimension table in association with said particular dimension key value.
the two or more dimension key values includes a particular dimension key value from a particular dimension;
the computer-readable medium further comprises instructions for performing the step of storing coordinate values within the dimension table associated with said particular dimension; and the step of generating a replacement value includes generating a replacement value based on a coordinate value stored in said dimension table in association with said particular dimension key value.
26. The computer-readable medium of Claim 23 wherein the step of storing said replacement value in association with said particular cell value is performed without storing said two or more dimension key values in association with said particular cell value.
27. The computer-readable medium of Claim 26 further comprising instructions for performing the steps of:
reading the replacement value associated with said particular cell value from said fact table; and determining that said two or more dimension key values are associated with said particular cell value based on said replacement value.
reading the replacement value associated with said particular cell value from said fact table; and determining that said two or more dimension key values are associated with said particular cell value based on said replacement value.
28. The computer-readable medium of Claim 23 wherein the step of generating a replacement value includes generating the replacement value based on dimension key values that correspond to all dimension key values in said particular set of dimension key values.
29. The computer-readable medium of Claim 23 wherein the step of generating a replacement value includes the steps of:
establishing a mapping between dimension key values in said plurality of dimensions and cells of a multidimensional cube;
subdividing said multidimensional cube into tiles;
determining which tile of said multidimensional cube contains a cell that corresponds to said particular cell value; and generating said replacement value based on the tile that contains the cell that corresponds to said particular cell value.
establishing a mapping between dimension key values in said plurality of dimensions and cells of a multidimensional cube;
subdividing said multidimensional cube into tiles;
determining which tile of said multidimensional cube contains a cell that corresponds to said particular cell value; and generating said replacement value based on the tile that contains the cell that corresponds to said particular cell value.
30. The computer-readable medium of Claim 29 wherein each row of the fact table corresponds to a tile of said multidimensional cube and stores:
data that identifies said tile; and the particular cell values that correspond to cells in said tile.
data that identifies said tile; and the particular cell values that correspond to cells in said tile.
31. The computer-readable medium of Claim 29 wherein each row of the fact table corresponds to a cell value and stores data that identifies:
the tile that contains the cell associated with said cell value; and a relative location of the cell within said tile.
the tile that contains the cell associated with said cell value; and a relative location of the cell within said tile.
32. The computer-readable medium of Claim 29 wherein:
a particular dimension of said plurality of dimensions is hierarchical and includes a set of forest-level dimension values and a set of non-finest level dimension values; and the step of subdividing said multidimensional cube into tiles includes subdividing said multidimensional cube into a first set of tiles based on a mapping between said dimension values in said set of finest-level dimension values and dimension values in said set of non-finest-level dimension values.
a particular dimension of said plurality of dimensions is hierarchical and includes a set of forest-level dimension values and a set of non-finest level dimension values; and the step of subdividing said multidimensional cube into tiles includes subdividing said multidimensional cube into a first set of tiles based on a mapping between said dimension values in said set of finest-level dimension values and dimension values in said set of non-finest-level dimension values.
33. The computer-readable medium of Claim 32 wherein:
said particular dimension includes a second set of non-finest level dimension values that have a coarser level of granularity than said set of finest-level dimension values;
and a finer level of granularity than said set of non-finest-level dimension values;
the step of subdividing said multidimensional cube into tiles includes subdividing each tile of said first set of tiles into a second set of tiles based on a mapping between said dimension values in said set of finest-level dimension values and dimension values in said second set of non-forest-level dimension values.
said particular dimension includes a second set of non-finest level dimension values that have a coarser level of granularity than said set of finest-level dimension values;
and a finer level of granularity than said set of non-finest-level dimension values;
the step of subdividing said multidimensional cube into tiles includes subdividing each tile of said first set of tiles into a second set of tiles based on a mapping between said dimension values in said set of finest-level dimension values and dimension values in said second set of non-forest-level dimension values.
34. The computer-readable medium of Claim 29 wherein the step of subdividing said multidimensional cube into tiles includes establishing fixed-width tiling ranges for a particular dimension of said plurality of dimensions.
35. The computer-readable medium of Claim 32 wherein the step of subdividing said multidimensional cube into tiles further includes establishing fixed-width tiling ranges for a dimension of said plurality of dimensions other than said particular dimension.
36. A computer-readable medium bearing instructions for clustering multidimensional values in a relational database system, the instructions including instructions for the steps of:
maintaining a fact table for storing cell values that are associated with a plurality of dimensions;
establishing a mapping between dimension key values in said plurality of dimensions and cells of a multidimensional cube;
subdividing said multidimensional cube into tiles; and selecting where to store each cell value within said fact table based on the tile of said multidimensional cube that contains the cell associated with said cell value.
maintaining a fact table for storing cell values that are associated with a plurality of dimensions;
establishing a mapping between dimension key values in said plurality of dimensions and cells of a multidimensional cube;
subdividing said multidimensional cube into tiles; and selecting where to store each cell value within said fact table based on the tile of said multidimensional cube that contains the cell associated with said cell value.
37. The computer-readable medium of Claim 36 wherein:
a particular dimension of said plurality of dimensions is hierarchical and includes a set of finest-level dimension values and a set of non-finest level dimension values; and the step of subdividing said multidimensional cube into tiles includes subdividing said multidimensional cube into a first set of tiles based on a mapping between said dimension values in said set of finest-level dimension values and dimension values in said set of non-finest-level dimension values.
a particular dimension of said plurality of dimensions is hierarchical and includes a set of finest-level dimension values and a set of non-finest level dimension values; and the step of subdividing said multidimensional cube into tiles includes subdividing said multidimensional cube into a first set of tiles based on a mapping between said dimension values in said set of finest-level dimension values and dimension values in said set of non-finest-level dimension values.
38. The computer-readable medium of Claim 37 wherein:
said particular dimension includes a second set of non-finest level dimension values that have a coarser level of granularity than said set of finest-level dimension values;
and a finer level of granularity than said set of non-finest-level dimension values;
the step of subdividing said multidimensional cube into tiles includes subdividing each tile of said first set of tiles into a second set of tiles based on a mapping between said dimension values in said set of finest-level dimension values and dimension values in said second set of non-finest-level dimension values.
said particular dimension includes a second set of non-finest level dimension values that have a coarser level of granularity than said set of finest-level dimension values;
and a finer level of granularity than said set of non-finest-level dimension values;
the step of subdividing said multidimensional cube into tiles includes subdividing each tile of said first set of tiles into a second set of tiles based on a mapping between said dimension values in said set of finest-level dimension values and dimension values in said second set of non-finest-level dimension values.
39. The computer-readable medium of Claim 36 wherein the step of subdividing said multidimensional cube into tiles includes establishing fixed-width tiling ranges for a particular dimension of said plurality of dimensions.
40. The computer-readable medium of Claim 37 wherein the step of subdividing said multidimensional cube into tiles further includes establishing fixed-width tiling ranges for a dimension of said plurality of dimensions other than said particular dimension.
41. The computer-readable medium of Claim 36 wherein:
the step of subdividing said multidimensional cube into tiles includes the steps of subdividing said multidimensional cube into a first set of tiles based on a first criteria, and subdividing each tile of said first set of tiles into a second set of tiles based on a second criteria; and the step of selecting where to store each cell value within said fact table is performed based on the tile of said first set of tiles that contains the cell associated with said cell value, and the tile of said second set of tiles that contains the cell associated with said cell value.
the step of subdividing said multidimensional cube into tiles includes the steps of subdividing said multidimensional cube into a first set of tiles based on a first criteria, and subdividing each tile of said first set of tiles into a second set of tiles based on a second criteria; and the step of selecting where to store each cell value within said fact table is performed based on the tile of said first set of tiles that contains the cell associated with said cell value, and the tile of said second set of tiles that contains the cell associated with said cell value.
42. The computer-readable medium of Claim 41 further comprising instructions for performing the steps of:
establishing a first set of clusters within said fact table, wherein each cluster in said first set of clusters corresponds to rows associated with a particular tile in said first set of tiles; and establishing a second set of clusters within each cluster of said first set of clusters, wherein each cluster in said second set of clusters corresponds to rows associated with a particular tile in said second set of tiles.
establishing a first set of clusters within said fact table, wherein each cluster in said first set of clusters corresponds to rows associated with a particular tile in said first set of tiles; and establishing a second set of clusters within each cluster of said first set of clusters, wherein each cluster in said second set of clusters corresponds to rows associated with a particular tile in said second set of tiles.
43. The computer-readable medium of Claim 36 wherein:
the instructions further comprise instructions for assigning tile numbers to said tiles;
and the step of selecting where to store each cell value within said fact table includes storing rows in said fact table in sorted order based on said tile numbers.
the instructions further comprise instructions for assigning tile numbers to said tiles;
and the step of selecting where to store each cell value within said fact table includes storing rows in said fact table in sorted order based on said tile numbers.
44. The computer-readable medium of Claim 43 wherein the step of assigning tile numbers to said tiles is performed using an assignment technique that assigns closely related tile numbers to tiles that reside at closely related positions within said multidimensional cube.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/427,202 US6484179B1 (en) | 1999-10-25 | 1999-10-25 | Storing multidimensional data in a relational database management system |
US09/427,202 | 1999-10-25 | ||
PCT/US2000/028969 WO2001033427A2 (en) | 1999-10-25 | 2000-10-18 | Storing multidimensional data in a relational database |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2403969A1 true CA2403969A1 (en) | 2001-05-10 |
CA2403969C CA2403969C (en) | 2010-08-17 |
Family
ID=23693898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA2403969A Expired - Lifetime CA2403969C (en) | 1999-10-25 | 2000-10-18 | Storing multidimensional data in a relational database management system |
Country Status (6)
Country | Link |
---|---|
US (3) | US6484179B1 (en) |
EP (1) | EP1242915A2 (en) |
JP (1) | JP3979846B2 (en) |
AU (1) | AU765989B2 (en) |
CA (1) | CA2403969C (en) |
WO (1) | WO2001033427A2 (en) |
Families Citing this family (226)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7089331B1 (en) | 1998-05-29 | 2006-08-08 | Oracle International Corporation | Method and mechanism for reducing client-side memory footprint of transmitted data |
US6009432A (en) * | 1998-07-08 | 1999-12-28 | Required Technologies, Inc. | Value-instance-connectivity computer-implemented database |
US7076507B1 (en) * | 1998-07-08 | 2006-07-11 | Required Technologies, Inc. | Value-instance-connectivity computer-implemented database |
US7228300B2 (en) | 1998-10-05 | 2007-06-05 | Oracle International Corporation | Caching the results of security policy functions |
US7233952B1 (en) * | 1999-01-15 | 2007-06-19 | Hon Hai Precision Industry, Ltd. | Apparatus for visualizing information in a data warehousing environment |
US7320001B1 (en) * | 1999-01-15 | 2008-01-15 | Hon Hai Precision Industry, Ltd. | Method for visualizing information in a data warehousing environment |
US7007029B1 (en) * | 1999-01-15 | 2006-02-28 | Metaedge Corporation | System for visualizing information in a data warehousing environment |
US6804714B1 (en) * | 1999-04-16 | 2004-10-12 | Oracle International Corporation | Multidimensional repositories for problem discovery and capacity planning of database applications |
US6385604B1 (en) * | 1999-08-04 | 2002-05-07 | Hyperroll, Israel Limited | Relational database management system having integrated non-relational multi-dimensional data store of aggregated data elements |
US6408292B1 (en) | 1999-08-04 | 2002-06-18 | Hyperroll, Israel, Ltd. | Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes on integer-encoded business dimensions |
US6484179B1 (en) * | 1999-10-25 | 2002-11-19 | Oracle Corporation | Storing multidimensional data in a relational database management system |
US6700590B1 (en) * | 1999-11-01 | 2004-03-02 | Indx Software Corporation | System and method for retrieving and presenting data using class-based component and view model |
US20020029207A1 (en) * | 2000-02-28 | 2002-03-07 | Hyperroll, Inc. | Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein |
US7389284B1 (en) | 2000-02-29 | 2008-06-17 | Oracle International Corporation | Method and mechanism for efficient processing of remote-mapped queries |
US8812850B2 (en) | 2000-03-02 | 2014-08-19 | Tivo Inc. | Secure multimedia transfer system |
US8171520B2 (en) | 2000-03-02 | 2012-05-01 | Tivo Inc. | Method of sharing personal media using a digital recorder |
US7908635B2 (en) | 2000-03-02 | 2011-03-15 | Tivo Inc. | System and method for internet access to a personal television service |
AU2001257077A1 (en) | 2000-04-17 | 2001-10-30 | Brio Technology, Inc. | Analytical server including metrics engine |
US7072897B2 (en) * | 2000-04-27 | 2006-07-04 | Hyperion Solutions Corporation | Non-additive measures and metric calculation |
US6748394B2 (en) | 2000-04-27 | 2004-06-08 | Hyperion Solutions Corporation | Graphical user interface for relational database |
US7080090B2 (en) * | 2000-04-27 | 2006-07-18 | Hyperion Solutions Corporation | Allocation measures and metric calculations in star schema multi-dimensional data warehouse |
US6941311B2 (en) | 2000-04-27 | 2005-09-06 | Hyperion Solutions Corporation | Aggregate navigation system |
US6732115B2 (en) | 2000-04-27 | 2004-05-04 | Hyperion Solutions Corporation | Chameleon measure and metric calculation |
US7167859B2 (en) * | 2000-04-27 | 2007-01-23 | Hyperion Solutions Corporation | Database security |
US20010044796A1 (en) * | 2000-05-19 | 2001-11-22 | Hiroyasu Fujiwara | Totalization system and recording medium |
ES2165810B1 (en) * | 2000-06-30 | 2003-04-16 | Espacio T S L | NON-LINEAR THREE-DIMENSIONAL NUMERICAL MANAGEMENT SYSTEM. |
US7136854B2 (en) * | 2000-07-06 | 2006-11-14 | Google, Inc. | Methods and apparatus for providing search results in response to an ambiguous search query |
US6865575B1 (en) * | 2000-07-06 | 2005-03-08 | Google, Inc. | Methods and apparatus for using a modified index to provide search results in response to an ambiguous search query |
US8706747B2 (en) | 2000-07-06 | 2014-04-22 | Google Inc. | Systems and methods for searching using queries written in a different character-set and/or language from the target pages |
US7051078B1 (en) * | 2000-07-10 | 2006-05-23 | Cisco Technology, Inc. | Hierarchical associative memory-based classification system |
US6785666B1 (en) * | 2000-07-11 | 2004-08-31 | Revenue Science, Inc. | Method and system for parsing navigation information |
US6895471B1 (en) * | 2000-08-22 | 2005-05-17 | Informatica Corporation | Method and apparatus for synchronizing cache with target tables in a data warehousing system |
US7093194B2 (en) * | 2000-10-27 | 2006-08-15 | Swiftknowledge, Inc. | Data access system |
US7689621B1 (en) * | 2000-11-06 | 2010-03-30 | Navteq North America, Llc | Multi-dimensional spatial index for a geographic database |
US20020107905A1 (en) * | 2001-02-05 | 2002-08-08 | Roe Colleen A. | Scalable agent service system |
US7925616B2 (en) * | 2001-06-19 | 2011-04-12 | Microstrategy, Incorporated | Report system and method using context-sensitive prompt objects |
US7720842B2 (en) | 2001-07-16 | 2010-05-18 | Informatica Corporation | Value-chained queries in analytic applications |
US7103590B1 (en) | 2001-08-24 | 2006-09-05 | Oracle International Corporation | Method and system for pipelined database table functions |
US20030115211A1 (en) * | 2001-12-14 | 2003-06-19 | Metaedge Corporation | Spatial intelligence system and method |
US7162701B1 (en) * | 2002-02-04 | 2007-01-09 | Veripoint, Llc | User interface for a decision support system |
US6820077B2 (en) | 2002-02-22 | 2004-11-16 | Informatica Corporation | Method and system for navigating a large amount of data |
US7028046B2 (en) * | 2002-03-19 | 2006-04-11 | Hyperion Solutions Corporation | Method of splitting a multi-dimensional cube between a multi-dimensional and a relational database |
US6898608B2 (en) | 2002-04-26 | 2005-05-24 | Oracle International Corporation | Techniques for managing what-if analysis of data managed by a relational database system |
US7366730B2 (en) * | 2002-04-26 | 2008-04-29 | Oracle International Corporation | Registration of solved cubes within a relational database management system |
WO2003093930A2 (en) * | 2002-04-30 | 2003-11-13 | Veridiem Inc. | Marketing optimization system |
US7373353B2 (en) * | 2002-05-10 | 2008-05-13 | International Business Machines Corporation | Reducing index size for multi-level grid indexes |
US7610351B1 (en) | 2002-05-10 | 2009-10-27 | Oracle International Corporation | Method and mechanism for pipelined prefetching |
US6973457B1 (en) | 2002-05-10 | 2005-12-06 | Oracle International Corporation | Method and system for scrollable cursors |
US7383275B2 (en) | 2002-05-10 | 2008-06-03 | International Business Machines Corporation | Methods to improve indexing of multidimensional databases |
US7143098B2 (en) * | 2002-05-10 | 2006-11-28 | International Business Machines Corporation | Systems, methods, and computer program products to reduce computer processing in grid cell size determination for indexing of multidimensional databases |
US7447687B2 (en) * | 2002-05-10 | 2008-11-04 | International Business Machines Corporation | Methods to browse database query information |
US6920460B1 (en) | 2002-05-29 | 2005-07-19 | Oracle International Corporation | Systems and methods for managing partitioned indexes that are created and maintained by user-defined indexing schemes |
JP2004030221A (en) * | 2002-06-26 | 2004-01-29 | Hitachi Ltd | Method for automatically detecting table to be modified |
CA2391692C (en) * | 2002-07-15 | 2006-07-04 | Allan Williams | Computer database with adaptive storage space architecture |
US7313559B2 (en) * | 2002-07-19 | 2007-12-25 | Microsoft Corporation | System and method for analytically modeling data organized according to a referenced attribute |
US7287022B2 (en) * | 2002-07-19 | 2007-10-23 | Microsoft Corporation | System and method for analytically modeling data organized according to related attributes |
AU2003253196A1 (en) * | 2002-07-26 | 2004-02-23 | Ron Everett | Data management architecture associating generic data items using reference |
US7299239B1 (en) * | 2002-12-02 | 2007-11-20 | Oracle International Corporation | Methods for partitioning an object |
US7716167B2 (en) * | 2002-12-18 | 2010-05-11 | International Business Machines Corporation | System and method for automatically building an OLAP model in a relational database |
US7472127B2 (en) * | 2002-12-18 | 2008-12-30 | International Business Machines Corporation | Methods to identify related data in a multidimensional database |
US7953694B2 (en) * | 2003-01-13 | 2011-05-31 | International Business Machines Corporation | Method, system, and program for specifying multidimensional calculations for a relational OLAP engine |
US20040199517A1 (en) * | 2003-04-02 | 2004-10-07 | Fabio Casati | Method and system for operating a data warehouse for event management |
US7895191B2 (en) * | 2003-04-09 | 2011-02-22 | International Business Machines Corporation | Improving performance of database queries |
US8209280B2 (en) * | 2003-05-07 | 2012-06-26 | Oracle International Corporation | Exposing multidimensional calculations through a relational database server |
US8612421B2 (en) * | 2003-05-07 | 2013-12-17 | Oracle International Corporation | Efficient processing of relational joins of multidimensional data |
US8200612B2 (en) * | 2003-05-07 | 2012-06-12 | Oracle International Corporation | Efficient SQL access to multidimensional data |
CA2429907A1 (en) * | 2003-05-27 | 2004-11-27 | Cognos Incorporated | Modelling of a multi-dimensional data source in an entity-relationship model |
JP4330941B2 (en) * | 2003-06-30 | 2009-09-16 | 株式会社日立製作所 | Database divided storage management apparatus, method and program |
US7480662B2 (en) * | 2003-07-03 | 2009-01-20 | Oracle International Corporation | Fact table storage in a decision support system environment |
US7873684B2 (en) | 2003-08-14 | 2011-01-18 | Oracle International Corporation | Automatic and dynamic provisioning of databases |
US20050044065A1 (en) * | 2003-08-21 | 2005-02-24 | International Business Machines Corporation | Method and apparatus for enabling national language support of a database engine |
US7401069B2 (en) * | 2003-09-11 | 2008-07-15 | International Business Machines Corporation | Background index bitmapping for faster query performance |
US7831615B2 (en) * | 2003-10-17 | 2010-11-09 | Sas Institute Inc. | Computer-implemented multidimensional database processing method and system |
US7433886B2 (en) * | 2003-10-24 | 2008-10-07 | Microsoft Corporation | SQL language extensions for modifying collection-valued and scalar valued columns in a single statement |
US7657516B2 (en) * | 2003-12-01 | 2010-02-02 | Siebel Systems, Inc. | Conversion of a relational database query to a query of a multidimensional data source by modeling the multidimensional data source |
US7698292B2 (en) * | 2003-12-03 | 2010-04-13 | Siemens Aktiengesellschaft | Tag management within a decision, support, and reporting environment |
US7346617B2 (en) * | 2004-01-23 | 2008-03-18 | Oracle International Corporation | Multi-table access control |
US8311974B2 (en) | 2004-02-20 | 2012-11-13 | Oracle International Corporation | Modularized extraction, transformation, and loading for a database |
US20050198008A1 (en) * | 2004-03-02 | 2005-09-08 | Adler David W. | Index exploitation for spatial data |
US7254574B2 (en) * | 2004-03-08 | 2007-08-07 | Microsoft Corporation | Structured indexes on results of function applications over data |
US8468444B2 (en) * | 2004-03-17 | 2013-06-18 | Targit A/S | Hyper related OLAP |
US7676453B2 (en) * | 2004-04-22 | 2010-03-09 | Oracle International Corporation | Partial query caching |
US8554806B2 (en) | 2004-05-14 | 2013-10-08 | Oracle International Corporation | Cross platform transportable tablespaces |
US8572221B2 (en) | 2004-05-26 | 2013-10-29 | Facebook, Inc. | System and method for managing an online social network |
US20050278281A1 (en) * | 2004-05-28 | 2005-12-15 | Samson Frederick E | Multi-dimensional data editor |
US8380715B2 (en) | 2004-06-04 | 2013-02-19 | Vital Source Technologies, Inc. | System, method and computer program product for managing and organizing pieces of content |
US8160998B2 (en) * | 2004-06-04 | 2012-04-17 | Vitalsource Technologies, Inc. | System, method and computer program product for providing content based upon a representation of the same |
US7707143B2 (en) | 2004-06-14 | 2010-04-27 | International Business Machines Corporation | Systems, methods, and computer program products that automatically discover metadata objects and generate multidimensional models |
US20050283494A1 (en) * | 2004-06-22 | 2005-12-22 | International Business Machines Corporation | Visualizing and manipulating multidimensional OLAP models graphically |
US7480663B2 (en) * | 2004-06-22 | 2009-01-20 | International Business Machines Corporation | Model based optimization with focus regions |
US8972444B2 (en) | 2004-06-25 | 2015-03-03 | Google Inc. | Nonstandard locality-based text entry |
US8392453B2 (en) | 2004-06-25 | 2013-03-05 | Google Inc. | Nonstandard text entry |
US7840607B2 (en) * | 2004-08-06 | 2010-11-23 | Siemens Aktiengesellschaft | Data mart generation and use in association with an operations intelligence platform |
US7287032B2 (en) | 2004-08-10 | 2007-10-23 | International Business Machines Corporation | Display of hierarchical data with non-numeric measures |
US8700671B2 (en) * | 2004-08-18 | 2014-04-15 | Siemens Aktiengesellschaft | System and methods for dynamic generation of point / tag configurations |
US20080091691A1 (en) * | 2004-10-28 | 2008-04-17 | Kukui, University Of | Datebase Device, Database Management Method, Data Structure Of Database, Database Management Program, And Computer-Readable Storage Medium Storing Same Program |
US8418075B2 (en) | 2004-11-16 | 2013-04-09 | Open Text Inc. | Spatially driven content presentation in a cellular environment |
US8001476B2 (en) * | 2004-11-16 | 2011-08-16 | Open Text Inc. | Cellular user interface |
US7593955B2 (en) * | 2004-11-30 | 2009-09-22 | International Business Machines Corporation | Generation of aggregatable dimension information within a multidimensional enterprise software system |
US7418438B2 (en) * | 2004-11-30 | 2008-08-26 | International Business Machines Corporation | Automated default dimension selection within a multidimensional enterprise software system |
US7505888B2 (en) * | 2004-11-30 | 2009-03-17 | International Business Machines Corporation | Reporting model generation within a multidimensional enterprise software system |
US7610300B2 (en) * | 2004-11-30 | 2009-10-27 | International Business Machines Corporation | Automated relational schema generation within a multidimensional enterprise software system |
US7814123B2 (en) * | 2004-12-02 | 2010-10-12 | Siemens Aktiengesellschaft | Management of component members using tag attributes |
US7389283B2 (en) * | 2004-12-07 | 2008-06-17 | International Business Machines Corporation | Method for determining an optimal grid index specification for multidimensional data |
US7660823B2 (en) * | 2004-12-30 | 2010-02-09 | Sas Institute Inc. | Computer-implemented system and method for visualizing OLAP and multidimensional data in a calendar format |
US7580922B2 (en) * | 2005-01-04 | 2009-08-25 | International Business Machines Corporation | Methods for relating data in healthcare databases |
US8442938B2 (en) * | 2005-01-14 | 2013-05-14 | Siemens Aktiengesellschaft | Child data structure update in data management system |
US20060190432A1 (en) * | 2005-02-22 | 2006-08-24 | Sas Institute Inc. | System and method for graphically distinguishing levels of a multidimensional database |
US7693860B2 (en) * | 2005-03-18 | 2010-04-06 | Microsoft Corporation | Method and system to associate cell and item metadata |
US20060218116A1 (en) * | 2005-03-28 | 2006-09-28 | O'hearn James E | Pass-through interface queries to populate a class-based model |
US7558779B2 (en) * | 2005-04-20 | 2009-07-07 | Bea Systems, Inc. | Sorted rowset |
US7502894B2 (en) * | 2005-04-20 | 2009-03-10 | Bea Systems, Inc. | Shared rowset |
US20060242119A1 (en) * | 2005-04-20 | 2006-10-26 | Bea Systems, Inc. | SQL-style filtered rowset |
US7814104B2 (en) * | 2005-05-04 | 2010-10-12 | Oracle International Corporation | Techniques for partition pruning |
US8645313B1 (en) * | 2005-05-27 | 2014-02-04 | Microstrategy, Inc. | Systems and methods for enhanced SQL indices for duplicate row entries |
US7496589B1 (en) * | 2005-07-09 | 2009-02-24 | Google Inc. | Highly compressed randomly accessed storage of large tables with arbitrary columns |
US7668846B1 (en) | 2005-08-05 | 2010-02-23 | Google Inc. | Data reconstruction from shared update log |
US7567973B1 (en) * | 2005-08-05 | 2009-07-28 | Google Inc. | Storing a sparse table using locality groups |
US7548928B1 (en) | 2005-08-05 | 2009-06-16 | Google Inc. | Data compression of large scale data stored in sparse tables |
US7885945B2 (en) * | 2005-08-25 | 2011-02-08 | Microsoft Corporation | Secure schema identifier generation |
US8234293B2 (en) * | 2005-09-08 | 2012-07-31 | Microsoft Corporation | Autocompleting with queries to a database |
US7792847B2 (en) | 2005-09-09 | 2010-09-07 | Microsoft Corporation | Converting structured reports to formulas |
US7461060B2 (en) * | 2005-10-04 | 2008-12-02 | International Business Machines Corporation | Generalized partition pruning in a database system |
US7805433B2 (en) * | 2005-10-14 | 2010-09-28 | Microsoft Corporation | Multidimensional cube functions |
US20070088599A1 (en) * | 2005-10-18 | 2007-04-19 | Henkel Consumer Adhesives, Inc. | Apparatus and method for analyzing new product performance |
US7464083B2 (en) * | 2005-10-24 | 2008-12-09 | Wolfgang Otter | Combining multi-dimensional data sources using database operations |
US7801844B2 (en) * | 2005-11-23 | 2010-09-21 | Microsoft Corporation | Surrogate key generation and utilization |
US7657503B1 (en) | 2005-11-29 | 2010-02-02 | At&T Corp. | System and method for generating statistical descriptors for a data stream |
US20070143250A1 (en) * | 2005-12-20 | 2007-06-21 | Beckman Coulter, Inc. | Adaptable database system |
US20070168323A1 (en) * | 2006-01-03 | 2007-07-19 | Microsoft Corporation | Query aggregation |
US7685092B2 (en) * | 2006-01-26 | 2010-03-23 | International Business Machines Corporation | Automatic problem-oriented transformation of database performance data |
US7788227B1 (en) | 2006-03-03 | 2010-08-31 | Microsoft Corporation | Schema signing and just-in-time installation |
EP2021953A2 (en) * | 2006-05-16 | 2009-02-11 | Targit A/S | A method of preparing an intelligent dashboard for data monitoring |
US8285677B2 (en) * | 2006-06-30 | 2012-10-09 | International Business Machines Corporation | Method and apparatus for propagating tables while preserving cyclic foreign key relationships |
DK176532B1 (en) * | 2006-07-17 | 2008-07-14 | Targit As | Procedure for integrating documents with OLAP using search, computer-readable medium and computer |
US7979425B2 (en) * | 2006-10-25 | 2011-07-12 | Google Inc. | Server-side match |
US20080114733A1 (en) * | 2006-11-14 | 2008-05-15 | Microsoft Corporation | User-structured data table indexing |
US8909599B2 (en) | 2006-11-16 | 2014-12-09 | Oracle International Corporation | Efficient migration of binary XML across databases |
US8260783B2 (en) * | 2007-02-27 | 2012-09-04 | Siemens Aktiengesellschaft | Storage of multiple, related time-series data streams |
US20080222189A1 (en) * | 2007-03-06 | 2008-09-11 | Microsoft Corporation | Associating multidimensional data models |
US9715710B2 (en) * | 2007-03-30 | 2017-07-25 | International Business Machines Corporation | Method and system for forecasting using an online analytical processing database |
US8000996B1 (en) | 2007-04-10 | 2011-08-16 | Sas Institute Inc. | System and method for markdown optimization |
US8160917B1 (en) | 2007-04-13 | 2012-04-17 | Sas Institute Inc. | Computer-implemented promotion optimization methods and systems |
US8160997B1 (en) | 2007-04-24 | 2012-04-17 | Amdoes Software Systems Limted | System, method and computer program product for managing aging data in a database schema |
DK176516B1 (en) * | 2007-04-30 | 2008-06-30 | Targit As | Computer-implemented method and computer system and computer readable medium for low video, pod-cast or slide presentation from Business-Intelligence-application |
US7779041B2 (en) * | 2007-05-02 | 2010-08-17 | Sap Ag | Anonymizing infocube data |
US8209294B2 (en) * | 2007-06-15 | 2012-06-26 | Oracle International Corporation | Dynamic creation of database partitions |
US8135688B2 (en) * | 2007-06-15 | 2012-03-13 | Oracle International Corporation | Partition/table allocation on demand |
US20090055439A1 (en) * | 2007-08-24 | 2009-02-26 | Ketera Technologies, Inc. | Flexible Dimension Approach In A Data Warehouse |
US7930200B1 (en) | 2007-11-02 | 2011-04-19 | Sas Institute Inc. | Computer-implemented systems and methods for cross-price analysis |
US10437887B1 (en) | 2007-11-12 | 2019-10-08 | Google Llc | Determining intent of text entry |
US8775407B1 (en) | 2007-11-12 | 2014-07-08 | Google Inc. | Determining intent of text entry |
US8150850B2 (en) * | 2008-01-07 | 2012-04-03 | Akiban Technologies, Inc. | Multiple dimensioned database architecture |
US8082239B2 (en) | 2008-02-04 | 2011-12-20 | Microsoft Corporation | Defining sub-cube scope based upon a query |
US7958122B2 (en) * | 2008-03-05 | 2011-06-07 | Microsoft Corporation | Data domains in multidimensional databases |
US8108431B1 (en) * | 2008-03-24 | 2012-01-31 | Autotelika, Incorporated | Two-dimensional data storage system |
US7856416B2 (en) * | 2008-04-22 | 2010-12-21 | International Business Machines Corporation | Automated latent star schema discovery tool |
US8812338B2 (en) | 2008-04-29 | 2014-08-19 | Sas Institute Inc. | Computer-implemented systems and methods for pack optimization |
US8195645B2 (en) * | 2008-07-23 | 2012-06-05 | International Business Machines Corporation | Optimized bulk computations in data warehouse environments |
US8825646B1 (en) * | 2008-08-08 | 2014-09-02 | Google Inc. | Scalable system for determining short paths within web link network |
US8296182B2 (en) * | 2008-08-20 | 2012-10-23 | Sas Institute Inc. | Computer-implemented marketing optimization systems and methods |
US20100057685A1 (en) * | 2008-09-02 | 2010-03-04 | Qimonda Ag | Information storage and retrieval system |
US8484351B1 (en) | 2008-10-08 | 2013-07-09 | Google Inc. | Associating application-specific methods with tables used for data storage |
US20100131457A1 (en) * | 2008-11-26 | 2010-05-27 | Microsoft Corporation | Flattening multi-dimensional data sets into de-normalized form |
US8271318B2 (en) | 2009-03-26 | 2012-09-18 | Sas Institute Inc. | Systems and methods for markdown optimization when inventory pooling level is above pricing level |
US8321390B2 (en) * | 2009-06-11 | 2012-11-27 | Vivek Swarnakar | Methods and apparatus for organizing data in a database |
US9438413B2 (en) * | 2010-01-08 | 2016-09-06 | Novell, Inc. | Generating and merging keys for grouping and differentiating volumes of files |
US20110082855A1 (en) * | 2009-10-01 | 2011-04-07 | Al-Omari Awny K | Multi-dimensional access to data |
KR101639574B1 (en) * | 2009-12-30 | 2016-07-14 | 삼성전자주식회사 | Image processing system supplying adaptive bank address and address mapping method thereof |
US20110179090A1 (en) * | 2010-01-21 | 2011-07-21 | Siemens Product Lifecycle Management Software Inc. | Product Lifecycle Management Using a Sparsely Populated Table |
US8918388B1 (en) * | 2010-02-26 | 2014-12-23 | Turn Inc. | Custom data warehouse on top of mapreduce |
US8515835B2 (en) | 2010-08-30 | 2013-08-20 | Sas Institute Inc. | Systems and methods for multi-echelon inventory planning with lateral transshipment |
KR101188886B1 (en) * | 2010-10-22 | 2012-10-09 | 삼성에스디에스 주식회사 | System and method for managing genetic information |
US9292575B2 (en) * | 2010-11-19 | 2016-03-22 | International Business Machines Corporation | Dynamic data aggregation from a plurality of data sources |
US8688497B2 (en) | 2011-01-10 | 2014-04-01 | Sas Institute Inc. | Systems and methods for determining pack allocations |
US8788315B2 (en) | 2011-01-10 | 2014-07-22 | Sas Institute Inc. | Systems and methods for determining pack allocations |
US8311975B1 (en) | 2011-02-28 | 2012-11-13 | Allan Michael Gonsalves | Data warehouse with a domain fact table |
US20120311474A1 (en) * | 2011-06-02 | 2012-12-06 | Microsoft Corporation | Map-based methods of visualizing relational databases |
US8676801B2 (en) | 2011-08-29 | 2014-03-18 | Sas Institute Inc. | Computer-implemented systems and methods for processing a multi-dimensional data structure |
US9182913B2 (en) * | 2011-10-18 | 2015-11-10 | Ubiterra Corporation | Apparatus, system and method for the efficient storage and retrieval of 3-dimensionally organized data in cloud-based computing architectures |
US8612491B2 (en) * | 2011-10-25 | 2013-12-17 | The United States Of America, As Represented By The Secretary Of The Navy | System and method for storing a dataset of image tiles |
US8938416B1 (en) * | 2012-01-13 | 2015-01-20 | Amazon Technologies, Inc. | Distributed storage of aggregated data |
US9223847B2 (en) * | 2012-03-07 | 2015-12-29 | Microsoft Technology Licensing, Llc | Using dimension substitutions in OLAP cubes |
US8694508B2 (en) * | 2012-06-04 | 2014-04-08 | Sap Ag | Columnwise storage of point data |
US9465835B2 (en) | 2012-06-25 | 2016-10-11 | Sap Se | Columnwise spatial aggregation |
US8812488B2 (en) | 2012-08-16 | 2014-08-19 | Oracle International Corporation | Constructing multidimensional histograms for complex spatial geometry objects |
US9047314B1 (en) * | 2012-09-27 | 2015-06-02 | The Mathworks, Inc. | Creating and using dynamic vector classes |
US9514187B2 (en) | 2012-09-28 | 2016-12-06 | Oracle International Corporation | Techniques for using zone map information for post index access pruning |
US9430550B2 (en) | 2012-09-28 | 2016-08-30 | Oracle International Corporation | Clustering a table in a relational database management system |
US8996544B2 (en) | 2012-09-28 | 2015-03-31 | Oracle International Corporation | Pruning disk blocks of a clustered table in a relational database management system |
US9858326B2 (en) * | 2012-10-10 | 2018-01-02 | Microsoft Technology Licensing, Llc | Distributed data warehouse |
US9442949B2 (en) * | 2013-03-14 | 2016-09-13 | Futurewei Technologies, Inc. | System and method for compressing data in a database |
US10642837B2 (en) | 2013-03-15 | 2020-05-05 | Oracle International Corporation | Relocating derived cache during data rebalance to maintain application performance |
US9501526B2 (en) | 2013-04-17 | 2016-11-22 | Excalibur Ip, Llc | Efficient database searching |
US9390162B2 (en) * | 2013-04-25 | 2016-07-12 | International Business Machines Corporation | Management of a database system |
WO2014189511A1 (en) * | 2013-05-23 | 2014-11-27 | Intel Corporation | Techniques for organizing three-dimensional array data |
US9922062B2 (en) * | 2013-07-16 | 2018-03-20 | Clearag, Inc. | High-performance gridded data storage, arrangement and extraction |
US9317529B2 (en) | 2013-08-14 | 2016-04-19 | Oracle International Corporation | Memory-efficient spatial histogram construction |
US9959312B2 (en) | 2013-09-05 | 2018-05-01 | Sybase, Inc. | High performance index creation on sorted data using parallel query plans |
US9836519B2 (en) | 2013-09-20 | 2017-12-05 | Oracle International Corporation | Densely grouping dimensional data |
US9740718B2 (en) | 2013-09-20 | 2017-08-22 | Oracle International Corporation | Aggregating dimensional data using dense containers |
US9990398B2 (en) | 2013-09-20 | 2018-06-05 | Oracle International Corporation | Inferring dimensional metadata from content of a query |
US10002160B2 (en) * | 2013-12-23 | 2018-06-19 | Teradata Us, Inc. | Parallelizable gridded geospatial join (PGGJ) |
US8990212B1 (en) * | 2014-03-27 | 2015-03-24 | Visier Solutions, Inc. | Systems and methods of mapping multidimensional data and executing queries |
US10468126B1 (en) | 2014-08-19 | 2019-11-05 | Multiscale Health Networks, Llc. | Clinical activity network generation |
CN104778212B (en) * | 2014-12-19 | 2018-08-07 | 北京搜狗科技发展有限公司 | Map datum generation method and device, map datum read method and device |
US9946705B2 (en) * | 2015-06-29 | 2018-04-17 | International Business Machines Corporation | Query processing using a dimension table implemented as decompression dictionaries |
US10341459B2 (en) | 2015-09-18 | 2019-07-02 | International Business Machines Corporation | Personalized content and services based on profile information |
US10783142B2 (en) | 2015-10-23 | 2020-09-22 | Oracle International Corporation | Efficient data retrieval in staged use of in-memory cursor duration temporary tables |
US10642831B2 (en) | 2015-10-23 | 2020-05-05 | Oracle International Corporation | Static data caching for queries with a clause that requires multiple iterations to execute |
US10678792B2 (en) | 2015-10-23 | 2020-06-09 | Oracle International Corporation | Parallel execution of queries with a recursive clause |
CN105354272B (en) * | 2015-10-28 | 2018-08-28 | 中通服公众信息产业股份有限公司 | A kind of index calculating method and system based on dimension combination |
US10545959B2 (en) * | 2015-12-22 | 2020-01-28 | Teradata Us, Inc. | Method and a system for efficient data sorting |
US10437832B2 (en) * | 2016-05-19 | 2019-10-08 | Microsoft Technology Licensing, Llc | Reconciling foreign key references and table security policies |
US10558659B2 (en) | 2016-09-16 | 2020-02-11 | Oracle International Corporation | Techniques for dictionary based join and aggregation |
US10902022B2 (en) * | 2017-03-28 | 2021-01-26 | Shanghai Kyligence Information Technology Co., Ltd | OLAP pre-calculation model, automatic modeling method, and automatic modeling system |
US10248641B2 (en) * | 2017-03-31 | 2019-04-02 | Mckesson Corporation | Method, apparatus, and computer program product for managing retrieval of content for display by a browser |
US10877997B2 (en) * | 2017-06-28 | 2020-12-29 | International Business Machines Corporation | Clustering database data |
US11086876B2 (en) | 2017-09-29 | 2021-08-10 | Oracle International Corporation | Storing derived summaries on persistent memory of a storage device |
US10896225B2 (en) * | 2018-05-23 | 2021-01-19 | Singlestore, Inc. | Bitmap filter, a method of generating the same, and a method of using a bitmap filter to perform a join |
WO2020018321A1 (en) | 2018-07-18 | 2020-01-23 | Walmart Apollo, Llc | System and method for product assortment management |
US10394859B1 (en) * | 2018-10-19 | 2019-08-27 | Palantir Technologies Inc. | Systems and methods for processing and displaying time-related geospatial data |
US11222018B2 (en) | 2019-09-09 | 2022-01-11 | Oracle International Corporation | Cache conscious techniques for generation of quasi-dense grouping codes of compressed columnar data in relational database systems |
US11126401B2 (en) | 2019-09-18 | 2021-09-21 | Bank Of America Corporation | Pluggable sorting for distributed databases |
US11016978B2 (en) | 2019-09-18 | 2021-05-25 | Bank Of America Corporation | Joiner for distributed databases |
US11775757B2 (en) | 2020-05-04 | 2023-10-03 | International Business Machines Corporation | Automated machine-learning dataset preparation |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5359724A (en) | 1992-03-30 | 1994-10-25 | Arbor Software Corporation | Method and apparatus for storing and retrieving multi-dimensional data in computer memory |
AU4199396A (en) * | 1994-11-21 | 1996-06-17 | Oracle Corporation | Method and apparatus for multidimensional database using binary hyperspatial code |
US5848408A (en) * | 1997-02-28 | 1998-12-08 | Oracle Corporation | Method for executing star queries |
US5978788A (en) * | 1997-04-14 | 1999-11-02 | International Business Machines Corporation | System and method for generating multi-representations of a data cube |
US6205447B1 (en) * | 1997-06-30 | 2001-03-20 | International Business Machines Corporation | Relational database management of multi-dimensional data |
US5940818A (en) * | 1997-06-30 | 1999-08-17 | International Business Machines Corporation | Attribute-based access for multi-dimensional databases |
US5943668A (en) * | 1997-06-30 | 1999-08-24 | International Business Machines Corporation | Relational emulation of a multi-dimensional database |
US5905985A (en) | 1997-06-30 | 1999-05-18 | International Business Machines Corporation | Relational database modifications based on multi-dimensional database modifications |
US5926818A (en) * | 1997-06-30 | 1999-07-20 | International Business Machines Corporation | Relational database implementation of a multi-dimensional database |
US5918232A (en) * | 1997-11-26 | 1999-06-29 | Whitelight Systems, Inc. | Multidimensional domain modeling method and system |
US6427143B1 (en) * | 1998-04-10 | 2002-07-30 | Computer Associates Think, Inc. | Method for loading rows into a database table while enforcing constraints |
US6189004B1 (en) * | 1998-05-06 | 2001-02-13 | E. Piphany, Inc. | Method and apparatus for creating a datamart and for creating a query structure for the datamart |
US6212524B1 (en) * | 1998-05-06 | 2001-04-03 | E.Piphany, Inc. | Method and apparatus for creating and populating a datamart |
US6295539B1 (en) * | 1998-09-14 | 2001-09-25 | Computer Associates Think, Inc. | Dynamic determination of optimal process for enforcing constraints |
US6212515B1 (en) * | 1998-11-03 | 2001-04-03 | Platinum Technology, Inc. | Method and apparatus for populating sparse matrix entries from corresponding data |
US6282544B1 (en) * | 1999-05-24 | 2001-08-28 | Computer Associates Think, Inc. | Method and apparatus for populating multiple data marts in a single aggregation process |
US6163774A (en) * | 1999-05-24 | 2000-12-19 | Platinum Technology Ip, Inc. | Method and apparatus for simplified and flexible selection of aggregate and cross product levels for a data warehouse |
US6446063B1 (en) * | 1999-06-25 | 2002-09-03 | International Business Machines Corporation | Method, system, and program for performing a join operation on a multi column table and satellite tables |
US6374235B1 (en) * | 1999-06-25 | 2002-04-16 | International Business Machines Corporation | Method, system, and program for a join operation on a multi-column table and satellite tables including duplicate values |
US6438562B1 (en) * | 1999-08-24 | 2002-08-20 | Oracle Corporation | Parallel index maintenance |
US6484179B1 (en) * | 1999-10-25 | 2002-11-19 | Oracle Corporation | Storing multidimensional data in a relational database management system |
-
1999
- 1999-10-25 US US09/427,202 patent/US6484179B1/en not_active Expired - Lifetime
-
2000
- 2000-10-18 JP JP2001535850A patent/JP3979846B2/en not_active Expired - Lifetime
- 2000-10-18 EP EP00972283A patent/EP1242915A2/en not_active Withdrawn
- 2000-10-18 CA CA2403969A patent/CA2403969C/en not_active Expired - Lifetime
- 2000-10-18 AU AU10966/01A patent/AU765989B2/en not_active Expired
- 2000-10-18 WO PCT/US2000/028969 patent/WO2001033427A2/en active IP Right Grant
-
2002
- 2002-08-30 US US10/232,581 patent/US6636870B2/en not_active Expired - Lifetime
-
2003
- 2003-05-09 US US10/435,428 patent/US6778996B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US20030208503A1 (en) | 2003-11-06 |
WO2001033427A3 (en) | 2002-07-04 |
US6636870B2 (en) | 2003-10-21 |
AU765989B2 (en) | 2003-10-09 |
AU1096601A (en) | 2001-05-14 |
JP3979846B2 (en) | 2007-09-19 |
WO2001033427A2 (en) | 2001-05-10 |
US20030055832A1 (en) | 2003-03-20 |
EP1242915A2 (en) | 2002-09-25 |
US6778996B2 (en) | 2004-08-17 |
US6484179B1 (en) | 2002-11-19 |
JP2003514281A (en) | 2003-04-15 |
CA2403969C (en) | 2010-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2403969A1 (en) | Storing multidimensional data in a relational database management system | |
JP2003514281A5 (en) | ||
CN106528773B (en) | Map computing system and method based on Spark platform supporting spatial data management | |
Beckmann et al. | A revised R*-tree in comparison with related index structures | |
McCain | Longitudinal author cocitation mapping: The changing structure of macroeconomics | |
EP0913967A3 (en) | System and method for providing database acces control in a secure distributed network | |
CN108647332B (en) | Administrative division space information organization method based on global grid | |
CN108984620B (en) | Design method of dynamic extensible relational database | |
EP0952698A3 (en) | System and method for restricting database access to managed object information using a permissions table | |
CN105528460A (en) | Establishing method of tile pyramid model and tile reading method | |
CN104112008A (en) | Multi-table data association inquiry optimizing method and device | |
CN109492060A (en) | A kind of map tile storage method based on MBTiles | |
Longton et al. | What are rare species and why conserve them? | |
CN102521304A (en) | Hash based clustered table storage method | |
CN1416078A (en) | Data processing method of monitoring system | |
CN106528756A (en) | Network map data organization method based on space-time relevance | |
CN102567432B (en) | Intelligent information adaptation method and device for the same | |
CN103218433A (en) | Method and module for managing metadata applied to random access | |
Nagendra et al. | Skyline-sensitive joins with LR-pruning | |
Hjaltason et al. | Improved bulk-loading algorithms for quadtrees | |
CN103207835A (en) | Mass data storage method through self-adaptive Range partitions | |
Alfonso‐Sánchez et al. | Inbreeding levels and consanguinity structure in the Basque province of Guipúzcoa (1862–1980) | |
CN101719134A (en) | Information control system and method | |
CN115408382A (en) | Vector space information gridding storage management method for large-scale satellite data | |
Samet | Object-based and image-based object representations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKEX | Expiry |
Effective date: 20201019 |