Aggregation framework system architecture and method
First Claim
1. A computer implemented method for executing aggregation operations in a non-relational database architecture, the method comprising the acts of:
- receiving, at a database routing system, a plurality of database requests from network entities;
routing, by the database routing system, the plurality of database requests to at least one of a plurality of database access managers over a communication network;
automatically identifying, by an aggregation engine, an aggregation operation within the plurality of database requests, wherein the aggregation operation includes a plurality of data operations, and wherein the act of identifying includes an act of identifying a sequence of execution wherein an execution of a first operation in the sequence of execution enables optimization of a subsequent operation in the sequence of execution;
determining, by the aggregation engine, an optimization to minimize computation time associated with execution of the plurality of data operations; and
modifying, by the aggregation engine, a default execution of at least one of the plurality of data operations to optimize execution of the at least one of the plurality of data operations.
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
27 Claims
-
1. A computer implemented method for executing aggregation operations in a non-relational database architecture, the method comprising the acts of:
-
receiving, at a database routing system, a plurality of database requests from network entities; routing, by the database routing system, the plurality of database requests to at least one of a plurality of database access managers over a communication network; automatically identifying, by an aggregation engine, an aggregation operation within the plurality of database requests, wherein the aggregation operation includes a plurality of data operations, and wherein the act of identifying includes an act of identifying a sequence of execution wherein an execution of a first operation in the sequence of execution enables optimization of a subsequent operation in the sequence of execution; determining, by the aggregation engine, an optimization to minimize computation time associated with execution of the plurality of data operations; and modifying, by the aggregation engine, a default execution of at least one of the plurality of data operations to optimize execution of the at least one of the plurality of data operations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A distributed database system for optimizing aggregation operations in a non-relational database architecture, the system comprising:
-
at least one processor operatively connected to a memory, the processor when executing is configured to execute a plurality of system components, wherein the plurality of system components include; a router component configured to; receive database requests from network entities, and route the plurality of database requests to a plurality of database access managers over a communication network; an aggregation engine configured to; automatically identify an aggregation operation within the plurality of database requests, wherein the aggregation operation includes a plurality of data operations, determine an optimization to minimize computation time associated with execution of the plurality of data operations, modify a default execution of at least one of the plurality of data operations to optimize execution of at least one of the plurality of data operations, and communicate the aggregation operation having at least one optimization; and wherein the plurality of database managers are configured to execute the modified operations and return the resultant data from the distributed database to the network entities. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
Specification