Patent application number | Description | Published |
20140344244 | Calculation Engine with Dynamic Partitioning of Intermediate Results - A query is received by a database server from a remote application server. The query is associated with a calculation model that defines a data flow model that includes a plurality of calculation nodes that each define one or more operations to execute on the database server. Thereafter, the database server dynamically determine, using at least one attribute of at least one dataset responsive to the query, that intermediate results provided by at least one of the operations specified by at least one of the nodes of the calculation model require partitioning. The database server then modifies the calculation model to partition operations on the at least one dataset based on the dynamic determination. The database server subsequently instantiates the modified calculation model so that it can be executed to generate at least one result set. | 11-20-2014 |
20140344245 | Calculation Engine with Optimized Multi-Part Querying - A database server receives a multi-part query from a remote application server. The multi-part query specifies a calculation scenario defining a data flow model that includes a plurality of calculation nodes that include a main section of nodes and two or more branches of nodes. Each calculation node defines one or more operations to execute on the database server. Thereafter, the database server instantiates the specified calculation scenario and additionally executes the operations defined by the calculation nodes of the main section of the instantiated calculation scenario a single time and executes the operations defined by the calculation nodes of the branches to result in respective responsive data sets corresponding to each branch. The responsive data sets are then provided by the database server to the application server. Related apparatus, systems, techniques and articles are also described. | 11-20-2014 |
20140358899 | On-The-Fly Calculation Scenario Provision During Query Runtime - A query is received by a database server from a remote application server. The query encapsulates an on-the-fly calculation scenario that defines a data flow model that includes one or more calculation nodes. Thereafter, the database server instantiates the on-the-fly calculation scenario. The database server then executes the operations defined by the calculation nodes of the instantiated calculation scenario to result in a responsive data set so that the database server can provide the data set to the application server. Related apparatus, systems, methods, and articles are also described. | 12-04-2014 |
20140365464 | Calculation Scenarios with Semantic Nodes - A calculation engine is described that executes calculation scenarios comprising a plurality of calculation nodes that each specify operations to be performed to execute the query. One of the nodes can be a semantic node that is used to modify the query for operations requiring special handling. Related apparatus, systems, methods, and articles are also described. | 12-11-2014 |
20140365465 | Optimization of Business Warehouse Filters on Complex Calculation Models - A query associated with a calculation scenario comprising a plurality of calculation nodes can be received by a calculation engine. The calculation scenario is instantiated and the query is transformed into a convex hull filter based on the at least one multiple selection condition that can be executed at any of the calculation nodes. The instantiated calculation scenario and the convex hull filter are executed to provide a result set. Related apparatus, systems, methods, and articles are also described. | 12-11-2014 |
20140372365 | Optimization of Business Warehouse Queries by Calculation Engines - A query is received by a database server from a remote application server. The query is associated with a calculation scenario that defines a data flow model that includes one or more calculation nodes with each calculation node defining one or more operations to execute on the database server. Thereafter, at least one of the calculation nodes is transformed into a star schema. Next, the database server instantiates the calculation scenario with the transformed at least one calculation node. Subsequently, a calculation engine of the database server executes the operations defined by the calculation nodes of the instantiated calculation scenario other than the transformed at least one calculation node and, additionally, an OLAP engine executes the transformed at least one calculation node to collectively result in a responsive data set. | 12-18-2014 |
20150120746 | Constant Mapping Optimization in a Database - A database server receives a query associated with a calculation scenario that defines a data flow model that includes one or more calculation nodes. Each calculation node defines one or more operations to execute on the database server, the database server comprising a column-oriented database. Thereafter, the database server instantiates the calculation scenario and executes the operations defined by the calculation nodes of the instantiated calculation scenario to result in a responsive data set having a result table with a row for each column in the column-oriented database implicated by the query having a constant value. The database server then provides the data set to the application server. Related apparatus, systems, methods, and articles are also described. | 04-30-2015 |
20150142773 | Optimizing Database Queries Having Hierarchy Filters - A query is received by a database server from a remote application server. The query is associated with a calculation scenario that defines a data flow model that includes one or more calculation nodes and that includes at least one hierarchy filter. Each hierarchy filter is a filter of at least one hierarchy table. Each calculation node defines one or more operations to execute on the database server. Thereafter, the database server instantiates the calculation scenario. The instantiating includes optimizing the calculation scenario by transforming at least one hierarchy filter and pushing down the at least one transformed hierarchy filter to a lower calculation node. The database server then executes the operations defined by the calculation nodes of the optimized calculation scenario to result in a responsive data set. The database server can subsequently provide the data set to the application server. | 05-21-2015 |
20150142774 | Join Optimization in a Database - A database server receives a query from a remote application server that is associated with a calculation scenario. The calculation scenario defines a data flow model that includes one or more calculation nodes that each define one or more operations to execute on the database server. The database server can be a column-oriented database and at least one of the calculation nodes comprises at least one join operation. Thereafter, the database server instantiates the calculation scenario so that it is optimized by removing one or more join operations and associated branches within the calculation scenario. The database server then executes the operations defined by the calculation nodes of the optimized calculation scenario to result in a responsive data set. The database server then provides the data set to the application server. | 05-21-2015 |
20150142777 | Consistent Aggregation in a Database - A query is received by a database server from a remote application server. The query is associated with a calculation scenario that defines a data flow model that includes one or more calculation nodes and that includes a pre-defined aggregation property. Each calculation node defines one or more operations to execute on the database server. The database server can include a column-oriented database. Thereafter, the database server instantiates the calculation scenario such that, based on the aggregation property, at least one non-aggregating operation specified by a calculation node is transformed into a aggregating operation based on a root node aggregation of the calculation scenario. Subsequently, the database server executes the operations defined by the calculation nodes of the optimized calculation scenario to result in a responsive data set. The database server then provides the data set to the application server. | 05-21-2015 |
20150261765 | Dynamic Resource-based Parallelization in Distributed Query Execution Frameworks - As part of query processing within a distributed execution environment framework, available resources taken into account when generating an execution plan and/or executing an execution plan to determine whether to parallelize any operations. Related apparatus, systems, methods and articles are also described. | 09-17-2015 |
20150261822 | Hierarchical Runtime Settings Within Distributed Query Execution Frameworks - A query is received by a database server from a remote application server. The query is associated with a calculation scenario that defines a data flow model that includes one or more calculation nodes. The calculation nodes each define one or more operations to execute by a calculation engine on the database server. Thereafter, the database server instantiates a runtime model of the calculation scenario by accessing a local settings object stored with the calculation scenario that specifies local settings for the calculation scenario. Subsequently, the database server executes the operations defined by the calculation nodes of the instantiated calculation scenario to result in a responsive data set. The data set can then be provided by the database server to the application server. | 09-17-2015 |
20150363463 | Integration of Optimization and Execution of Relational Calculation Models into SQL Layer - A query is received by a database server from a remote application server. The query is associated with a calculation scenario that defines a data flow model that includes one or more nodes that each define one or more operations for execution by a calculation engine on the database server. Thereafter, the database server instantiates a runtime model of the calculation scenario based on the nodes of the instantiated calculation scenario. Subsequently, one or more of the nodes are identified as being convertible into a relational database format. These nodes are then used to form a container node. An execution plan of the runtime model of the calculation scenario including the container node is built that is executed by the database server to result in a data set which is provided by the database server to the application server. | 12-17-2015 |