Aggregation framework system architecture and method
First Claim
1. A computer implemented method for consistent execution of aggregation expressions, the method comprising the acts of:
- determining, by a computer system, an optimization for execution of an aggregation operation, wherein the aggregation operation includes a plurality of data operations on a non-relational database including an aggregation expression operation;
determining, by the computer system, a set of responsive data objects for input into the aggregation expression;
flattening, by the computer system, data content stored within each data object of the set of responsive data objects based on a specified attribute, wherein the act of flattening includes generating a new data object for each respective data record, stored within an array or as a reference to another data object within a respective data object, matching the specified attribute;
executing, by the computer system, the aggregation expression against the flattened data content.
1 Assignment
0 Petitions
Accused Products
Abstract
Database systems and methods that implement a data aggregation framework are provided. The framework can be configured to optimize aggregate operations over non-relational distributed databases, including, for example, data access, data retrieval, data writes, indexing, etc. Various embodiments are configured to aggregate multiple operations and/or commands, where the results (e.g., database documents and computations) captured from the distributed database are transformed as they pass through an aggregation operation. The aggregation operation can be defined as a pipeline which enables the results from a first operation to be redirected into the input of a subsequent operation, which output can be redirected into further subsequent operations. Computations may also be executed at each stage of the pipeline, where each result at each stage can be evaluated by the computation to return a result. Execution of the pipeline can be optimized based on data dependencies and re-ordering of the pipeline operations.
-
Citations
20 Claims
-
1. A computer implemented method for consistent execution of aggregation expressions, the method comprising the acts of:
-
determining, by a computer system, an optimization for execution of an aggregation operation, wherein the aggregation operation includes a plurality of data operations on a non-relational database including an aggregation expression operation; determining, by the computer system, a set of responsive data objects for input into the aggregation expression; flattening, by the computer system, data content stored within each data object of the set of responsive data objects based on a specified attribute, wherein the act of flattening includes generating a new data object for each respective data record, stored within an array or as a reference to another data object within a respective data object, matching the specified attribute; executing, by the computer system, the aggregation expression against the flattened data content. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A distributed database system for consistent execution of aggregation expressions the system comprising:
-
at least one processor operatively connected to a memory; a router component, executed by the at least one processor, configured to; receive database requests from computer executed processes, and route the database requests to a plurality of database access managers over a communication network; an aggregation engine, executed by the at least one processor, configured to; identify an aggregation operation including a plurality of data operations that include an aggregation expression operation; determine a set of responsive data objects for input into the aggregation expression; flatten data content stored within each data object based on a specified attribute, wherein the act of flattening includes generating a new data object for each respective data record that is stored within an array or as a reference to another data object within a respective data object and matches the specified attribute; and execute the aggregation expression against the flattened data content. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification