Querying multidimensional data with independent fact and dimension pipelines combined at query time
AssigneeGoogle Inc.
InventorsBenjamin Weinberger, Manoj Plakal, Will Robinson
Life of this patent
Estimating the term…
Abstract
Separate subsystems are dedicated to handle fact and dimension data storage and retrieval in an optimized manner. Each subsystem acquires, processes, and stores its data separately in a manner appropriate to the characteristics of that data. A query engine combines the data from each subsystem at query time. When a user queries the system, the query engine interacts with each of the subsystems to fetch the data needed to generate a single result set.
Claims25
A method performed by data processing apparatus, the method comprising:
- receiving a query that includes grouping information and filtering information;
- receiving, from a first computing device optimized for dimension data, a key identified from dimension data processed by the first computing device, and based at least in part on the filtering information;
- obtaining, from a second computing device optimized for fact data, a plurality of query results from fact data processed by the second computing device and based at least in part on the received grouping information;
- filtering the query results using the received key;
- and
- generating a result set based, at least in part, on the filtered query results.
A system comprising:
- two or more computing devices, the two or more computing devices comprising:
- a first computing device optimized for dimension data and
- a second computing device optimized for fact data,
- wherein one of the two or more computing devices is configured to perform operations comprising:
- receiving a query that includes grouping information and filtering information;
- receiving, from the first computing device, a key identified from dimension data processed by the first computing device, and based at least in part on the filtering information;
- obtaining, from the second computing device, a plurality of query results from fact data processed by the second computing device, and based at least in part on the received grouping information;
- filtering the query results using the received key;
- and
- generating a result set based, at least in part, on the filtered query results.
A non-transitory computer-readable storage medium having instructions stored thereon, the instructions operable to cause one or more computing devices to perform operations comprising:
- receiving a query that includes grouping information and filtering information;
- receiving, from a first computing device optimized for dimension data, a key being identified from dimension data processed by the first computing device, and based at least in part on the filtering information;
- obtaining, from a second computing device optimized for fact data, a plurality of query results from fact data processed by the second computing device and based at least in part on the received grouping information;
- filtering the query results using the received key;
- and
- generating a result set based, at least in part, on the filtered query results.
Dependencies are inferred from the claim text.