Abstract:
A database server receives a request to perform a primary query on a table of a database. A first table query can be generated and can include a starting row identifier, ROW A, and a number of rows, n, for generating a data chunk from the table of the database. Multiple table queries can be performed each having a different starting row identifier and each defining the number of rows forming a data chunk. The primary query can be extended with the first table query in preparation for performing the primary query on the first data chunk.
Abstract:
A calculation engine is described that executes calculation scenarios comprising a plurality of calculation nodes that 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 including handling of hierarchy views. Related apparatus, systems, methods, and articles are also described.
Abstract:
Methods and apparatus, including computer program products, are provided for first and last aggregation. In one aspect, there is provided a method, which may include receiving, by a calculation engine, a query; detecting, by the calculation engine, whether the query includes a first aggregation and/or a last aggregation over at least one group and at least one keyfigure; optimizing the received query, when the detecting indicates the received query includes the first aggregation and/or the last aggregation, wherein the optimizing further comprises initiating execution of the received query by at least: performing a single read of a table, detecting, from the single table read, at least one group, and indicating, in the detected at least one group, the first aggregation in the at least one keyfigure and/or the last aggregation in the at least one keyfigure; and returning, for the at least one detected group, the indicated first aggregation and/or the indicated second aggregation. Related apparatus, systems, methods, and articles are also described.
Abstract:
A query is received by a database server from a remote application server that is associated with a calculation scenario that defines a data flow model including one or more calculation nodes including stacked multiproviders. Subsequently, the database server instantiates the calculation scenario and afterwards optimizes the calculation scenario. As part of the optimization, the calculation scenario is optimized by merging the two multiproviders. Thereafter, the operations defined by the calculation nodes of the optimized calculation scenario can be executed to result in a responsive data set. Next, the data set is provided to the application server by the database server.
Abstract:
Described herein includes a calculation scenario of a calculation engine that efficiently partitions data for processing at separate hosts, including in parallel, and unions intermediate results from such separate processing when required for further processing. Such parallel processing of partitions can allow for faster processing times, and such unioning of data only when required for further processing can limit the transferring of data that results in slower processing.
Abstract:
A calculation engine of a database management system is described. The calculation engine may receive a query associated with a calculation scenario that defines a data flow model. The data flow model may include one or more calculation nodes, each of which corresponding to an operation performed on one or more database tables stored at a database. The one or more calculation nodes may include at least one calculation node corresponding to a ranking filter operation. The calculation engine may execute the query including by executing the calculation scenario. The executing of the calculation scenario may include performing the ranking filter operation to generate a result corresponding to at least a portion of rows included in a first partition of a database table stored at the database. Related systems, methods, and articles of manufacture are provided.
Abstract:
A calculation engine of a database management system is described. In some implementations, the calculation engine receives a calculation scenario including a plurality of calculation views comprising one or more relational operations. The calculation engine determines whether a first calculation view includes a second calculation view configured as an operand of one of the relational operations of the first calculation view, and also determines whether the second calculation view comprises a non-relational operation. The calculation engine further converts the plurality of calculation views into a calculation plan via merging the first calculation view with the second calculation view when the first calculation view is determined to comprise the second calculation view as an operand, and replacing the second calculation view with a view search operation when the second calculation view is determined to comprise the non-relational operation. Related systems, methods, and articles of manufacture are also described.
Abstract:
A calculation engine of a database management system is described. In some implementations, the calculation engine receives a calculation scenario including a plurality of join operations defining an intersection between at least two nodes. The calculation engine optimizes a first join which is of a certain cardinality, and for which no attributes are requested, other than a join attribute. The optimization includes determining whether a static filter is present for a first node or a second node of the first join, and pruning the first node and/or the second node from the hierarchical join when the attribute is not requested from the first node or the second node and/or when the static filter is not present for the first node or the second node. Related systems, methods, and articles of manufacture are also described.
Abstract:
Described herein includes a calculation scenario of a calculation engine that efficiently filters and joins data for processing. The calculation engine enhances the performance of the join operations by allowing join inputs to be pre-filtered more effectively. Such join operations can allow for faster processing times, and a reduction in the amount of data to be joined, resulting in more efficient processing.
Abstract:
Described herein includes a calculation scenario of a calculation engine that efficiently partitions data for processing at separate hosts, including in parallel, and unions intermediate results from such separate processing when required for further processing. Such parallel processing of partitions can allow for faster processing times, and such unioning of data only when required for further processing can limit the transferring of data that results in slower processing.