Patent application number | Description | Published |
20110320439 | Cooperative Model Between An Application Server And A Database - Methods and apparatus, including computer program products, are provided for implementing a cooperative model between an application and a database. In one aspect, there is provided a computer-implemented method. The method may include receiving from an application a command to perform an operation at a database; accessing metadata representative of the application; configuring, based on at least the metadata, a result of the operation; and sending the configured result to shared memory accessible by the application. Related apparatus, systems, methods, and articles are also described. | 12-29-2011 |
20120005190 | PERFORMING COMPLEX OPERATIONS IN A DATABASE USING A SEMANTIC LAYER - The present invention includes a database with a semantic layer for performing standard SQL and complex operations custom to one or more application. In one embodiment the present invention includes receiving a data request from an application in a database, the data request specifying standard SQL operations and custom application operations to be performed for said application. The data request is processed in a semantic layer of the database. The semantic layer processes the standard SQL operations and the custom application operations and generates a logical execution plan comprising the standard SQL operations and the custom application operations. The logical execution plan is converted into a physical execution plan, which is executed by the database to generate a data result. The data result may be sent back to the application. | 01-05-2012 |
20120109934 | DATABASE CALCULATION ENGINE - A select query or a data referencing a calculation scenario is received by a database server from a remote application server. The specified calculation scenario is one of a plurality of calculation scenarios and it 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. Thereafter, the database server instantiates the specified calculation scenario and executes the operations defined by the calculation nodes of the instantiated calculation scenario to result in a responsive data set. This data set is then provided by the database server to the application server. Related apparatus, systems, techniques and articles are also described. | 05-03-2012 |
20120130942 | OLAP Execution Model Using Relational Operations - In one embodiment the present invention includes an OLAP execution model using relational operations. In one embodiment, the present invention includes, a method comprising receiving a first query in an online analytic processor (OLAP) executing on one or more computers, the OLAP generating and comprising a model specifying a graph defining a plurality of nodes and a plurality of tiers, each node corresponding to a different operation on data. A second query is generated by the OLAP. The second query includes a plurality of layered subqueries each corresponding to one of the nodes in the graph for specifying the different operations on data. The second query is received in a relational engine coupled to the datastore. The relational engine executes the second query, and in accordance therewith, retrieves data. | 05-24-2012 |
20120221549 | Database Calculation Engine - A select query or a data referencing a calculation scenario is received by a database server from a remote application server. The specified calculation scenario is one of a plurality of calculation scenarios and it 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. Thereafter, the database server instantiates the specified calculation scenario and executes the operations defined by the calculation nodes of the instantiated calculation scenario to result in a responsive data set. This data set is then provided by the database server to the application server. Related apparatus, systems, techniques and articles are also described. | 08-30-2012 |
20130166566 | ACCELERATED QUERY OPERATORS FOR HIGH-SPEED, IN-MEMORY ONLINE ANALYTICAL PROCESSING QUERIES AND OPERATIONS - An additional data structure can be initialized for a column of compressed data to include a prefix storing, for each block of values in the column, a total number of bits set in previous blocks in the bit vector. A block number can be determined for a target block of the plurality of blocks, for example by checking whether or not a specified row number is located in the prefix. If the specified row number is located in the prefix, the prefix value of the prefix is returned, the most frequently occurring value is returned if a corresponding bit in the bit vector in the specified row number is not located in the prefix, or a position of the specified row in an index vector for the column is returned. | 06-27-2013 |
20130290292 | Augmented Query Optimization by Data Flow Graph Model Optimizer - A query is received, and in response, an initial data flow graph is generated that includes a plurality of nodes for executing the query with at least one of the nodes having at least one associated hint. The initial data flow graph is subsequently optimized using a model optimizer having a rules engine using a plurality rules to optimize the initial data flow graph. The at least one associated hint is used by the model optimizer to change how at least one of the plurality of rules is applied. Thereafter, execution of the query is initiated using the optimized data flow graph. Related apparatus, systems, techniques and articles are also described. | 10-31-2013 |
20130290293 | Calculating Count Distinct Using Vertical Unions - A query statement is received that specifies a count distinct. Thereafter, a data flow graph that comprises a plurality of nodes for executing the query is generated. The nodes provide aggregation operations, sorting of results on join attributes and vertically appending columns of count distinct results with intermediate results from at least one of the aggregation operations. Thereafter, execution of the query is initiated using the data flow graph. Related apparatus, systems, techniques and articles are also described. | 10-31-2013 |
20130290297 | Rule-Based Extendable Query Optimizer - A query is received which causes an initial data flow graph that includes a plurality of nodes that are used to execute the query is generated. Thereafter, the initial data flow graph is optimized using a model optimizer that includes an optimizer framework and an application programming interface (API). The optimizer framework provides logic to restructure the initial data flow graph and a rules engine for executing one or more optimization rules. The API allows for registration of new optimization rules to be executed by the rules engine. Execution of the query is then initiated using the optimized data flow graph. Related apparatus, systems, techniques and articles are also described. | 10-31-2013 |
20130290298 | Data Flow Graph Optimization Using Adaptive Rule Chaining - A query is received and an initial data flow graph comprising a plurality of nodes is generated for executing the query. The initial data flow graph is optimized using a model optimizer that accesses at least one of a plurality of patterns to identify a matching pattern and executes at least one optimization rule associated with a matching pattern. Execution of the query is then initiated using the optimized data flow graph. Related apparatus, systems, techniques and articles are also described. | 10-31-2013 |
20130290354 | Calculation Models Using Annotations For Filter Optimization - A query statement is received that requires at least one calculated attribute. Thereafter, a data flow graph is generated that includes a plurality of nodes for executing the query. At least one of the nodes corresponds to the at least one calculated attribute and has at least one level of child nodes. The data flow graph is generated by generating at least one filter for each of the nodes corresponding to the at least one calculated attribute and by pushing down the generated filters to a corresponding child node. Once the data flow graph is generated, execution of the query can be initiated using the generated data flow graph. Related apparatus, systems, techniques and articles are also described. | 10-31-2013 |
20130325874 | Columnwise Storage of Point Data - A database query of point data among two or more axes of a database is received. The database stores point data in distinct integer vectors with a shared dictionary. Thereafter, the dictionary is scanned to determine boundaries for each axis specified by the query. In response, results characterizing data responsive to the query within the determined boundaries for each axis are returned. Related apparatus, systems, techniques and articles are also described. | 12-05-2013 |
20130346392 | Columnwise Range K-Nearest Neighbors Search Queries - A range k-nearest neighbor search query of a database is processed by first defining an inner rectangle bounded within a circle around a center point specified by the range k-nearest neighbor search query. Thereafter, a distance to the center point is calculated for each point within the inner rectangle. Query results are returned if k or more points are within the inner rectangle. Otherwise, at least one additional query is executed. Related apparatus, systems, techniques and articles are also described. | 12-26-2013 |
20130346418 | Columnwise Spatial Aggregation - A spatial aggregation query of a database is processed by receiving data specifying a maximum bounded rectangle for point data responsive to the query and specifying one or more grid partitions of the maximum bounded rectangle (in which at least one of the partitions is partially aggregated. Thereafter, for each partition, a number of points responsive to the query in each partition and a center of gravity of the points in each partition is computed. Data characterizing the corresponding computed number of points and center of gravity is then provided (e.g., persisted, loaded, transmitted, displayed, etc.). Related apparatus, systems, techniques and articles are also described. | 12-26-2013 |
20140108331 | OLAP Execution Model Using Relational Operations - In one embodiment the present invention includes an OLAP execution model using relational operations. In one embodiment, the present invention includes, a method comprising receiving a first query in an online analytic processor (OLAP) executing on one or more computers, the OLAP generating and comprising a model specifying a graph defining a plurality of nodes and a plurality of tiers, each node corresponding to a different operation on data. A second query is generated by the OLAP. The second query includes a plurality of layered subqueries each corresponding to one of the nodes in the graph for specifying the different operations on data. The second query is received in a relational engine coupled to the datastore. The relational engine executes the second query, and in accordance therewith, retrieves data. | 04-17-2014 |
20140222828 | Columnwise Storage of Point Data - A database query of point data among two or more axes of a database is received. The database stores point data in distinct integer vectors with a shared dictionary. Thereafter, the dictionary is scanned to determine boundaries for each axis specified by the query. In response, results characterizing data responsive to the query within the determined boundaries for each axis are returned. Related apparatus, systems, techniques and articles are also described. | 08-07-2014 |
20140330807 | Rule-Based Extendable Query Optimizer - A query is received which causes an initial data flow graph that includes a plurality of nodes that are used to execute the query is generated. Thereafter, the initial data flow graph is optimized using a model optimizer that includes an optimizer framework and an application programming interface (API). The optimizer framework provides logic to restructure the initial data flow graph and a rules engine for executing one or more optimization rules. The API allows for registration of new optimization rules to be executed by the rules engine. Execution of the query is then initiated using the optimized data flow graph. Related apparatus, systems, techniques and articles are also described. | 11-06-2014 |
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 |
20140372409 | Data Flow Graph Optimization Using Adaptive Rule Chaining - A query is received and an initial data flow graph comprising a plurality of nodes is generated for executing the query. The initial data flow graph is optimized using a model optimizer that accesses at least one of a plurality of patterns to identify a matching pattern and executes at least one optimization rule associated with a matching pattern. Execution of the query is then initiated using the optimized data flow graph. Related apparatus, systems, techniques and articles are also described. | 12-18-2014 |
20150046411 | Managing and Querying Spatial Point Data in Column Stores - A query of spatial data is received by a database comprising a columnar data store storing data in a column-oriented structure. Thereafter, a spatial data set is mapped to physical storage in the database using a space-filling curve. The spatial data set is then compacted and such compacted data can be used to retrieve data from the database that is responsive to the query. Related apparatus, systems, techniques and articles are also described. | 02-12-2015 |