Entries |
Document | Title | Date |
20100082602 | Predicting Performance Of Multiple Queries Executing In A Database - One embodiment is a method that generates query vectors from query plans and performance vectors from data collected while executing multiple queries in a database. A machine learning technique (MLT) computes distances between two query vectors and two performance vectors and then predicts performance of plural queries executing in the database. | 04-01-2010 |
20100106714 | METHOD AND APPARATUS FOR AUTOMATIC CONFIGURATION OF META-HEURISTIC ALGORITHMS IN A PROBLEM SOLVING ENVIRONMENT - A methodology is presented to address the need for rapid generation and optimization of algorithms that are efficient in solving a given class of problems within the framework of a software environment. The environment incorporates an evolutionary learning methodology which automatically optimizes the configurations of procedural components of the algorithm. In this way, both the efficiency and the quality of algorithm development is enhanced significantly. | 04-29-2010 |
20100114868 | QUERY EXECUTION PLAN EFFICIENCY IN A DATABASE MANAGEMENT SYSTEM - An apparatus, system, and method are disclosed for improving query execution plan efficiency in a database management system. The present invention binds both static database queries and dynamic database queries to new query execution plans (QEPs) that produce the same result set as a former QEP bound to the database queries. Next, the present invention identifies one of the former QEPs and the new QEP as an active QEP and automatically collects execution statistics for one of the former QEPs and the new QEP. Finally, the present invention automatically selects one of the former QEPs and the new QEP as the active QEP in response to completion of the automatic collection of execution statistics, the active QEP selected such that the automatically selected QEP provides optimal execution performance based on performance criteria in comparison to the automatically unselected QEP, the active QEP selected based on the execution statistics. | 05-06-2010 |
20100114869 | GENERATING A QUERY PLAN FOR ESTIMATING A NUMBER OF UNIQUE ATTRIBUTES IN A DATABASE - In a method for generating a query plan for estimating a number of unique entry counts of an attribute in a database, a sample of entries in the database is identified, at least one of a sampling percent and a coefficient of variance of the entries in the sample is identified, and a skewness of the entries in the sample is calculated. In addition, at least one of a plurality of estimators is selected based upon the skewness of the entries and at least one of the sampling percent and the coefficient of variance of the entries in the sample. Moreover, a query plan is generated from the selected at least one of the plurality of estimators. A query optimizer for performing the method is provided. | 05-06-2010 |
20100114870 | Skew-based Costing for Database Queries - One embodiment is a method that determines skew to predict costs for query plans for a database query. The method selects a query plan that accounts for the skew to evenly distribute processing load among multiple processors and then executes the query with the selected query plan. | 05-06-2010 |
20100153362 | APPARATUS AND METHOD FOR RECOVERING CURSOR POSITION - Provided are an apparatus and method for recovering a cursor position without degrading performance of a display apparatus. The apparatus includes: a cursor information storage unit that stores cursor information, which includes position information of a first cursor, in response to a cursor information storage message; and a cursor position recovery unit that recovers a position of a second cursor, which corresponds to the first cursor, by using the stored cursor information in response to a cursor information recovery message. | 06-17-2010 |
20100185601 | TECHNIQUES FOR DATABASE RULE ORDERING AND PROCESSING - Techniques for database rule ordering and processing are provided. Structured Query Language (SQL) statements are iterated to identify processing dependencies and a processing order is generated. The SQL statements are automatically modified to enforce the processing order and the modified SQL statements are executed against a database. | 07-22-2010 |
20100191720 | Risk-premium-based database-query optimization - Embodiments of the present invention are directed to query-optimization methods and systems that employ risk premiums assigned to database operations in order to increase the robustness and reliability of the evaluation and selection of query-execution plans for executing high-level database queries. Using risk-premium estimates, selection of query-execution plans that include potentially inefficient database operations and inefficient database-operation-execution sequences, often selected by currently available query-optimization methods and systems, are avoided. | 07-29-2010 |
20100198810 | EVALUATION OF DATABASE QUERY PLAN ROBUSTNESS LANDMARKS USING OPERATOR MAPS OR QUERY MAPS - Computer-implemented systems and associated operating methods create and use an operator map to identify and evaluate database query plan robustness landmarks. The computer-implemented system comprises logic that creates a map evaluating performance of an implementation of a database engine operator during execution under actual operating conditions. The logic measures and maps performance for a selected range of runtime conditions including resource availability and data characteristics. | 08-05-2010 |
20100198811 | QUERY PLAN ANALYSIS OF ALTERNATIVE PLANS USING ROBUSTNESS MAPPING - Computer-implemented and associated operating methods evaluate robustness of a query plan by measuring performance with regard to a range of runtime conditions and producing a map of relative performance of the given query plan when compared with alternative plans for a range of conditions. The computer-implemented system comprises logic that evaluates the selected query plan in comparison to multiple alternative query plans in a predetermined range of runtime conditions that include data characteristics. The logic produces a set of performance measurements and analyzes the measured performance to map performance of the selected query plan in comparison to performance of one or more alternative query plans. | 08-05-2010 |
20100223256 | ADAPTIVE QUERY THROTTLING SYSTEM AND METHOD - An adaptive query throttling system and method are provided herein. | 09-02-2010 |
20100235349 | PROGRESS ANALYZER FOR DATABASE QUERIES - A data processing system includes a query progress analyzer. The database processing system comprises a receiver that receives database queries including a target query directed to a database and a query analyzer. The query analyzer is coupled to the receiver and analyzes progress status of the target query based on comparison of measured target query resource usage to resource usage predicted from a query plan of the target query and measured system resource usage. | 09-16-2010 |
20100250518 | FLEXIBLE QUERY HINTS IN A RELATIONAL DATABASE - A flexible query hints system and method for discovering and expressing query hints in a database management system. Embodiments of the flexible query hints system and method include a power hints (Phints) language that enables the specification of constraints to influence a query optimizer. Phints expressions are defined as tree patterns annotated with constraints. Embodiments of the flexible query hints system and method also include techniques to incorporate the power hints language expressions into an extended query optimizer. Theses techniques include computing a directed acyclic graph for Phints expression, deriving candidate matches using the Phints expression and the graph, computing candidate matches, and extracting a revised execution plan having a lowest cost and satisfying constraints of the Phints expression. Embodiments of the flexible query hints system and method include a flexible query hint user interface that allow users to interactively adjust query hints. | 09-30-2010 |
20100250519 | XML database management system for an XML database comprising access protected XML data - The present invention concerns an XML data base management system (XDBMS, | 09-30-2010 |
20100250520 | METHOD FOR CONTROLLING A RELATIONAL DATABASE SYSTEM - A method for controlling a relational database system, with a query statement comprised of keywords being analyzed, with the RTN being formed of independent RTN building blocks. Each RTN building block has an inner, directed decision graph which is defined independently from the inner, directed decision graphs of the other RTN building blocks with at least one decision position along at least one decision path. The inner decision graphs of all RTN building blocks are run by means of the keywords in a selection step and all possible paths of this decision graph are followed until either no match with the respectively selected path is determined by the decision graph and the process is interrupted, or the respectively chosen path is run until the end. | 09-30-2010 |
20100281017 | Partition pruning via query rewrite - Systems, methods, and other embodiments associated with query pruning via query rewrite are described. One example method includes receiving a query on a partitioned table that will result in a first query plan that includes accessing a local domain index on each partition in the database. The query is rewritten to generate a second query that will result in a second query plan that includes accessing a global domain index instead of the local domain index on each partition in the database. | 11-04-2010 |
20100281018 | SECONDARY INDEX AND INDEXED VIEW MAINTENANCE FOR UPDATES TO COMPLEX TYPES - Pursuant to receipt of a data modification command or statement, such as an Update command, it is determined which fields in a data structure, such as a UDT, computed column, indexed view, or index, for example, will be changed as a result of the command. Only those fields that are affected by the command will be changed. Thus, changes are propagated to only to those dependent data structures whose content is being modified. Tree representations are used to facilitate the determination as to whether a subfield in a hierarchy is changed. | 11-04-2010 |
20100287158 | INFORMATION ACCESS USING ONTOLOGIES - A method for data access includes defining an ontology for application to a set of diverse data sources ( | 11-11-2010 |
20100293156 | DATABASE PROCESSING METHOD AND DATABASE PROCESSING SYSTEM - Provided is a database processing system including: a computer for outputting data in response to a received query request; and a storage system including a storage device for storing the data, in which: the storage device stores a plurality of partial indices indicating a storage location of the data; the data stored in the storage device is grouped; and the computer is configured to: receive the query request for the data; acquire one of the plurality of partial indices; specify, based on the query request for the data and the acquired one of the plurality of partial indices, a location at which the requested data is stored; and send a request to acquire the data stored at the specified location to the storage system. Accordingly, in the database processing system, a time period necessary to input and output the data is shortened. | 11-18-2010 |
20110010359 | SYSTEM, METHOD, AND COMPUTER-READABLE MEDIUM FOR ENHANCING QUERY EXECUTION BY AN OPTIMIZER IN A DATABASE SYSTEM - A system, method, and computer-readable medium that provide automatic and dynamic control of optimizer settings in a large complex system environment are provided. The optimizer may pursue more aggressive query execution plans and switch to a more conservative approach in cases of actual observed inaccuracies. | 01-13-2011 |
20110016107 | Execution of query plans for database query within environments of databases - A database query is submitted to a first query optimizer to receive a first query plan from the first query optimizer. The first query plan is set as a current query plan. As an entry point, the current query plan is executed against the database within a given environment of the database. Where execution of the current query plan within the given environment is problematic, the execution of the current query plan is prematurely terminated, and the database query is submitted to a second query optimizer. Where a second query plan that is different than any previous query plan for the database query has been received from the second query optimizer, the second query plan is set as the current query plan, and a risk to the database in executing the current query plan is determined. Where the risk is less than a threshold, the entry point is proceeded to. | 01-20-2011 |
20110022583 | SQL Queries For Simple Network Management Protocol Management Information Base Tables - A method and system for optimizing SQL queries for Simple Network Management Protocol (SNMP) Management Information Base (MIB) tables. An SNMP client receives a source query defined in structured query language to access data stored in one or more MIB tables. The SNMP client parses the source query into one or more queries and sub-queries and applies sets of optimization rules and heuristics to the source query to generate a query execution plan for each set of optimization rules and heuristics applied to the source query. The SNMP client selects ah optimal query execution plan from the generated query execution plans and rewrites the source query as a SNMP-based query using the optimization rules and heuristics specified in the optimal query execution plan. The SNMP-based query may then be used to retrieve the data requested by the source query without performing a full query scan of the MIB tables. | 01-27-2011 |
20110022584 | DATABASE MANAGEMENT SYSTEM AND METHOD - A database management system has a query interface for receiving a query and a query executor for executing the received query. The query executor dynamically generates a task, and executes a plurality of tasks in parallel. In execution of each task, each time data is required to be read from a database, the query executor generates a task for acquiring the data, and in execution of the generated task, issues a data read request for reading the data from the database, to thereby shorten a time taken to execute each task. | 01-27-2011 |
20110029508 | SELECTIVITY-BASED OPTIMIZED-QUERY-PLAN CACHING - Embodiments of the present invention partition optimized query plans into equivalence groups, each comprising one or more equivalence classes. Each equivalence group corresponds to a particular compiled, normalized, and parameterized query plan prior to optimization. Each equivalence class within an equivalence group corresponds to a different query plan corresponding to the particular compiled, normalized, and parameterized query plan represented by the equivalence group that has been optimized with respect to the selectivity of one or more predicate clauses of the query that is compiled to produce the particular compiled, normalized, and parameterized query plan. Optimized query plans are cached according to their respective equivalence groups and equivalence classes. When a query, similar to a query already compiled, optimized, and cached, is subsequently received and compiled, a selectivity for a predicate of the compiled query is computed, allowing the database management system to retrieve a cached query plan optimized for a similar query with similar selectivity. | 02-03-2011 |
20110047144 | SYSTEM, METHOD, AND APPARATUS FOR PARALLELIZING QUERY OPTIMIZATION - A computer program product that includes a computer useable storage medium to store a computer readable program that, when executed on a computer, causes the computer to perform operations, including operations to receive a query for which a query execution plan (QEP) is to be computed, divide a search space into a plurality of subproblems for which constituent QEPs are to be created, partition the plurality of subproblems into a plurality of partitions, and allocate each of the plurality of partitions to a thread of a plurality of threads within a multiple thread architecture. Possible QEPs describe a search space. Each subproblem references one or more quantifiers and each of the subproblems within a partition references the same number of quantifiers. A partition containing subproblems referencing fewer quantifiers is executed before a partition containing subproblems referencing more quantifiers. | 02-24-2011 |
20110060731 | SYSTEM AND METHOD FOR OPTIMIZING QUERIES - There is provided a computer-implemented method of optimizing a query. An exemplary method comprises determining a maximum cardinality for an operator. The query may comprise the operator. The exemplary method also comprises determining a plurality of potential implementations for the operator. The exemplary method additionally comprises generating a query plan for the query based on the maximum cardinality and the potential implementations. | 03-10-2011 |
20110072006 | MANAGEMENT OF DATA AND COMPUTATION IN DATA CENTERS - Data and computation may be unified (i.e., integrated) in a data center using a single query interface. Users may interact with the data center via a query interface to provide a query (i.e., a computation) to the data center. The results of the query may be referred to as derived datasets and may be managed by a cache server. In an implementation, a derived dataset is uniquely referenced by the query that computes it. Shared common computations are computed only once and may be reused by other computations. The result of a query may be computed (if not previously cached) and returned to the user. Infrequently used derived datasets may be garbage collected (e.g., deleted or otherwise removed from storage) by a garbage collector. This integration of data and computation provides efficient resource management for data center. | 03-24-2011 |
20110072007 | SYSTEM AND METHOD FOR CACHING DATABASE REPORTS - A method of report caching includes recording a user ID, a timestamp including at least a connection date and at least one SQL query associated with a report requested by a user from the database system for each connection of the user to the database system over a predetermined period. A plurality of intervals is defined in the predetermined period. Retrieved are instances of the user ID associated with connections of the user to the database system during at least a threshold number of the intervals based on a position that a current date associated with a current connection of the user to the database system occupies in a current interval. The at least one SQL query is executed to generate the report from the database system on the current date before request for the report from the user. The report is stored in a cache for user's retrieval. | 03-24-2011 |
20110082856 | SYSTEM AND METHOD FOR OPTIMIZING QUERIES - There is provided a computer-implemented method of optimizing a query. An exemplary method comprises receiving a first query configured to generate a result set. The query may comprise an operation for an outer table, a first predicate, and a second predicate. The second predicate may comprise a subquery correlated to the operation. Additionally, the first predicate and the second predicate may be disjunctive. The exemplary method also comprises generating a first query tree representing the first query, and generating a second query tree representing a second query. The second query may be configured to generate the result set, and may not comprise the subquery. The exemplary method additionally comprises generating a query plan based on the second query tree. | 04-07-2011 |
20110125730 | Optimizing Queries to Hierarchically Structured Data - Techniques are disclosed for optimizing queries to hierarchically structured data. For example, a method for processing a query directed to data having a hierarchical structure with a plurality of data nodes comprises the following steps. One or more structural attributes describing the hierarchical structure of the data are identified. The query is partitioned into two or more query partitions using at least one of the one or more identified structural attributes. A parallel execution plan is determined for the query by splitting into components one or more of: the query into at least two of the query partitions; and the hierarchical structure of the data. The split components are executed in parallel on different computer processes according to the parallel execution plan. | 05-26-2011 |
20110145220 | SYSTEM AND METHOD FOR EXECUTING A QUERY - There is provided a computer-implemented method of executing a query. An exemplary method comprises optimizing the query. The query may specify multiple operations on corresponding multiple column sets of a table in a database. The exemplary method further comprises partitioning data of the table based on the operations within a single pass of the table. Additionally, the exemplary method comprises performing the operations on the partitioned data in parallel. | 06-16-2011 |
20110145221 | APPARATUS AND METHOD FOR PROCESSING A DATA STREAM - An apparatus and method for processing data stream are provided. A query execution plan for processing data stream is shared between the server and the terminal. The server builds a query execution plan and determines a part of the built query execution plan to be executed in the terminal. The terminal executes the part of the built query execution plan and transfers a result of the execution. The server executes the remaining part of the built query execution plan based on the execution result transferred by the terminal. The part of the query execution plan to be executed in the terminal is determined depending on the performance of the terminal. | 06-16-2011 |
20110153593 | EXPLOITING PARTITIONING, GROUPING, AND SORTING IN QUERY OPTIMIZATION - An optimizer uses comprehensive reasoning regarding partitioning, sorting, and grouping properties for query optimization. When optimizing an input query expression, logical exploration generates alternative logical expressions. Physical optimization explores physical operator alternatives for logical operators. Required partitioning, sorting, and grouping properties of inputs to physical operators are determined. Additionally, delivered partitioning, sorting, and grouping properties of outputs from physical operators are determined. In some embodiments, enforcer rules are employed to modify structural property requirements to introduce alternatives for consideration. Property matching identifies valid execution plans in which the delivered partitioning, sorting, and grouping properties satisfy corresponding required partitioning, sorting, and grouping properties. An execution plan having the lowest cost is selected as the optimized execution plan. | 06-23-2011 |
20110153594 | Apparatus and Method for Analyzing Query Optimizer Performance - A method of analyzing the performance of a query optimizer includes identifying an event trigger. A reproduction object characterizing operational parameters of the customer computer at the time of the event trigger is populated. The reproduction object is transported from the customer computer to a test computer. The reproduction object is analyzed at the test computer to characterize the performance of a query optimizer. | 06-23-2011 |
20110167056 | PARAMETER-SENSITIVE PLANS - A query configured according to a query template is received. The query includes values for a plurality of parameters. A key is generated for the query that indicates a selectivity region in a selectivity space determined for the included parameter values. Whether the generated key matches any key of a plurality of keys is determined. Each key of the plurality of keys is associated with a corresponding query plan. If the generated key is determined to not match any of the keys, the query is compiled to generate a new query plan, and the generated query plan is executed with respect to the query. If the key is determined to match any key of the plurality of keys, a query plan associated with the matched key is selected, and the query plan associated with the matched key is executed with respect to the query. | 07-07-2011 |
20110173182 | COMPILE TIME OPCODES FOR EFFICIENT RUNTIME INTERPRETATION OF VARIABLES FOR DATABASE QUERIES AND DML STATEMENTS - A method system and program for performing a query in which context and information including opcodes accompanies an execution plan for the query. The opcodes determine operations to retrieve a set of bind variables. The execution plan and context information shared by a plurality of application programs. | 07-14-2011 |
20110179014 | MANAGING DATA QUERIES - One method includes receiving a database query, receiving information about a database table in data storage populated with data elements, producing a structural representation of the database table that includes a formatted data organization reflective of the database table and is absent the data elements of the database table, and providing the structural representation and the database query to a plan generator capable of producing a query plan representing operations for executing the database query on the database table. Another method includes receiving a query plan from a plan generator, the plan representing operations for executing a database query on a database table, and producing a dataflow graph from the query plan, wherein the dataflow graph includes at least one node that represents at least one operation represented by the query plan, and includes at least one link that represents at least one dataflow associated with the query plan. | 07-21-2011 |
20110184934 | WAVELET COMPRESSION WITH BOOTSTRAP SAMPLING - A method for compressing an initial dataset may be implemented on a data processing system. The method may include generating a group of bootstrap samples of wavelet coefficients from the initial dataset using a wavelet basis function. An average quantile of the group of bootstrap samples of wavelet coefficients may be determined. The group of wavelet coefficients may be compressed by deleting initial wavelet coefficients having magnitudes less than the coefficient cutoff value equal to the average quantile. The compressed group of wavelet coefficients and the wavelet basis function may be used to approximate the initial dataset. | 07-28-2011 |
20110191324 | TRANSFORMATION OF DIRECTED ACYCLIC GRAPH QUERY PLANS TO LINEAR QUERY PLANS - Methods, computer-readable storage media and computer systems are provided for transforming a directed acyclic graph (“DAG”) query plan into a linear plan. A DAG query plan may include a first operator and a second operator that are scheduled to be executed in parallel. The DAG query plan may be modified so that the first and second operators are executed in series as an upstream operator and a downstream operator. A data unit output from the upstream operator may be marked to indicate that the data unit has been processed by the upstream operator. The data unit received as input at the downstream operator may be inspected to determine whether the data unit has been marked. Once in linear form, the query plan may be optimized to conserve computing resources. | 08-04-2011 |
20110213766 | DATABASE DESIGNER - Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for a database designer and a database storage designer. In one aspect, a method includes creating a set of candidate projections and progressively narrowing the set of candidate projections and a set of queries by eliminating candidate projections that do not satisfy a performance improvement criterion for remaining queries based on the properties associated with the candidate projections. | 09-01-2011 |
20110231389 | ADAPTIVE ROW-BATCH PROCESSING OF DATABASE DATA - Architecture that provides for greater interoperability between column stores and row stores by leveraging the advantages both have to offer. The architecture operates automatically (e.g., dynamically) to move between row oriented processing mode and batch processing mode, and the combination thereof, when it is more beneficial to run in one mode relative to the other mode, or both modes. The auto-switching of data processing between batch and row oriented mode occurs during the execution of a single query. The architecture can automatically modify an operator in the query tree and/or remove an operator if desired at runtime for more efficient processing. This approach also accounts for memory constraints for either of row or column processing. | 09-22-2011 |
20110238654 | MULTIPLE CANDIDATE SELECTION IN AN ENTITY RESOLUTION SYSTEM - Systems, methods and articles of manufacture are disclosed for matching an inbound identity record to existing entities. Entity resolution (ER) candidate-building keys may be determined for a received identity record. A query may be generated from the ER candidate-building keys. When executing the query, a generic key may be identified. Execution of the query may be aborted upon a condition involving the generic key being satisfied. | 09-29-2011 |
20110238655 | SYSTEM AND METHOD FOR PROVIDING HIGHLY AVAILABLE DATABASE PERFORMANCE - A system and method for enabling a second database instance to more quickly process a request to execute a database statement that has previously been executed by a first database instance is described. In one embodiment, the method involves sending the database statement from the first database instance to the second database instance, and generating by the second database instance one or more structures needed to prepare the statement for execution, such as a parse tree and an execution plan for the statement. If at some point in the future, the second database instance receives a request to execute the same statement, the above structures can be used for execution, thereby eliminating the need for one or more potentially time-consuming operations, such as generation of a parse tree or execution plan for the statement. | 09-29-2011 |
20110289070 | Dynamic resource orchestration system for data retrieval and output generation - A resource coordinating system is provided. The resource coordinating system has an interface module that receives a request from a user and an ontology framework module including a plurality of objects, each object being associated with a respective resource. The resource coordinating system also has a search module that coordinates a retrieval of information from one or more resources based on a search strategy generated in response to the user's request and an output module that generates an output to the user based on the retrieved information wherein, the search strategy selects objects from the ontology framework module based on the user's request and each selected object directs the search module to its associated resource. | 11-24-2011 |
20110313999 | SLICING RELATIONAL QUERIES USING SPOOL OPERATORS - A relational database server may concurrently execute many relational queries, but a complex relational query may cause performance delays in the fulfillment of other relational queries. Instead, the relational database server may generate a query plan for the relational query, and may endeavor to partition the relational query between a spool operator and a scan operator into two or more query slices, where each query slice may be executed within a query slice threshold. Many alternative candidate query plans may be considered, such as inserting spool and scan operators after various operators and parameterizing operators in order to partition the records of a relation into two or more ranges based on an attribute of the relation. A large search space of candidate query plans may be reviewed in order to select a query plan that respects the query slice threshold while efficiently executing the logic of the relational query. | 12-22-2011 |
20110314000 | TRANSFORMATION RULE PROFILING FOR A QUERY OPTIMIZER - Technology is described for transformation rule profiling for a query optimizer. The method can include obtaining a database query configured to be optimized by the query optimizer of a database system. An optimized query plan for the database query can be found using a host set of transformation rules. One transformation rule can be removed and checked at a time. Each transformation rule can be checked to determine whether the transformation rule affects an optimal query plan output. A test query plan can be generated after each transformation rule has been removed. The query optimizer can determine whether the test query plan is different than the optimized query plan in the absence of the removed transformation rule. An equivalent set of transformation rules can be created that includes transformation rules where the test query plan generated from the equivalent set of transformation rules is equivalent to the optimized plan. | 12-22-2011 |
20110320434 | ENERGY MONETARY COST AWARE QUERY OPTIMIZATION - Embodiments of the invention provide a method of optimizing a query, including determining an execution plan for use in executing the query, based on a monetary cost of the energy needed to execute the query. A query optimization component may determine a plurality of execution plans for the query. The query optimization component may then select one of the plans to use in executing the query based on the monetary cost calculated for the plan. | 12-29-2011 |
20110320435 | STATIC QUERY OPTIMIZATION - In some embodiments, a computer-implemented method for tuning queries for a multi-tenant database system is provided. A processor retrieves actual statistics associated with data stored on one or more servers in the multi-tenant database system. The data may be associated with one or more tenants of the multi-tenant database system. A subset of the actual statistics is selected, wherein the subset of the actual statistics is related to tenants having a data trait targeted for optimization. The processor determines synthetic statistics based on the subset of the actual statistics. An original query is received at the multi-tenant database system, wherein the original query operates upon data associated with a tenant that has the data trait targeted for optimization. The processor determines an optimal query plan based on the original query and synthetic statistics. Finally, the processor executes the original query based on the optimal query plan. | 12-29-2011 |
20120005188 | TECHNIQUES FOR RECOMMENDING PARALLEL EXECUTION OF SQL STATEMENTS - Techniques for automatically recommending parallel execution of a SQL statement. In one set of embodiments, a first determination can be made regarding whether a SQL statement can be executed in parallel. Further, a second determination can be made regarding whether executing the SQL statement in parallel is faster than executing the statement in serial by a predetermined factor. If the first determination and second determination are positive (i.e., the statement can be executed in parallel and parallel execution is faster by the predetermined factor), a recommendation can be provided indicating that the SQL statement should be executed in parallel. In some embodiments, the recommendation can include a report specifying the degree of performance improvement gained from parallel execution, additional system resources consumed by parallel execution, and other statistics pertaining to the recommended parallel execution plan. | 01-05-2012 |
20120005189 | TECHNIQUES FOR RECOMMENDING ALTERNATIVE SQL EXECUTION PLANS - Techniques for automatically recommending alternative execution plans for a SQL statement. In one set of embodiments, information pertaining to one or more execution plans for a SQL statement can be retrieved from a set of plan sources. The one or more execution plans can include the current execution plan for the statement and one or more historical execution plans. Based on the retrieved information, the performance of the one or more execution plans can be compared to each other. Based on the comparison, a recommendation can be provided to a user indicating that a particular execution plan (e.g., a historical execution plan) should be used in place of the current execution plan to execute the SQL statement. | 01-05-2012 |
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 |
20120005191 | DATABASE MANAGEMENT SYSTEM AND METHOD - A database management system has a query interface for receiving a query and a query executor for executing the received query. The query executor dynamically generates a task, and executes a plurality of tasks in parallel. In execution of each task, each time data is required to be read from a database, the query executor generates a task for acquiring the data, and in execution of the generated task, issues a data read request for reading the data from the database, to thereby shorten a time taken to execute each task. | 01-05-2012 |
20120016866 | SCALED MANAGEMENT SYSTEM - An exemplary system for managing an applications and data space includes a strategy layer configured to receive a query statement and to formulate one or more custom queries based on the query statement and a query scheduler layer configured to schedule issuance of the one or more custom queries to one or more query response modules associated with the applications and data space. Other methods, devices and systems are also disclosed. | 01-19-2012 |
20120023092 | Feedback Loop Between A Query Optimizer And A Cache Manager - Systems, methods and computer program products are disclosed for managing a database cache. In one embodiment, access to a data object stored in a database is monitored. A memory residency priority for the data object is determined, based on the access patterns. Further, an access plan is determined for a query, based on the memory residency priority. Access to the data object is also monitored when the access plan is executed, thereby providing a feedback loop between determining memory residency priorities and determining query access plans. | 01-26-2012 |
20120041942 | DATA SERVICE RESPONSE PLAN GENERATOR - A method, a service optimization system, and a set of instructions are disclosed. A user interface | 02-16-2012 |
20120059817 | METHOD FOR INCREASING THE EFFICIENCY OF SYNCHRONIZED SCANS THROUGH INTELLIGENT QUERY DISPATCHING - A computer-implemented method, apparatus and article of manufacture for optimizing execution of database queries in a computer system. In one embodiment, the steps and functions include: generating first and second query execution plans for first and second requests, wherein the first and second query execution plans are each comprised of one or more steps that scan a specified table in a database stored on the computer system in order to retrieve data from the table; and executing the first and second query execution plans, wherein intelligent query dispatching is performed on the steps of the first and second query execution plans to ensure that the steps share the data retrieved from the table and cached in memory. | 03-08-2012 |
20120072413 | SYSTEM AND METHOD FOR COMPARING DATABASE QUERY PLANS - A method and device may accept a first database query plan including a plurality of rows and a second database query plan including a plurality of rows, compare each row in the first database query plan with a corresponding row in the second database query plan, and based on each comparison, calculate a difference between the compared rows. Each difference may be recorded in an output file. | 03-22-2012 |
20120089596 | OPTIMIZING A QUERY - A method of optimizing a query is provided herein. The method includes determining a cost estimate for a query. The method further includes determining a budget for optimizing the query based on the cost estimate. Additionally, the method includes determining a complexity of the query based on the budget. The method also includes determining a strategy based on the complexity. The strategy specifies a limit to a search space enumerated during optimization of the query. Further, the method includes optimizing the query based on the strategy. | 04-12-2012 |
20120095989 | Estimating a Number of Unique Values in a List - A method determines a number of unique values in a sample of a list of values and estimates a number of the unique values for an unsampled portion of the list of values. The method estimates a number of the unique values in the list by adding the number of unique values in the sample to the number of the unique values in the unsampled portion. | 04-19-2012 |
20120124031 | ADDITION AND PROCESSING OF CONTINUOUS SQL QUERIES IN A STREAMING RELATIONAL DATABASE MANAGEMENT SYSTEM - Systems, methods, and media are disclosed herein that can be embodied in a traditional Relational Database Management System (RDBMS) in order to transform it into a Streaming Relational Database Management System (SRDBMS). An SRDBMS may provide functionality such as to manage and populate streams, tables, and archived stream histories and support the evaluation of continuous queries on streams and tables. Both continuous and snapshot queries support the full spectrum of the industry standard, widely used, Structured Query Language. The present technology can support a high number of concurrent continuous queries using a scalable and efficient shared query evaluation scheme, support on-the-fly addition of continuous queries into a mechanism that implements the shared evaluation scheme, reuse RDBMS modules such as relational operators and expression evaluators, and visualize results of continuous queries in real time | 05-17-2012 |
20120130986 | SYSTEMS AND METHODS FOR MANAGING A DATABASE - One example discloses a database management system that can comprise a memory for storing computer executable instructions and a processing unit for accessing the memory and executing the computer executable instructions. The computer executable instructions can comprise a query data collector to access a query repository table to determine if a first query plan for a first configuration executed on a relational database has a lowest resource cost of execution between the first query plan and a second query plan for a second configuration. The query repository table can include a plurality of query records with annotated query plans, each annotated query plan comprising text sufficient to generate a query plan of a certain form. | 05-24-2012 |
20120130987 | Dynamic Data Aggregation from a Plurality of Data Sources - A method for dynamically aggregating data is provided. A server device receives a subscriber request for a report based on a subset of metadata contained in a data dimensions catalog. The server device analyzes data aggregation requirements from a plurality of data sources for the report based on the subset of metadata defined in the subscriber request. The server device generates a data access plan for movement of data from the plurality of data sources based on the data aggregation requirements for the report. Then, the server device executes the data access plan to fetch the data from the plurality of data sources based on the data aggregation requirements for the report. A computer system and computer program product for dynamically aggregating data are also provided. | 05-24-2012 |
20120130988 | Highly Adaptable Query Optimizer Search Space Generation Process - Systems, methods and articles of manufacture for determining at least one algorithm from a pool of algorithms to optimize a query. An embodiment includes building optimization blocks for the subplan, determining the complexity of the subplan based on the optimization blocks and selecting an algorithm from a pool of search space generation algorithms based on complexity of the subplan and characteristics of the selected algorithm, and optimizing the subplan with the selected algorithm. | 05-24-2012 |
20120130989 | SYSTEMS AND COMPUTER PROGRAM PRODUCT FOR COST ESTIMATION USING PARTIALLY APPLIED PREDICATES - In accordance with aspects of the present invention, provided are systems and computer program products for incrementally estimating the cardinality of a derived relation including statistically correlated partially applicable predicates for a range-partitioned table. During the generation of a QEP a cardinality estimate is calculated in which one or more partially applicable predicates is correlated to another partially applicable predicate and/or to one or more fully applicable predicates. The cardinality includes a number of rows expected to be returned by the QEP and is computed in an incremental fashion for each operator of the QEP. | 05-24-2012 |
20120143847 | DATABASE MANAGEMENT METHOD AND SYSTEM - Disclosed is a database management method which generates an execution plan with respect to a factorized character string generated by factoring an execution value list of a query and stores the factorized character string and an execution plan identifier with respect to the factorized character string, matching each other. The database management method includes receiving, from a client, a factorized character string generated from a query; determining whether the factorized character string is stored in a memory; transmitting an execution plan identifier matching the factorized character string stored in the memory to the client when the factorized character string is stored in the memory, or generating and transmitting an execution plan identifier with respect to an execution plan of the factorized character string to the client when the factorized character string is not stored in the memory; receiving a query request consisting of the execution plan identifier and an execution value list included in the query from the client; and providing a query result obtained using the query request to the client. | 06-07-2012 |
20120150841 | AUDITING QUERIES USING QUERY DIFFERENTIALS - Methods and systems for auditing queries using query differentials are disclosed. A method includes identifying a set of queries, determining if results of each query of the set of queries are different from results of respective differentials of each query of the set of queries, and based on the determining, making a characterization of each query of the set of queries as one of safe and unsafe. Access is provided to the characterization of each query of the set of queries. | 06-14-2012 |
20120150842 | MATCHING QUERIES TO DATA OPERATIONS USING QUERY TEMPLATES - Systems and methods are described herein that can implemented by a middle tier of a multi-tier data retrieval system to select data operation(s) that correspond to a query. The query may be received from a front tier. The selection is performed by comparing the query to a query template associated with each data operation. The query template for each data operation includes an algebraic description of queries that each respective data operation can satisfy. The selected data operation(s) are then executed against a data service to obtain data, which is then provided to the front tier. In some embodiments, an execution plan may be created by the middle tier for satisfying the query. The execution plan can include the selected data operation(s) and post-processing step(s). The post-processing step(s) can be applied to the obtained data to satisfy the query. The post-processed data is then provided to the front tier. | 06-14-2012 |
20120158698 | EXECUTION PLANS WITH DIFFERENT DRIVER SOURCES IN MULTIPLE THREADS - In an embodiment, a first driver source specified by a first execution plan that implements a query is designated, and a second driver source specified by a second execution plan that implements the query is designated. A portion of the first execution plan and a portion of the second execution plan are executed. If a unique identifier of a first row returned by the executing the portion of the first execution plan does not match all unique identifiers of all rows from the second driver source that were saved to a result set by the executing the portion of the second execution plan, then the first row returned by the executing the portion of the first execution plan is added to the result set and the unique identifier of the first row that was returned by the executing the portion of the first execution plan is added to a unique identifier log. | 06-21-2012 |
20120166420 | SYSTEMS AND METHODS FOR CREATING SCALABLE PRESENCE SUBSCRIPTIONS IN FEDERATED PRESENCE ENVIRONMENTS - Systems and associated methods for providing scalable presence subscriptions in federated presence environments are described. Embodiments provide for intelligent addition of subscriptions to a presence system. Embodiments identify if a virtualized presentity (corresponding to a new query) can be composed from existing virtualized presentities, and if so, corresponding query processing cells (QPCs) (servicing existing queries) are reused to retrieve the presence information (partially or fully) for the new incoming query. Embodiments organize the existing QPCs into a hierarchy such that a QPC/virtual presentity at a higher layer fetches presence information of all or some presentities from QPCs/virtual presentities at lower layer(s) to service the new query. | 06-28-2012 |
20120166421 | SYSTEMS AND/OR METHODS FOR USER FEEDBACK DRIVEN DYNAMIC QUERY REWRITING IN COMPLEX EVENT PROCESSING ENVIRONMENTS - Certain example embodiments described herein relate to techniques for user feedback driven dynamic query rewriting in complex event processing (CEP) environments. In certain example embodiments, the adjustment of already-initiated queries may be permitted during runtime in order to help continuously or substantially continuously meet a user's requirements. In certain example embodiments, parameters of a query may be adapted dynamically, e.g., without the need to redeploy it. Adaptable parameters in certain example embodiments may be identified and/or based on, for instance, an automatic determination from original query creation, user specifications, the way in which a user interacts with a user interface for visualizing the results of queries, etc. | 06-28-2012 |
20120166422 | Generic Node Including Stored Script - Methods and apparatus, including computer program products, are provided for providing for processing calculation plans. In one aspect, there is provided a computer-implemented method. The method may include generating a calculation plan including a plurality of nodes; determining whether at least one of the nodes includes a function node; and compiling the function node into executable code to enable execution of the plurality of nodes including the function node at the database. Related apparatus, systems, methods, and articles are also described. | 06-28-2012 |
20120166423 | COLLECTION OF STATISTICS FOR SPATIAL COLUMNS OR R-TREE INDEXES - Techniques for collecting statistics of column data or R-Tree indexes are provided. A distributed database system includes a plurality of processing nodes controlling portions of spatial data. The nodes are instructed to create minimum bounding rectangles (MBR's) for their spatial data or R-Trees. The individual MBR's are merged and reformatted into a grid of equally sized cells. Each processing node is provided a copy of the grid to update based on statistics of each processing node's spatial data for a target table. The updated grids are then merged into a single grid and used by an optimizer to evaluate queries before the queries are executed. | 06-28-2012 |
20120166424 | Apparatus for Elastic Database Processing with Heterogeneous Data - A database management system implemented in a cloud computing environment. Operational nodes are assigned as groups of controller-nodes, compute-nodes or storage-nodes. Queries specify one or more tables for an associated database operation, with each table being assigned to respective storage nodegroup(s). The number of nodes executing a given query may change, by (a) changing the compute-nodes associated with a connection, or (b) adding or removing nodes associated with a connection; and/or distributing data to a storage nodegroup based on a Distribution Method which may be either data dependent or data independent. A controller node further executes a Dynamic Query Planner (DQP) process that develops a query plan. | 06-28-2012 |
20120173515 | Processing Database Queries Using Format Conversion - Devices, methods and systems for processing database queries formatted differently than the database storage model being queried are disclosed. Processing database queries independent of the storage model of the queried database may be performed by receiving a query for one or more data items stored in a database, determining whether to use at least one query operator that uses data having a format different from the storage model format of at least one of one or more data items stored in the database and converting the format of the data used by the at least one query operator to a format that matches the storage model format of at least one of one or more data items stored in the database. Related systems, methods, and articles of manufacture are also described. | 07-05-2012 |
20120173516 | WORK FILE RECYCLING - A method, article of manufacture, and apparatus for processing information are disclosed. In some embodiments, this includes receiving a query plan, generating a work file based on the query plan, associating the query plan with a work file, storing the association, and storing the work file in a storage device after the query plan has executed. In some embodiments, a hash of the query plan may be generated. | 07-05-2012 |
20120185462 | MANAGING COMPUTING RESOURCES - Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for managing computing resources. In one aspect, a method includes filtering a first plurality of requests based on one or more criteria to generate first filtered requests, the first plurality of requests being associated with a first query plan that is associated with a first instance, identifying a first application associated with at least a portion of the first filtered requests, and determining a quantity of cores used by the first application based at least in part on the portion of the first filtered requests associated with the first application. | 07-19-2012 |
20120191698 | QUERY PLAN ENHANCEMENT - Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for analyzing and enhancing query plans. In one aspect, a method includes receiving a query plan, automatically identifying, by one or more computers, one or more operations included within the query plan that may degrade the performance of a query, and providing a report that identifies the identified operations as performance degrading operations. | 07-26-2012 |
20120191699 | AGGREGATE FUNCTION PARTITIONS FOR DISTRIBUTED PROCESSING - Systems and apparatuses are provided for a distributed aggregate user defined function processing system. A non-transitory computer readable medium stores instructions for a query compiler to identify a call to a distributed aggregate user defined function within a query of the distributed analytical data processing system, retrieve metadata associated with the distributed aggregate user defined function, and validate and resolve respective inputs and outputs of a plurality of function partitions associated with the distributed aggregate user defined function according to the retrieved metadata. A distributed processing engine includes a plurality of processing nodes to execute the plurality of function partitions and organize data flow from the plurality of function partitions to produce an output for the distributed aggregate user defined function. | 07-26-2012 |
20120191700 | BOOK OF BUSINESS MECHANISM - A “Book of Business” (or Book) is a set of business domain data of one or more book types. This set of data is identified by a “driving condition” or quality. A driving condition typically arises from a business practice, and may be further qualified by local conditions. Accordingly, data may be organized based on local activities or conditions that may not be explicitly stored in a database. In one embodiment, a method for querying the database includes identifying data in a database. The data is organized into one or more segments. A book of business associated with a segment in the one or more segments is then generated. The book of business includes a set of references to the data organized into the segment. A query plan may be determined based on the book of business. A set of results may then be generated based on the query plan. | 07-26-2012 |
20120203762 | SYSTEMS AND METHODS FOR HOLDING A QUERY - One example discloses a database management system that can comprise a memory for storing computer executable instructions and a processing unit for accessing the memory and executing the computer executable instructions. The computer executable instructions can comprise a compiler to hold a query received at a query input, thereby preventing the query from executing based on a cost comparison between an estimated resource execution cost of a query plan for the query and cost rules. | 08-09-2012 |
20120215763 | DYNAMIC DISTRIBUTED QUERY EXECUTION OVER HETEROGENEOUS SOURCES - An execution strategy is generated for a program that interacts with data from multiple heterogeneous data sources during program execution as a function of data source capabilities and costs. Portions of the program can be executed locally and/or remotely with respect to the heterogeneous data sources and results combined. | 08-23-2012 |
20120254154 | PROCESS ARCHITECTURE FOR ELASTIC STATEFUL SHARED NOTHING SYSTEM - A database management system implemented in a cloud computing environment. Operational nodes are assigned as controller-nodes, compute-nodes or storage-nodes. The number of operational nodes, and their assignment as compute-nodes or storage-nodes can vary. Queries specify tables, with each such table assigned to a respective group of storage nodes. The number of operational nodes executing a given query may change by (a) changing the compute-nodegroup associated with a connection, or (b) adding or removing nodes from the compute-nodegroup; and/or distributing data from the tables among the nodes in a storage nodegroup. State information is maintained for each client connection, and recorded for a given connection, so that subsequent steps from the same connection are executed with the state as left by a prior step, and so that subsequent queries on the same connection are executed with the state as left by the prior query | 10-04-2012 |
20120259838 | DATABASE MANAGEMENT SYSTEM AND METHOD - A database management system has a query interface for receiving a query and a query executor for executing the received query. The query executor dynamically generates a task, and executes a plurality of tasks in parallel. In execution of each task, each time data is required to be read from a database, the query executor generates a task for acquiring the data, and in execution of the generated task, issues a data read request for reading the data from the database, to thereby shorten a time taken to execute each task. | 10-11-2012 |
20120259839 | FIREWALLS FOR SECURING CUSTOMER DATA IN A MULTI-TENANT ENVIRONMENT - Network security is enhanced in a multi-tenant database network environment using a query plan detection module to continually poll the database system to locate and raise an alert for suspect query plans. Security also can be enhanced using a firewall system sitting between the application servers and the client systems that records user and organization information for each client request received, compares this with information included in a response from an application server, and verifies that the response is being sent to the appropriate user. Security also can be enhanced using a client-side firewall system with logic executing on the client system that verifies whether a response from an application server is being sent to the appropriate user system by comparing user and organization id information stored at the client with similar information in the response. | 10-11-2012 |
20120271815 | SQL Queries for Simple Network Management Protocol Management Information Base Tables - Optimizing SQL queries for Simple Network Management Protocol (SNMP) Management Information Base (MIB) tables. An SNMP client receives a source query defined in structured query language to access data stored in one or more MIB tables. The SNMP client parses the source query into one or more queries and sub-queries and applies sets of optimization rules and heuristics to the source query to generate a query execution plan for each set of optimization rules and heuristics applied to the source query. The SNMP client selects an optimal query execution plan from the generated query execution plans and rewrites the source query as a SNMP-based query using the optimization rules and heuristics specified in the optimal query execution plan. The SNMP-based query may then be used to retrieve the data requested by the source query without performing a full query scan of the MIB tables. | 10-25-2012 |
20120284255 | MANAGING DATA QUERIES - In one aspect, in general, a method of generating a dataflow graph representing a database query includes receiving a query plan from a plan generator, the query plan representing operations for executing a database query on at least one input representing a source of data, producing a dataflow graph from the query plan, wherein the dataflow graph includes at least one node that represents at least one operation represented by the query plan, and includes at least one link that represents at least one dataflow associated with the query plan, and altering one or more components of the dataflow graph based on at least one characteristic of the at least one input representing the source of data. | 11-08-2012 |
20120296890 | SYSTEM AND METHOD FOR ROWSET INSERTS - There is provided a computer-executed method of executing a rowset insert against a database. The method comprises receiving a structured query language statement (SQL) specifying the rowset insert. Additionally, the method comprises raising an error for a first row of the rowset insert. The method also comprises updating a table for a second row of the rowset insert. Further, the method comprises updating a materialized view of the table based on the second row. Additionally, the method comprises performing a commit to the database. The table comprises the second row, and the updated materialized view is consistent with the table. | 11-22-2012 |
20120310921 | IDENTIFYING IMPACT OF INSTALLING A DATABASE PATCH - Techniques are disclosed for identifying impact of a patch. One embodiment of the invention provides a DBMS that is configured to manage one or more databases. The DBMS may receive a request to evaluate a patch for the DBMS. The DBMS provides a first execution environment that is not based on the patch and a second execution environment that is based on the patch. For each query, the DBMS compares a first access plan with a second access plan, where the first access plan is generated from the first execution environment and the second access plan is generated from the second execution environment. The DBMS identifies one or more queries having differing access plans, based on the comparisons. | 12-06-2012 |
20120317096 | Relational Query Planning for Non-Relational Data Sources - A query plan for executing a query within a relational database system including at least one non-relational data source is generated by analyzing expressions that reference a non-relational data source within a query for the database system via an interface for that non-relational data source, determining for each analyzed expression at least one of the database system and interface capable of processing that analyzed expression for executing the query, providing an indicator for each of the analyzed expressions that indicates at least one of the database system and interface determined to process that analyzed expression, and generating the query plan for execution of the query, via the database system, based on the indicators for the expressions of the query. | 12-13-2012 |
20120330925 | OPTIMIZING FINE GRAINED ACCESS CONTROL USING AUTHORIZATION INDEXES - Architecture that is an index mechanism which optimizes complex queries that result from enforcing fine grained access control. The architecture addresses the problem of efficient query evaluation in the presence of fine grained access control. The index mechanism is a structure (referred to as authorization indexes) which provides expedient access to the authorized tuples of a particular user in a table. The index is maintained by utilizing view maintenance algorithms. The index can be built for only certain groups/roles (referred to as partial authorization indexes). Additionally, the authorization index can be used to create a cost-based query rewriter, as well as authorization-aware query optimizer. | 12-27-2012 |
20120330926 | STATISTICS MANAGEMENT FOR DATABASE QUERYING - Methods and systems are provided for querying a database. One exemplary method for obtaining data from an on-demand database supporting one or more tenants involves obtaining model database statistics based on expected utilization information for a tenant and providing the model database statistics to the on-demand database. The on-demand database utilizes the model database statistics to generate a query plan and executes the query plan to obtain data from the model database statistics. | 12-27-2012 |
20130006964 | Technique and Framework to Provide Diagnosability for XML Query/DML Rewrite and XML Index Selection - A method and apparatus for automatically analyzing and providing feedback regarding the optimizability of a relational database query. A query developer's primary goal is to ensure that queries and DML operations are rewritten for the most efficient execution. Rewrite diagnosability captures metadata for each attempted query optimization including success or failure and the reasons for failure. The metadata is stored in association with the operators that were not removed through rewriting. Once all optimizations have been attempted and rewriting is complete, the metadata is selectively displayed based on the cost to perform the associated operation. The context of performing the operation may affect the cost. The cost may be based at least on the type of operation and where within the query tree the operation is located. A query developer may configure the database system not to execute the resulting query plan based on one or more criteria. | 01-03-2013 |
20130006965 | Database Query Optimization - In some embodiments, a method includes detecting a structured query language (SQL) query. The method can also include determining that the SQL query includes a first sub-query and a second sub-query, wherein the first sub-query and second sub-query are operands for a Union operation, wherein a first result of the first sub-query is associated with a first Group By operation, wherein a second result of the second sub-query is associated with a second Group By operation, and wherein a result of the Union operation is associated with a third Group By operation. The method can also include determining that partitioning columns are the same for the first and second Group By operations; determining that the first and second sub-queries include identical algebraic functions; determining that the first Group By operation and first sub-query are not referenced elsewhere in the SQL query; and transforming the SQL query into an optimized query. | 01-03-2013 |
20130006966 | Relational Query Planning for Non-Relational Data Sources - A query plan for executing a query within a relational database system including at least one non-relational data source is generated by analyzing expressions that reference a non-relational data source within a query for the database system via an interface for that non-relational data source, determining for each analyzed expression at least one of the database system and interface capable of processing that analyzed expression for executing the query, providing an indicator for each of the analyzed expressions that indicates at least one of the database system and interface determined to process that analyzed expression, and generating the query plan for execution of the query, via the database system, based on the indicators for the expressions of the query. | 01-03-2013 |
20130013588 | Managing Parameters in Filter Expressions - A mechanism is provided for generating a filter expression using tree parameters receives an expression wherein operators of the expression bind multiple data items to a single parameter to form a received expression, generates a default prompt control using received metadata and the received expression and prompts for an input selection using the default prompt control. Responsive to receiving selected values in response to the default prompt control to form received values the computer-implemented process generates a native database query using the received expression with the single parameter and the received values, wherein the single parameter is a tree parameter. | 01-10-2013 |
20130031085 | DOCBASE MANAGEMENT SYSTEM AND IMPLENTING METHOD THEREOF - The present invention discloses a docbase management system, including a first module, adapted to parse a received invocation from an application and generate an execution plan which comprises operations on physical storage; a second module, adapted to execute the execution plan to schedule a third module to execute the operations on physical storage in the execution plan; and the third module, adapted to execute the operations on physical storage in the execution plan under the scheduling of the second module. Since the implementation of the docbase management system is divided into hierarchies, and the hierarchies are independent of each other, the docbase management system is well extendable, scalable and maintainable. | 01-31-2013 |
20130041887 | ADDING ENTRIES TO AN INDEX BASED ON USE OF THE INDEX - In an embodiment, a threshold value is calculated for a current entry in a first column of an index. If the current entry has been read a number of times by execution of an execution plan that is more than the threshold value and the current entry points to at least one row in a table and not all of the at least one row have been selected by the execution plan for inclusion in a result set as satisfying a query that the execution plan implements, then a new entry is added to the index. | 02-14-2013 |
20130060753 | Optimization Method And Apparatus - An optimizer apparatus and method for application in a query engine of a database management system is provided for optimizing a query expression. One or more blocks are identified in the initial query expression, each of the one or more blocks being identified based on a predetermined sub-expression of the initial query expression. The optimization process is partitioned into one or more sub-tasks, wherein each sub-task corresponds to a respective block. An optimal query plan for each of the sub-tasks is determined. | 03-07-2013 |
20130073538 | QUERY EXPLAIN PLAN IN A DISTRIBUTED DATA MANAGEMENT SYSTEM - A query explain plan is described for use with a distributed data system in order to help developers and IT experts to detect bottlenecks and to determine which queries are to blame for a slow running system. In accordance with an embodiment, the distributed data grid utilizes a facility to provide a distributed explain plan. This distributed explain plan provides visibility into how a query was answered by each node in the cluster. For example, one node may have applied the filters of the query in one sequence, while another node may have used a different sequence. Additionally, the distributed query explain plan can provide execution tracing, rendering information about the execution time of each step, total execution time and the like. | 03-21-2013 |
20130080417 | DEADLINE-DRIVEN PARALLEL EXECUTION OF QUERIES - A data management system receives a query for data. A deadline for completing the query is supplied along with the query. The data management system determines access plans for the query and selects one of the access plans for execution to return a results set for the query. The selected access plan is selected according to an estimated ability to complete the query prior to the deadline. Further, the access plan is selected according to a lowest resource usage among the plans that can be completed the query prior to the deadline. | 03-28-2013 |
20130080418 | DEADLINE-DRIVEN PARALLEL EXECUTION OF QUERIES - A method includes receiving a query for data, the query including a deadline for completion. The method includes determining a plurality of access plans for the query. The method includes selecting an access plan from the plurality of access plans, wherein the access plan is selected according to an execution time for the access plan that indicates the query can be completed prior to the deadline for completion and wherein the access plan is selected to provide a lowest resource usage among access plans that can be completed prior to the deadline for completion. | 03-28-2013 |
20130091122 | FEDERATED QUERY ENGINE FOR FEDERATION OF DATA QUERIES ACROSS STRUCTURE AND UNSTRUCTURED DATA - The subject technology provides querying structured and unstructured data across disparate incompatible systems with a single language and connection point. Cost based optimizations are provided for executing the query. In some configurations, logical plans for executing a query are generated. For each of the logical plans, the subject technology generates a set of physical plans for executing the query on data systems, determines an execution cost for each physical plan from the physical plans, and selects a respective physical plan with a lowest determined execution cost among the determined execution cost for each physical plan. A physical plan is then selected for execution with a lowest execution cost among the selected respective physical plans of each of the logical plans. Data from an operation from the query may then be persisted and then used for generating a new set of logical and physical plans for executing a remaining set of operations from the query. | 04-11-2013 |
20130097150 | TRANSFORMATION OF COMPLEX DATA SOURCE RESULT SETS TO NORMALIZED SETS FOR MANIPULATION AND PRESENTATION - An enterprise business intelligence system includes a data access service. In one example, a method comprises receiving, with a data access service, a query and a report specification from an application, wherein the data access service is positioned between the application and a data source; creating a run tree that comprises a sequence of executable decoration nodes; executing the query on the data source, thereby providing a query result set comprising query results drawn from the data source that are responsive to the query; and executing the sequence of decoration nodes on the query result set. The decoration nodes modify the query result set, thereby producing a decorated result set based on the query result set and the decoration nodes. Producing the decorated result set comprises associating members or values in the query results with corresponding positions or calculated members in the report specification. | 04-18-2013 |
20130110820 | DETERMINING AN EXECUTION ORDERING | 05-02-2013 |
20130117256 | SQL ENUMERATOR - Techniques for collecting database information related to a received request are disclosed herein. In one embodiment a system includes a database, an event detector, and a structured query language (“SQL”) enumerator. The event detector is configured to identify a received request as producing one or more database query language statements and to define an event delimiting processing of the request. The SQL enumerator is configured to record, based on the event, information indicative of how the database processed the statements produced during the event. The SQL enumerator is further configured to provide the recorded information and an indication of a relationship of the information to the request to an issuer of the request. | 05-09-2013 |
20130132370 | Hybrid Query Execution Plan - A procedural pattern in a received query execution plan can be matched to a stored pattern for which an equivalent declarative operator has been pre-defined. The query execution plan can describe a query for accessing data. A hybrid execution plan can be generated by replacing the procedural pattern with the equivalent declarative operator. A hybrid execution plan processing cost can be assigned to execution of the hybrid execution plan and a query execution plan processing cost can be assigned to execution of the query execution plan. The assigning can include evaluating a cost model for the hybrid execution plan and the query execution plan. The query can be executed using the hybrid execution plan if the hybrid execution plan processing cost is less than the query execution plan processing cost or the query execution plan if the hybrid execution plan processing cost is greater than the query execution plan processing cost. Related systems, methods, and articles of manufacture are disclosed. | 05-23-2013 |
20130144866 | FAULT TOLERANCE BASED QUERY EXECUTION - Various embodiments of systems and methods for a fault tolerance based query execution are described herein. Queries are received from users, the queries including operators. A multi-query optimization is performed on the operators included in the queries to obtain a query plan. A fault tolerance degree is determined for the operators included in the query plan. Based on the fault tolerance degree of the operators, nodes are assigned to the operators included in the query plan. The assigned nodes execute the operators included in the query plan to execute the queries. In one aspect, the nodes simultaneously execute the operators included in the query plan. | 06-06-2013 |
20130144867 | DATABASE PROCESSING METHOD, DATABASE PROCESSING SYSTEM AND DATABASE SERVER - It is provided a database processing method including: a first step of receiving a query request instructing to output the requested data as query results in a designated order; a second step of generating a query execution plan including an order of accessing tables for storing the data based on the received query request; a third step of acquiring the data requested based on the query request from the database based on the generated query execution plan; a fourth step of generating intermediate results including the acquired data; a fifth step of sorting the generated intermediate results in the designated order; a sixth step of judging, for each of the intermediate results, whether an order of the sorted intermediate results has been determined; and a seventh step of outputting the intermediate results whose order has been determined as the query results in order from a head thereof. | 06-06-2013 |
20130151504 | QUERY PROGRESS ESTIMATION - The claimed subject matter provides a method for providing a progress estimate for a database query. The method includes determining static features of a query plan for the database query. The method also includes selecting an initial progress estimator based on the static features and a trained machine learning model. The model is trained using static features of a plurality of query plans, and dynamic features of the plurality of query plans. Further, the method includes determining dynamic features of the query plan for each of a plurality of candidate estimators. Additionally, the method includes selecting a revised progress estimator based on the static features, the dynamic features and a trained machine learning model for each of the candidate estimators. The method further includes producing the progress estimate based on the revised progress estimator. | 06-13-2013 |
20130151505 | Interactive Query Plan Visualization and Optimization - A computer system affords a user the ability to interactively formulate, visualize, and modify query plans that are to be posed to a database. The computer system provides query visualization in the form of decision trees having nodes selectable/deselectable to search for alternative query plans with lower or minimum execution time. The estimated cost and/or the execution time of a subtree of a query plan may be mapped according to a rectangle area metaphore, with the area of a rectangle enclosed by a larger rectangle representing a parent node in the plan tree. Query plans may be saved by the system in order to facilitate their visualization, optimization, and/or modification at a later date. | 06-13-2013 |
20130159285 | MANY-CORE ALGORITHMS FOR IN-MEMORY COLUMN STORE DATABASES - A pattern can be identified in at least part of a query whose definition is received in a query request. The identified pattern can be matched with a set of pre-defined patterns, each of which has associated therewith at least one pre-compiled query execution sub-component of a plurality of pre-compiled query execution sub-components retained in a library. A plan for executing the query can be generated, for example by incorporating the pre-compiled query execution sub-component associated with the matched pattern into the plan based on a pseudo code representation of the plan derived from the definition. | 06-20-2013 |
20130159286 | GENERATION OF A QUERY PLAN FOR ACCESSING A DATABASE - A method of generating a query plan for accessing a database, comprising: receiving (S | 06-20-2013 |
20130173591 | DATA SCHEMA AND LANGUAGE - A system includes reception of a logical schema associated with a data store, generation of an input schema based on the logical schema, reception of an expression having a type of the input schema and representing the topology of a data set, the data set being an instance of the input schema, compilation of the expression to a data specification based on the input schema, and generation of a plan to execute on the data store based on the data specification. | 07-04-2013 |
20130185283 | QUERY OPTIMIZATION IN A PARALLEL COMPUTER SYSTEM WITH MULTIPLE NETWORKS - A database query optimizer optimizes a query that uses multiple networks. The database query optimizer optimizes a query that uses multiple networks to satisfy the query by splitting the query execution to use multiple networks. Thus, the query optimizer rewrites or optimizes a query to execute on multiple nodes or networks to more efficiently execute the query and reduce network traffic on a network. The query optimizer uses plan cache statistics to determine whether to use multiple networks to optimize the query. | 07-18-2013 |
20130191370 | System and Method for Querying a Data Stream - There is provided a method ( | 07-25-2013 |
20130198166 | REUSING EXISTING QUERY PLANS IN A DATABASE SYSTEM - A system and method for executing query plans preprocesses a user's queries to identify and extract select parameters of the query, creates a skeletal query with reference to the extracted parameters, creates and compiles an executable version of the skeletal query, then executes the compiled version of the skeletal query using the particular parameters in the current query. The compiled version of the parameterized skeletal query is stored, and when another query is submitted that matches the skeletal query (but with potentially different parameters), the previously compiled skeleton query is executed with the parameters of this latter query. | 08-01-2013 |
20130212085 | Parallelizing Query Optimization - A system, computer-implemented method, and computer-program product embodiments for generating an access plan. A query optimizer includes an enumeration method which enumerates a plurality of subsets of a query. Each subset in the query has a plurality of partitions. The partitions of each subset are enumerated into enumerated partitions using at least one thread. For each partition, physical access plans are generated, using at least one thread. Physical access plans are generated in parallel with other physical access plans of different partitions and with other enumerating partitions. The number of threads that perform the enumeration and the generation is dynamically adapted according to a pool of threads available during the enumeration of the partitions and the generation of physical access plans, and a complexity of the query. From the generated physical access plans, a final access plan for the query is determined by choosing the most efficient access plan. | 08-15-2013 |
20130212086 | ACTIVELY MANAGING RESOURCE BOTTLENECKS IN A DATABASE SYSTEM - A computer-implemented method, apparatus and article of manufacture for optimizing a database query. Resource usage of one or more resources of the computer system are monitored. A condition code representative of the monitored resource usage is stored. A cost model is modified using the stored condition code. A query execution plan is generated for the database query using the modified cost model. The query execution plan is then executed in order to retrieve data from a database stored on the computer system, wherein the retrieved data is presented to a user for subsequent use and analysis. | 08-15-2013 |
20130246393 | METHOD OF AND SYSTEM FOR REVERSE MAPPING VNODE POINTERS - Embodiment of the invention provide a reverse name lookup function for providing an absolute path name or file name and absolute path name to the file name parent directory based on a vnode reference, NFS file handle reference, or file identifier reference associated with a computer virtual file system. A method in accordance with the invention comprises populating a table structure with vnodes, names, and absolute path information associated with the vnodes. The table structure and information are sufficient to generate an absolute path name and file name for each vnode. The table structure also includes entries for file identifiers, names, and associated absolute path information associated with the file identifiers. This information is sufficient to generate an absolute path name for each file identifier. The table is populated by hooking virtual file system function calls including the vnode name lookup function and the vnode inactive function. The table is populated with the file identifier entries by hooking the vnode inactive function. | 09-19-2013 |
20130262436 | OBTAINING PARTIAL RESULTS FROM A DATABASE QUERY - A database query governor determines when a query cannot be executed within a defined time threshold, but still executes the query or some variant of the query so partial results for the query may be returned to the user after executing for less than the defined time threshold, instead of an error message indicating the query was not executed at all. The partial results provide information to the user that may be sufficient for some applications, or may indicate to the user how the query could be modified to run in less time. | 10-03-2013 |
20130262437 | Energy-Efficient Query Optimization - A query optimizer may determine the time sensitivity of a database query using the query semantics information. The query optimizer may determine a query execution plan based on the time sensitivity of the database query. The query execution plan may also be based on performance characteristics of database servers. | 10-03-2013 |
20130304723 | CHANGING THE COMPRESSION LEVEL OF QUERY PLANS - In an embodiment, a query plan is compressed to data in a cache at a high compression level if a runtime of a query that the query plan implements is greater than a high time threshold. The query plan is compressed to the data in the cache at a medium compression level if the runtime of the query that the query plan implements is less than the high time threshold and greater than a low time threshold. The query plan is stored to the data in the cache at an uncompressed level if the runtime of the query that the query plan implements is less than the low time threshold. | 11-14-2013 |
20130318068 | METHOD FOR SERIAL AND CONDITION-BASED EXECUTION OF OPERATORS BY PARALLEL PROCESSES - Techniques are provided for improving performance of parallel execution plans that include serial operations. A database server generates a parallel execution plan and includes one or more serial data flow objects in the parallel execution plan, each data flow object including one or more serial row sources. A parallel selector row source is associated with each serial data flow object included in the parallel execution plan. Each parallel selector row source coordinates with a query coordinator process the execution of the associated serial data flow object. In the event that that a plurality of serial data flow objects are included in a parallel execution plan, serial row sources included in the serial data flow objects may be executed concurrently by a separate parallel slave process, instead of sequential execution of each serial row source by the query coordinator process. | 11-28-2013 |
20130318069 | Plan Caching Using Density-Based Clustering - A query plan predictor receives a query instance according to a query template having a set of parameters. The query plan predictor determines a plan space point for the query instance which is based upon the set of parameters. The query plan predictor predicts a predicted query plan for the plan space point, which is selected from a map of query plans according to a confidence threshold from a plan cache that includes at least one histogram. Each histogram is representative of a cached query plan in the plan cache combined with a previously-selected locality-sensitive hashing function. The histogram stores a frequency distribution of a mapping of sample plan points for the cached query plan by the locality-sensitive hashing function. | 11-28-2013 |
20140006381 | PREDICATE PUSHDOWN WITH LATE MATERIALIZATION IN DATABASE QUERY PROCESSING | 01-02-2014 |
20140006382 | PREDICATE PUSHDOWN WITH LATE MATERIALIZATION IN DATABASE QUERY PROCESSING | 01-02-2014 |
20140006383 | SYSTEM FOR EVOLUTIONARY ANALYTICS | 01-02-2014 |
20140032528 | RELATIONAL DATABASE TREE ENGINE IMPLEMENTING MAP-REDUCE QUERY HANDLING - Methods and systems for processing a database query are disclosed. An example method includes receiving a SQL database query at a database query handling server, and parsing the SQL database query to identify a database and one or more tables and columns identified by the SQL database query. The method also includes determining a query plan based on the parsed database query. At a database engine, and based on the query plan and the identified database, tables and columns, the method further includes identifying a set of data nodes implicated by the identified database, tables and columns, determining a set of reduce operations and levels at which each of the set of map-reduce operations are to execute, and passing the query plan, the set of data nodes, and the map-reduce operations to a map-reduce query execution framework. The map-reduce query framework returns records as query results to the client system. | 01-30-2014 |
20140040235 | STATISTICS MANAGEMENT FOR DATABASE QUERYING - Methods and systems are provided for querying a database. One exemplary method for obtaining data from an on-demand database supporting one or more tenants involves obtaining model database statistics based on expected utilization information for a tenant and providing the model database statistics to the on-demand database. The on-demand database utilizes the model database statistics to generate a query plan and executes the query plan to obtain data from the model database statistics. | 02-06-2014 |
20140046928 | QUERY PLANS WITH PARAMETER MARKERS IN PLACE OF OBJECT IDENTIFIERS - In an embodiment, a first query is received that specifies a first object identifier. If a first query plan exists that implements the first query, except that the first query plan does not comprise the first object identifier and instead comprises a parameter marker in place of the first object identifier, a first query execution plan is created from the first query plan, substituting the first object identifier in the first query execution plan for the parameter marker, and the first query execution plan is executed to read a first object identified by the first object identifier. | 02-13-2014 |
20140052711 | CONSTRUCTING MULTIDIMENSIONAL HISTOGRAMS FOR COMPLEX SPATIAL GEOMETRY OBJECTS - Techniques are described for generating histograms for a multidimensional space. In the presence of large spatial objects, fuzzy splitting techniques are utilized to recursively divide the multidimensional space into partitions, where a single spatial object may belong to multiple partitions. Large spatial objects are essentially broken down into smaller objects that may allow for more efficient partitioning of the multidimensional space. A count of spatial objects in each partition yields a spatial histogram. A spatial object that belongs to multiple partitions may have a weighted count for each of the multiple partitions, based on the extent to which the spatial object overlaps with each partition. Thus, an object that is split among a handful of partitions will only contribute a fraction of a count to each partition. Small partitions having relatively few objects are avoided by refusing to subdivide a partition whose members drop below a threshold number. | 02-20-2014 |
20140067792 | Apparatus and Method for Operating a Distributed Database with Foreign Tables - A system includes a coordinator node and worker nodes in communication with the coordinator node. Each worker node stores data blocks. Each data block has data in a semi-structured format and each data block has an associated foreign table declaration specifying conversion of the data in the semi-structured format into a tabular format interpretable by a query language. A query processor executed by the coordinator node produces a distributed query plan in response to a query language query. The distributed query plan includes sub-queries. The sub-queries are executed by selected worker nodes of the worker nodes. The selected worker nodes use foreign table declarations to convert data in semi-structured formats into tabular formats of a distributed database to provide tabular data in response to the query language query. | 03-06-2014 |
20140067793 | Query Optimization for SPARQL - The present invention relates to computer implemented methods and system for creating and executing an query plan for SPARQL Protocol And Query Language (SPARQL) queries. The methods and systems are designed to accept as input a query in SPARQL syntax, convert this query to semQA2 and generate a parse tree, perform filter pushdown, generate an efficient query plan potentially using a cost function, and execute this query plan against data sources complying to or modeled as Resource Description Framework (RDF). The result of these methods and of the systems implementing these methods is a set of triples contained in the data sources that comprise a solution of the SPARQL query provided. | 03-06-2014 |
20140089293 | QUERY LANGUAGE TO TRAVERSE A PATH IN A GRAPH - A query language used to traverse a path in a graph-based model is provided. The system comprises a parsing module to parse a query comprising query phrases. The respective query phrases composed of an object-type identifier and a filter where the object-type identifier corresponds to respective repositories and the filter is used to identify at least a portion of the objects associated with the object-type in the respective repositories. A planning module identifies the respective repositories corresponding to the object-type identifier within each of the one or more query phrases and generates an execution plan describing data to be retrieved according to the respective repositories and results of a preceding query phrase within the query. A translation module translates the respective query phrases into respective translated queries that are readable by the respective repositories and including the filter. An execution module implements the execution plan using the translated queries. | 03-27-2014 |
20140089294 | SQL GENERATION FOR ASSERT, UPDATE AND DELETE RELATIONAL TREES - Presented is a system and method for evaluating relational database queries in a distributed system. An optimized query plan is received by a control node. The query plan is decoded to a SQL statement that is semantically equivalent to the query plan, even though the query plan contains elements that have no direct analogue in SQL. The decoded SQL is transmitted to a compute node for execution. | 03-27-2014 |
20140095473 | MANAGING CONTINUOUS QUERIES IN THE PRESENCE OF SUBQUERIES - Techniques for managing continuous queries that include subqueries are provided. In some examples, a continuous query that includes at least a subquery may be identified. Additionally, the subquery may be processed to obtain a first result or generate a logical subquery plan. Further, in some instances, the continuous query may then be processed based at least in part on the first result from the subquery or by merging a logical continuous query plan with the logical subquery plan. This may result in obtaining a second result via querying a data source with the continuous query that is based at least in part on the first result from the subquery and/or the merged plans. | 04-03-2014 |
20140095474 | CREATING AND USING DATA THAT INDICATES MISESTIMATES OF ACTUAL COSTS - Techniques for processing queries are provided. In one approach, an execution plan for a query includes multiple sub-plans, one or more of which are selected at runtime while one or more other sub-plans are not executed during execution of the execution plan. In another approach, data about misestimate is generated and stored persistently for subsequent queries. In another approach, statistics for a database object are generated automatically and efficiently while the database object is created or data items are added thereto. In another approach, a hybrid histogram is created that includes a feature of frequency histograms and a feature of height-balanced histograms. In another approach, computer jobs are executed in such a way to avoid deadlock. In another approach, changes to a database object trigger a hard parse of a query even though an execution plan already exists for the query. | 04-03-2014 |
20140095475 | TRIGGERING HARD PARSES - Techniques for processing queries are provided. In one approach, an execution plan for a query includes multiple sub-plans, one or more of which are selected at runtime while one or more other sub-plans are not executed during execution of the execution plan. In another approach, data about misestimate is generated and stored persistently for subsequent queries. In another approach, statistics for a database object are generated automatically and efficiently while the database object is created or data items are added thereto. In another approach, a hybrid histogram is created that includes a feature of frequency histograms and a feature of height-balanced histograms. In another approach, computer jobs are executed in such a way to avoid deadlock. In another approach, changes to a database object trigger a hard parse of a query even though an execution plan already exists for the query. | 04-03-2014 |
20140101131 | SWAPPING EXPECTED AND CANDIDATE AFFINITIES IN A QUERY PLAN CACHE - In an embodiment, a hit percentage of an expected affinity for a first query is calculated, wherein the expected affinity comprises a first address range in a query plan cache, a hit percentage of a candidate affinity for the first query is calculated, wherein the candidate affinity comprises a second address range in a query plan cache, and if the hit percentage of the candidate affinity is greater than the hit percentage of the expected affinity by more than a threshold amount, query plans in the candidate affinity are swapped with query plans in the expected affinity. | 04-10-2014 |
20140101132 | SWAPPING EXPECTED AND CANDIDATE AFFINITIES IN A QUERY PLAN CACHE - In an embodiment, a hit percentage of an expected affinity for a first query is calculated, wherein the expected affinity comprises a first address range in a query plan cache, a hit percentage of a candidate affinity for the first query is calculated, wherein the candidate affinity comprises a second address range in a query plan cache, and if the hit percentage of the candidate affinity is greater than the hit percentage of the expected affinity by more than a threshold amount, query plans in the candidate affinity are swapped with query plans in the expected affinity. | 04-10-2014 |
20140101133 | ESTIMATING ROWS RETURNED BY RECURSIVE QUERIES USING FANOUT - In an embodiment, a recursive query is received that comprises a first select statement with a seed select statement and a second select statement with a recursive reference, wherein the recursive query further identifies at least two columns in at least one table, wherein the at least two columns have parent-child relationships represented by nodes in a graph, wherein the graph represents the organization of values in rows in the at least one table. A target recursion depth is calculated for the graph based on a fanout of the graph. In an embodiment, the target recursion depth is calculated by summing the fanout at each recursion depth of the graph multiplied by a number of nodes at each recursion depth of the graph. An estimated number of rows that the recursive query will return is estimated based on the target recursion depth. | 04-10-2014 |
20140114952 | OPTIMIZING QUERIES OF PARALLEL DATABASES - The present invention extends to methods, systems, and computer program products for optimizing queries of parallel databases. Queries can be partially optimized at an optimizer that is unaware of its use to optimize queries for parallel processing. The optimizer can produce a data structure (e.g., a SQL Server MEMO) that encapsulates a logical serial plan search space. The logical serial plan search space may not incorporate any notion of parallelism into the plan space itself. A parallel-aware optimizer can parallelize the logical serial plan search space by augmenting the data structure (e.g., transforming the SQL Server MEMO into a parallel MEMO). Augmentation can be with data movement operations that move data associated one or more compute nodes in a distributed architecture. Cost estimates can be calculated for the operations contained in the parallelized data structure. The parallel plan with the lowest estimated cost can be selected for the query. | 04-24-2014 |
20140136512 | RELATIVE PERFORMANCE PREDICTION OF A REPLACEMENT DATABASE MANAGEMENT SYSTEM (DBMS) - Embodiments of the present invention provide a method, system and computer program product for pre-migration performance prediction of a database management system (DBMS). In an embodiment of the invention, a method for pre-migration performance prediction of a DBMS can include executing a calibration workload in a target DBMS to produce a conversion factor of cost of executing the calibration workload to temporal performance of executing the calibration workload. The method also can include subsequently submitting a sample workload from a database of a source DBMS for evaluation of cost of execution on an empty replica of the database in the target DBMS. Finally, the method can include predicting a temporal performance of the sample workload in the target DBMS as a product of the conversion factor and the cost of execution of the sample workload on the empty replica of the database in the target DBMS. | 05-15-2014 |
20140136513 | QUERY MANAGEMENT SYSTEM AND ENGINE ALLOWING FOR EFFICIENT QUERY EXECUTION ON RAW DETAILS - A database system maintains a feature set of a modern database system while operating directly on raw data files. Systems may use an adaptive indexing mechanism that maintains positional information to provide efficient access to raw data files, a flexible caching structure, and techniques for selective parsing and selective tokenizing. In doing so, possible performance bottlenecks associated with repeated parsing, tokenizing, and expensive data type conversion costs can be overcome. | 05-15-2014 |
20140136514 | SUPPORT FOR A PARAMETERIZED QUERY/VIEW IN COMPLEX EVENT PROCESSING - The present invention includes a method for providing parameterized queries in complex event processing (CEP). The method includes providing a query template which includes one or more bind variables, providing sets of parameters corresponding to the one or more bind variables, and parsing the query template to determine positions of the one or more bind variables. The method further includes scanning the provided sets of parameters to determine which of the sets of parameters are to be bound to the one or more bind variables, binding the one or more bind variables which are determined to be bound to the sets of parameters, and substituting the bound one or more bind variables with the corresponding sets of parameters. The method further includes injecting all incarnations of the parameterized queries into the system, and one template/parameterized query is configured to run them all. | 05-15-2014 |
20140136515 | METHOD AND SYSTEM FOR MANAGING DATABASE - A database management method generates an execution plan with respect to a factorized character string generated by factoring an execution value list of a query and storing the factorized character string and an execution plan identifier associated with the factorized character string. The method includes receiving a factorized character string generated from a query; determining whether the factorized character string is stored in a memory; transmitting an execution plan identifier matching the factorized character string stored in the memory when the factorized character string is stored in the memory; generating and transmitting an execution plan identifier with respect to an execution plan of the factorized character string when the factorized character string is not stored in the memory; receiving a query request consisting of the execution plan identifier and an execution value list included in the query; and providing a query result obtained using the query request. | 05-15-2014 |
20140156636 | DYNAMIC PARALLEL AGGREGATION WITH HYBRID BATCH FLUSHING - A method, apparatus, and system for dynamic parallel aggregation with hybrid batch flushing are provided. Record sources of an aggregation operator in a query execution plan may dynamically aggregate using the same aggregation operator. The dynamic aggregation creates a batch of aggregation records from an input source, which are then used to aggregate further records from the input source. If a record from the input source is not matched to an aggregation record in the batch, then the record is passed to the next operator. In this manner, records are aggregated ahead of time at a record source to reduce the number of records passed between operators, reducing the impact of network I/O between nodes of a parallel processing system. By adjusting the contents of the batch according to aggregation performance monitored during run-time, hybrid batch flushing can be implemented to adapt to changing data patterns and skewed values. | 06-05-2014 |
20140164355 | TUPLE ROUTING IN A STREAMING APPLICATION - A system and method for modifying the processing within a streaming application are disclosed. The method may determine one or more parameters for a tuple at a first stream operator. The one or more parameters may represent a processing history of the tuple at the first stream operator. The method may associate the one or more parameters with the tuple metadata. A second stream operator may modify the processing of the tuple if the parameter falls outside a threshold. | 06-12-2014 |
20140164356 | TUPLE ROUTING IN A STREAMING APPLICATION - A system and method for modifying the processing within a streaming application are disclosed. The method may determine one or more parameters for a tuple at a first stream operator. The one or more parameters may represent a processing history of the tuple at the first stream operator. The method may associate the one or more parameters with the tuple metadata. A second stream operator may modify the processing of the tuple if the parameter falls outside a threshold. | 06-12-2014 |
20140172823 | USING TEMPORARY PERFORMANCE OBJECTS FOR ENHANCED QUERY PERFORMANCE - Methods and apparatus, including computer program products, implementing and using techniques for optimizing query performance in a relational database management system. A query is received at the relational database management system. It is determined whether the query is expected to be a long-running query. In response to determining that the query is expected to be a long-running query, a full table scan is started in order to fetch records needed to satisfy the query from the relational database management system. In parallel with conducting the full table scan, a performance object is built, which is capable of satisfying the query in the relational database management system. In response to completing the construction of the performance object prior to completing the full table scan, the full table scan is stopped and the newly built performance object is used instead to satisfy the query. | 06-19-2014 |
20140181078 | CARDINALITY ESTIMATION FOR OPTIMIZATION OF RECURSIVE OR ITERATIVE DATABASE QUERIES BY DATABASES - An execution plan for executing one or more iterations of recursive database queries can be generated in accordance with one aspect of the invention. For example, in accordance with one embodiment of the invention, one or more cardinalities (results or size of results, including intermediate results) associated with one or more iterations can be estimated. This estimation can, for example, by performed by using a sampling or sampling-based algorithm. | 06-26-2014 |
20140181079 | ADAPTIVE OPTIMIZATION OF ITERATIVE OR RECURSIVE QUERY EXECUTION BY DATABASE SYSTEMS - Based on one or more predicated results (e.g., estimations of the actual results) associated with one or more iterations and/or sub-queries of an iterative or recursive database query, it can be determined whether to use an execution plan (e.g., a current execution plan used to execute one or more iterations) to execute one or more other iterations and/or sub-queries of the iterative or recursive database query. Consequently, use of the execution plan to execute the one or more other iterations and/or sub-queries of the iterative or recursive database query can be disallowed. As a result, the iterative or recursive database query can be executed more efficiently. The determination of whether to use an execution plan can, for example, be performed by determining whether an actual result obtained by executing one or more iterations differs or diverges more than a determined value from an estimated result of the same iteration(s). | 06-26-2014 |
20140188841 | Method for Two-Stage Query Optimization in Massively Parallel Processing Database Clusters - Queries may be processed more efficiently in an massively parallel processing (MPP) database by locally optimizing the global execution plan. The global execution plan and a semantic tree may be provided to MPP data nodes by an MPP coordinator. The MPP data nodes may then use the global execution plan and the semantic tree to generate a local execution plan. Thereafter, the MPP data nodes may select either the global execution plan or the local execution plan is accordance with a cost evaluation. | 07-03-2014 |
20140207755 | System for Multi-store Analytics Execution Environments with Storage Constraints - Systems and methods are disclosed for managing a multi-store execution environment by applying opportunistic materialized views to improve workload performance and executing a plan on multiple database engines to increase query processing speed by leveraging unique capabilities of each engine by enabling stages of a query to execute on multiple engines, and by moving materialized views across engines. | 07-24-2014 |
20140207756 | USING TEMPORARY PERFORMANCE OBJECTS FOR ENHANCED QUERY PERFORMANCE - Methods for optimizing query performance in a relational database management system. A query is received at the relational database management system. It is determined whether the query is expected to be a long-running query. In response to determining that the query is expected to be a long-running query, a full table scan is started in order to fetch records needed to satisfy the query from the relational database management system. In parallel with conducting the full table scan, a performance object is built, which is capable of satisfying the query in the relational database management system. In response to completing the construction of the performance object prior to completing the full table scan, the full table scan is stopped and the newly built performance object is used instead to satisfy the query. | 07-24-2014 |
20140214798 | Resource Estimation For A Query Optimization Process - Disclosed herein are system, method, and computer program product embodiments for performing resource estimation for query optimization. An embodiment operates by generating a subplan for which an optimization process may be invoked, predicting performance and resource consumption for optimizing the subplan by measuring similarity between a hypergraph of the subplan and one or more etalon queries having known performance and resource consumption properties, selecting an algorithm for optimizing the subplan from a plurality of optimization algorithms based on the performance and resource consumption properties, and generating an optimized access plan using the selected algorithm. | 07-31-2014 |
20140214799 | Enhancing Parallelism in Evaluation Ranking/Cumulative Window Functions - According to one aspect of the invention, for a database statement that specifies evaluating ranking or cumulative window functions, an execution strategy based on an extended data distribution key may be used for the database statement. In the execution strategy, each sort operator of multiple parallel processing sort operators computes locally evaluated results of a ranking or cumulative window function based on a subset of rows in all rows used to evaluate the database statement, and sends the first and last rows' locally evaluated results to a query coordinator. The query coordinator consolidates the locally evaluated results received from the multiple parallel processing sort operators and sends consolidated results to the sort operators based on their respective demographics. Each sort operator completes full evaluation of the ranking or cumulative window functions based at least in part on one or more of the consolidated results provided by the query coordinator. | 07-31-2014 |
20140214800 | Data-Aware Scalable Parallel Execution of Rollup Operations - According to one aspect of the invention, for a database statement that specifies rollup operations, a data distribution key may be selected among a plurality of candidate keys. Numbers of distinct values of the candidate keys may be monitored with respect to a particular set of rows. Hash values may also be generated by column values in the candidate keys. The data distribution key may be determined based on results of monitoring the numbers of distinct values of the candidate keys as well as the frequencies of hash values computed based on column values of the candidate keys. Rollup operations may be shared between different stages of parallel executing processes and data may be distributed between the different stages of parallel executing processes based on the selected data distribution key. | 07-31-2014 |
20140222779 | SIMPLIFIED QUERY GENERATION FROM PRIOR QUERY RESULTS - Embodiments of the present invention provide a method, system and computer program product for query generation from a previous result set. In an embodiment of the invention, a method for query generation from a previous result set is provided. The method includes identifying commonalities in a selection of records of a result set produced by a previously issued query against a database in a database management system executing in memory by at least one processor of a host server. The method further includes deriving a query from the identified commonalities that when executed against the database management system would produce the selection of records as the result set. Finally, the method includes storing the derived query for subsequent use in querying the database. | 08-07-2014 |
20140236921 | SQL EXECUTION PLAN VERIFICATION - Approaches, techniques, and mechanisms are disclosed for ensuring that a database command is executed according to a query plan that has been verified to be actually optimal. Except in rare circumstances, a database server does not execute a query plan unless it is first verified by the database server. The database server receives a request to execute a database command. The database server determines an unverified plan is the best plan for satisfying the request. Rather than risk the unknown behavior of an unverified plan, the database server instead satisfies the request according to a verified plan. Subsequently—for example as part of a scheduled job—the database server executes the unverified plan to determine performance statistics. Based at least on the performance statistics, the database server determines whether or not to verify the unverified plan. Techniques for concurrent and optimistic verifications are also disclosed. | 08-21-2014 |
20140250103 | OBTAINING PARTIAL RESULTS FROM A DATABASE QUERY - A database query governor determines when a query cannot be executed within a defined time threshold, but still executes the query or some variant of the query so partial results for the query may be returned to the user after executing for less than the defined time threshold, instead of an error message indicating the query was not executed at all. The partial results provide information to the user that may be sufficient for some applications, or may indicate to the user how the query could be modified to run in less time. | 09-04-2014 |
20140258266 | METHODS AND APPARATUS OF SHARED EXPRESSION EVALUATION ACROSS RDBMS AND STORAGE LAYER - Techniques are provided for sharing expression evaluation across a database management system and a storage layer. According to an embodiment, a plurality of target operators are identified that include a common expression. Each respective target operator corresponds to a step that evaluates the common expression during query execution. The plurality of target operators are modified to enable sharing of an evaluation result of the common expression. The query is executed according to the target operators. During query execution, the evaluation result is shared by the target operators. In other embodiments, the evaluation of the common expression is pushed to a storage layer. During query execution, a database management system retrieves the evaluation result of the common expression from the storage layer. | 09-11-2014 |
20140280030 | METHOD OF CONVERTING QUERY PLANS TO NATIVE CODE - Performing database queries. A method includes receiving a particular database query. The method further includes accessing a query plan based on the particular database query. The query plan has operators and specific operational parameters associated with each of the operators. The association of operators and specific operational parameters is specific to the particular database query. From the query plan, the method further includes instantiating a plurality of compiled code templates. Each code template includes executable code that when executed performs functionality of one of the operators from the query plan with the specific operational parameters applied in the compilation. The method further includes binding the code templates together using programmatic control flow to create a functioning program. | 09-18-2014 |
20140280031 | System and Method for Adaptive Vector Size Selection for Vectorized Query Execution - System and method embodiments are provided for adaptive vector size selection for vectorized query execution. The adaptive vector size selection is implemented in two stages. In a query planning stage, a suitable vector size is estimated for a query by a query planner. The planning stage includes analyzing a query plan tree, segmenting the tree into different segments, and assigning to the query execution plan an initial vector size to each segment. In a subsequent query execution stage, an execution engine monitors hardware performance indicators, and adjusts the vector size according to the monitored hardware performance indicators. Adjusting the vector size includes trying different vector sizes and observing related processor counters to increase or decrease the vector size, wherein the vector size is increased to improve hardware performance according to the processor counters, and wherein the vector size is decreased when the processor counters indicate a decrease in hardware performance. | 09-18-2014 |
20140280032 | LOW LATENCY QUERY ENGINE FOR APACHE HADOOP - A low latency query engine for Apache Hadoop that provides real-time or near real-time, ad hoc query capability, while completing batch-processing of MapReduce. In one embodiment, the low latency query engine comprises a daemon that is installed on data nodes in a Hadoop cluster for handling query requests and all internal requests related to query execution. In a further embodiment, the low latency query engine comprises a daemon for providing name service and metadata distribution. The low latency query engine receives a query request via client, turns the request into collections of plan fragments and coordinates parallel and optimized execution of the plan fragments on remote daemons to generate results at a much faster speed than existing batch-oriented processing frameworks. | 09-18-2014 |
20140280033 | RULE TRIGGERING FOR SEARCH RULE ENGINE - A computer-implemented system and method of executing search queries by a search rule engine is disclosed. Embodiments of the present disclosure comprise a search engine that may evaluate an arbitrary number of rule triggering conditions with constant run-time complexity, which may result in increased efficiency and faster searching relative to traditional search rule engine methods. | 09-18-2014 |
20140280034 | FAIR SCHEDULING FOR MIXED-QUERY LOADS - A fair scheduling system with methodology for fairly scheduling queries for execution by a database management system is disclosed. The techniques involve obtaining computer-executable query jobs and cost estimates to execute the query jobs. For example, the cost estimate can be a number of results the query is expected to return. Based on the cost estimates, the fair scheduling system causes the database management system to execute the query jobs as separately executable sub-query tasks in a round-robin fashion which can decrease latency of low cost queries concurrently executing with high cost queries. | 09-18-2014 |
20140280035 | DISTANCE-BASED LOGICAL EXPLORATION IN A RELATIONAL DATABASE QUERY OPTIMIZER - Systems and methods are described that generate an execution plan for a query in a relational database system. The systems and methods generate the execution plan by generating one or more initial logical representations of the query, performing an exploration process around each of the one or more initial logical representations of the query, the performing of the exploration process around a particular initial logical representation of the query comprising applying transformation rules to generate one or more additional logical representations of the query that are logically equivalent to the particular initial logical representation of the query and that are within a maximum allowable transformation distance of the particular initial logical representation of the query, generating one or more execution plans for each initial logical representation of the query and each additional logical representation of the query, and selecting an execution plan from among the generated execution plans. | 09-18-2014 |
20140280036 | TECHNIQUES FOR IMPROVING THE PERFORMANCE OF COMPLEX QUERIES - Techniques for improving complex database queries are provided. A determination is made whether to adopt a static or dynamic query execution plan based on metrics. When the dynamic query execution plan is used, a request fragment of the request is planned and the corresponding plan fragment is executed. The processed fragment provides feedback related to its processing to the remaining request and the process is repeated on the remaining request until the request is completed. | 09-18-2014 |
20140289221 | METHOD FOR PROCESSING STREAM DATA AND SYSTEM THEREOF - A network interface receives stream data and a processor processes the stream data. The processor: constructs an operator graph comprising information regarding a plurality of operators for processing the stream data based on a query; assigns an operator execution order to the plurality of operators based on an inter-operator input and output relation, with respect to all of the operators on the operator graph; extracts a set of the operators that maintains the stream data assigned with a time stamp, a time of which is earlier than or equal to a reference time, in an input queue; and executes processing of the stream data assigned with the time stamp, having the earliest time, in the operator assigned a minimum operator graph execution order among the operators and maintaining the stream data assigned with the time stamp having the earliest time, among the extracted set of the operators. | 09-25-2014 |
20140297619 | PSM COMPILER OPTIMIZER AND METHOD FOR PROCESSING BULK DML - A PSM complier optimizer analyzes a pattern of the PSM program to generate instruction codes, which will be subjected to a bulk operation and makes the instruction codes for the bulk operation in a form of an array of bind parameters to perform a bulk cursor. Accordingly, the bulk DML processing improves the performance of the PSM program. | 10-02-2014 |
20140304251 | Method and Apparatus for Optimizing the Evaluation of Semantic Web Queries - A semantic query over an RDF database is received with RDF database statistics and access methods for evaluating triple patterns in the query. The semantic query is expressed as a parse tree containing triple patterns and logical relationships among the triple patterns. The parse tree and access methods create a data flow graph containing a plurality of triple pattern and access method pair nodes connected by a plurality of edges, and an optimal flow tree through the data flow graph is determined such that costs are minimized and all triple patterns in the semantic query are contained in the optimal flow tree. A structure independent execution tree defining a sequence of evaluation through the optimal flow tree is created and is transformed into a database structure dependent query plan. This is used to create an SQL query that is used to evaluate the semantic query over the RDF database. | 10-09-2014 |
20140310258 | Fault Tolerant Distributed Query Processing Using Query Operator Motion - Techniques for enabling fault tolerant distributed query processing are provided. In one embodiment, a first processing node in a plurality of processing nodes can execute an instance of a query operator, where the query operator is part of a query plan for a database query that is processed in a distributed manner by the plurality of processing nodes. The first processing node can further generate a snapshot of the instance of the query operator, where the snapshot includes state information usable for moving execution of the query operator from the first processing node to another processing node after a failure of the first processing node. The first processing node can then save the snapshot to a distributed data store. | 10-16-2014 |
20140310259 | Dynamic Load Balancing During Distributed Query Processing Using Query Operator Motion - Techniques for performing dynamic load balancing during distributed query processing are provided. In one embodiment, a first processing node in a plurality of processing nodes can execute an instance of a query operator, where the query operator is part of a query plan for a database query that is processed in a distributed manner by the plurality of processing nodes. The first processing node can further monitor its load level while the executing occurs. If the load level exceeds a threshold, the first processing node can split an amount of remaining work that is associated with the executing into a first portion and a second portion, determine state information for moving execution of the second portion from the first processing node to a second processing node, and save the state information to a distributed data store. | 10-16-2014 |
20140310260 | USING PERSISTENT DATA SAMPLES AND QUERY-TIME STATISTICS FOR QUERY OPTIMIZATION - Techniques for storing and querying graph data in a key-value store are provided. A graph statement (e.g., an RDF graph statement) includes a plurality of values, at least two of which correspond to nodes in a graph. A key is generated based on the graph statement. The key may be generated based on concatenating hash values that are generated based on the plurality of values. The key-value store stores the key. The value that corresponds to the key may be a null or empty value. In response to a graph query (e.g., in SPARQL) that includes one or more query patterns, each of which includes one or more values, a key is generated based on the one or more values and sent to the key-value store, which returns one or more other keys, each of which is a superset of the generated key. | 10-16-2014 |
20140317088 | OPTIMIZATION OF DATABASE QUERIES FOR DATABASE SYSTEMS AND ENVIRONMENTS - As an abstract representation, a set of equivalent logical structures representative of multiple execution plans for execution of a database query can be used to optimize a database query. A logical structure can include one or more logical operators each representing multiple physical operators for executing the database query. Group and Operator Rules can be applied as rules to the set of equivalent logical structures to obtain additional equivalent logical structures and logical operator until no additional logical operators can be obtained. A set of possible implementation plans for the total number of the obtained logical operators can be obtained, for example, based on physical and/or implementation context. An optimization request can be effectively propagated through an implantation plan in a top-down manner, for example, recursively for each child of physical operators, where only new contexts are optimized, in order to generate an optimized structure, for example, in consideration of, implementation details, costs, physical properties, etc. One of the optimized structures can be selected as an optimal plan. | 10-23-2014 |
20140337315 | METHOD AND SYSTEM FOR STORING, ORGANIZING AND PROCESSING DATA IN A RELATIONAL DATABASE - A system and method of processing a data query in a data processing system is provided. The data in the data processing system includes a plurality of individual data elements. The data elements are grouped and stored in at least one data unit. The information about the at least one data unit is gathered and stored in at least one information unit. The method comprises receiving the data query to be executed; using the information in the at least one information unit to optimize and execute the query; resolving the data query; and returning results of the data query for use by the data processing system. | 11-13-2014 |
20140344246 | DATA STREAMING FOR INTERACTIVE DECISION-ORIENTED SOFTWARE APPLICATIONS - Providing data to a computer software application by intercepting a request made by a computer software application to retrieve a first data set from a first data storage location, accessing a record, defined in advance of the request, that includes a reference to the first data set and a reference to a second data set, retrieving the first data set from a data storage location other than the first data storage location, and retrieving the second data set from a data storage location other than the first data storage location in advance of a request by the computer software application to access the second data set at the first data storage location. | 11-20-2014 |
20140351239 | HARDWARE ACCELERATION FOR QUERY OPERATORS - A hardware device is used to accelerate query operators including Where, Select, SelectMany, Aggregate, Join, GroupBy and GroupByAggregate. A program that includes query operators is processed to create a query plan. A hardware template associated with the query operators in the query plan is used to configure the hardware device to implement each query operator. The hardware device can be configured to operate in one or more of a partition mode, hash table mode, filter and map mode, and aggregate mode according to the hardware template. During the various modes, configurable cores are used to implement aspects of the query operators including user-defined lambda functions. The memory structures in the hardware device are also configurable and used to implement aspects of the query operators. The hardware device can be implemented using a Field Programmable Gate Array or an Application Specific Integrated Circuit. | 11-27-2014 |
20140351240 | DATA STREAMING FOR INTERACTIVE DECISION-ORIENTED SOFTWARE APPLICATIONS - Providing data to a computer software application by intercepting a request made by a computer software application to retrieve a first data set from a first data storage location, accessing a record, defined in advance of the request, that includes a reference to the first data set and a reference to a second data set, retrieving the first data set from a data storage location other than the first data storage location, and retrieving the second data set from a data storage location other than the first data storage location in advance of a request by the computer software application to access the second data set at the first data storage location. | 11-27-2014 |
20140358895 | EIGENVALUE-BASED DATA QUERY - Embodiments relate to an eigenvalue-based data query. An aspect includes receiving a query request that includes a query statement. Another aspect includes calculating eigenvalues of key component elements in the query statement. Another aspect includes matching eigenvalues of nodes in an execution plan of a historical query statement to the eigenvalues of the key component elements. Yet another aspect includes based on determining success of matching the eigenvalues of the key component elements to the eigenvalues of the nodes in an execution plan of the historical query statement, generating an execution plan of the query statement. | 12-04-2014 |
20140379693 | METHODS AND SYSTEMS FOR ONE DIMENSIONAL HETEROGENEOUS HISTOGRAMS - A method and system to generate cardinality estimates for at least one query execution plan for a query using a histogram, the cardinality estimation being constrained by a q-error that is a factor by which the estimate deviates, at most, from a true value of the cardinality and a threshold value which the cardinality does not exceed; use the cardinality estimation to determine an optimal query plan for executing the query; and produce an output of the optimal query plan. | 12-25-2014 |
20150012522 | METHOD FOR SYNTHETIC DATA GENERATION FOR QUERY WORKLOADS - Generation of synthetic database data includes annotated query subplans for a multiple table query workload that includes a desired cardinality for nodes (v) in the subplans. The subplans may be merged and represented by a direct acyclic graph (DAG). The maximum entropy joint probability distribution for each attribute (x) for each node (v) is determined as: | 01-08-2015 |
20150012523 | METHOD FOR SYNTHETIC DATA GENERATION FOR QUERY WORKLOADS - Generation of synthetic database data includes annotated query subplans for a multiple table query workload that includes a desired cardinality for nodes (v) in the subplans. The subplans may be merged and represented by a direct acyclic graph (DAG). The maximum entropy joint probability distribution for each attribute (x) for each node (v) is determined as: | 01-08-2015 |
20150026154 | Processing Database Queries Using Format Conversion - Devices, methods and systems for processing database queries formatted differently than the database storage model being queried are disclosed. Processing database queries independent of the storage model of the queried database may be performed by receiving a query for one or more data items stored in a database, determining whether to use at least one query operator that uses data having a format different from the storage model format of at least one of one or more data items stored in the database and converting the format of the data used by the at least one query operator to a format that matches the storage model format of at least one of one or more data items stored in the database. Related systems, methods, and articles of manufacture are also described. | 01-22-2015 |
20150032722 | OPTIMIZATION OF DATABASE QUERIES FOR DATABASE SYSTEMS AND ENVIRONMENTS - As an abstract representation, a set of equivalent logical structures representative of multiple execution plans for execution of a database query can be used to optimize a database query. A logical structure can include one or more logical operators each representing multiple physical operators for executing the database query. Group and Operator Rules can be applied as rules to the set of equivalent logical structures to obtain additional equivalent logical structures and logical operator until no additional logical operators can be obtained. A set of possible implementation plans for the total number of the obtained logical operators can be obtained, for example, based on physical and/or implementation context. An optimization request can be effectively propagated through an implantation plan in a top-down manner, for example, recursively for each child of physical operators, where only new contexts are optimized, in order to generate an optimized structure, for example, in consideration of, implementation details, costs, physical properties, etc. One of the optimized structures can be selected as an optimal plan. | 01-29-2015 |
20150032723 | DATABASE SYSTEM FOR EXECUTING PARAMETER-SENSITIVE QUERY - A query is received. The query comprises a plural number of efficiency expressions. A key is generated for the query indicating a first selectivity region in multi-dimensional selectivity space comprising an array of selectivity regions arranged according to a grid with a number of dimensions equal to the plural number. The generated key is used to look up a stored query plan among a plurality of stored query plans. A stored query plan is executed for the query that is associated with a stored key determined to match the generated key. | 01-29-2015 |
20150039586 | Local Versus Remote Optimization in Encrypted Query Processing - Methods, systems, and computer-readable storage media for optimizing query processing in encrypted databases. In some implementations, actions include receiving a query that is to be used to query an encrypted database, generating a plurality of query plans based on the query, each query plan including a local query and one or more remote queries, the local query being executable at a client-side and the one or more remote queries being executable at a server-side, selecting an optimal query plan from the plurality of query plans, providing one or more remote queries of the optimal query plan to the server-side for execution, receiving one or more remote results, and processing a local query of the optimal query plan and the one or more remote results to provide a final query result. | 02-05-2015 |
20150039587 | GENERIC SQL ENHANCEMENT TO QUERY ANY SEMI-STRUCTURED DATA AND TECHNIQUES TO EFFICIENTLY SUPPORT SUCH ENHANCEMENTS - The approaches described herein provide an efficient way for a database server to support storage and retrieval for any of a growing number of semi-structured data formats. In one embodiment, a set of generic semi-structured data operators are provided that enable users to query, update, and validate data stored in any of a number of semi-structured data formats. In this context, a “generic” semi-structured data operator means a data operator that may be configured to operate on any number of different semi-structured data formats. For example, according to one embodiment, the same set of generic semi-structured data operators may be used to operate on data stored according to the XML, JSON, or any number of other semi-structured data formats. | 02-05-2015 |
20150039588 | SPLIT PROCESSING PATHS FOR A DATABASE CALCULATION ENGINE - A dynamic split node defined within a calculation model can receive data being operated on by a calculation plan generated based on the calculation model. A partition specification can be applied to one or more reference columns in a table containing at least some of the received data. The applying can cause the table to be split such that a plurality of records in the table are partitioned according to the partition specification. A separate processing path can be set for each partition, and execution of the calculation plan can continue using the separate processing paths, each of which can be assigned to a processing node of a plurality of available processing nodes. | 02-05-2015 |
20150046428 | SCALABLE ACCELERATION OF DATABASE QUERY OPERATIONS - Embodiments include methods, systems and computer program products for offloading multiple processing operations to an accelerator. Aspects include receiving a database query from an application, performing an analysis on the query, and identifying a plurality of available accelerators. Aspects further include retrieving cost information for one or more templates available on each of the plurality of available accelerators, determining a query execution plan based on the cost information and the analysis on the query, and offloading one or more query operations to at least one of the plurality of accelerators based on the query execution plan. | 02-12-2015 |
20150046429 | Smart Query Plan with Visual Optimizations to Improve Responsiveness - Methods and systems may provide for identifying one or more visualization characteristics of a user interface (UI) associated with an application on a client device and generating a query plan based on the one or more visualization characteristics, a historical performance of a network infrastructure and a current status of the network infrastructure. In addition, a response to a query from the application may be generated in accordance with the query plan. In one example, generating the query plan includes selecting a number of elements in a responsive data set and/or selecting one or more of a plurality of service endpoints in the network infrastructure to handle the query based at least in part on the one or more visualization characteristics. | 02-12-2015 |
20150046430 | SCALABLE ACCELERATION OF DATABASE QUERY OPERATIONS - Embodiments include methods, systems and computer program products for offloading multiple processing operations to an accelerator. Aspects include receiving a database query from an application, performing an analysis on the query, and identifying a plurality of available accelerators. Aspects further include retrieving cost information for one or more templates available on each of the plurality of available accelerators, determining a query execution plan based on the cost information and the analysis on the query, and offloading one or more query operations to at least one of the plurality of accelerators based on the query execution plan. | 02-12-2015 |
20150058316 | Continuous Cloud-Scale Query Optimization and Processing - Runtime statistics from the actual performance of operations on a set of data are collected and utilized to dynamically modify the execution plan for processing a set of data. The operations performed are modified to include statistics collection operations, the statistics being tailored to the specific operations being quantified. Optimization policy defines how often optimization is attempted and how much more efficient an execution plan should be to justify transitioning from the current one. Optimization is based on the collected runtime statistics but also takes into account already materialized intermediate data to gain further optimization by avoiding reprocessing. | 02-26-2015 |
20150066900 | High Performance Index Creation On Sorted Data Using Parallel Query Plans - Creation of an index for a table of sorted data for use by a data storage application is initiated. Thereafter, N+1 logical partition of rows of the table are defined so that each logical partition has a corresponding worker process. Each worker process then builds a sub-index based on the corresponding logical partition which are later merged to form the index. Related apparatus, systems, techniques and articles are also described. | 03-05-2015 |
20150081669 | FULLY AUTOMATED SQL TUNING - Techniques are provided for a fully-automated process for tuning database query language statements that selects database query language statements for tuning, tunes the database query language statements and generates tuning recommendations, tests the tuning recommendations, and determines whether to implement the tuning recommendations based on the test results. The fully-automated tuning process may also automatically implement certain tuning recommendations and monitor the performance of the database query language statements for which tuning recommendations have been implemented. | 03-19-2015 |
20150088857 | METHOD AND SYSTEM FOR PERFORMING QUERY OPTIMIZATION USING A HYBRID EXECUTION PLAN - An improved method, system, and computer program product is disclosed that provides a hybrid approach to optimization which allows different subsets of data accessed by a query to be optimized with different access paths and execution approaches. Transformations may be performed to re-write the query, which restructures the query in a way that facilitates the hybrid optimization process. Multiple transformations may be interleaved to produce an efficient re-written query. | 03-26-2015 |
20150095308 | BACKGROUND FORMAT OPTIMIZATION FOR ENHANCED SQL-LIKE QUERIES IN HADOOP - A format conversion engine for Apache Hadoop that converts data from its original format to a database-like format at certain time points for use by a low latency (LL) query engine. The format conversion engine comprises a daemon that is installed on each data node in a Hadoop cluster. The daemon comprises a scheduler and a converter. The scheduler determines when to perform the format conversion and notifies the converter when the time comes. The converter converts data on the data node from its original format to a database-like format for use by the low latency (LL) query engine. | 04-02-2015 |
20150095309 | Many-Core Algorithms for In-Memory Column Store Databases - A pattern can be identified in at least part of a query whose definition is received in a query request. The identified pattern can be matched with a set of pre-defined patterns, each of which has associated therewith at least one pre-compiled query execution sub-component of a plurality of pre-compiled query execution sub-components retained in a library. A plan for executing the query can be generated, for example by incorporating the pre-compiled query execution sub-component associated with the matched pattern into the plan based on a pseudo code representation of the plan derived from the definition. | 04-02-2015 |
20150100566 | TECHNIQUES AND MECHANISMS FOR MANAGING AND ANALYZING DATABASE QUERY ACTIVITIES - Techniques and mechanisms for analyzing a plurality of database queries within a database environment. A first statistical evaluation of a first query plan is determined for a first database query with at least one computing device within the database environment. A second statistical evaluation for a second query plan is determined for a second database query. The first statistical evaluation and the second statistical evaluation are compared to determine whether the first query plan matches the second query plan with at least one computing device within the database environment. An indication is stored in a repository of the database environment that the first query matches the second query if the first hash value matches the second hash value. A function that provides the first query plan is determined. If the second query plan is provided by the function that provides the first query plan, data objects referenced by the first query plan and the second query plan if the function provides both the first query plan and the second query plan to determine if the first query plan and the second query plan are syntactically different versions of equivalent database queries. Query statistics are stored in the statistical repository if the first query plan and the second query plan are syntactically different versions of equivalent database queries. | 04-09-2015 |
20150112964 | QUERY OPTIMIZATION CONSIDERING VIRTUAL MACHINE MIRRORING COSTS - Techniques are disclosed for selecting between query execution plans in part based on VM mirroring costs. In one embodiment, a query optimizer determines runtimes for multiple query execution plans, and modifies these runtimes based on flashing cost, which is itself determined based on the amount of memory which needs to be flashed to the secondary memory if each execution plan is executed. In so doing, the query optimizer may select a execution plan which takes a longer to run, but incurs less flashing cost. By considering both the query runtime itself and the flashing cost, the query optimizer may be better able to determine the fastest query execution plan to execute. | 04-23-2015 |
20150112965 | DATABASE MANAGEMENT SYSTEM, COMPUTER, AND DATABASE MANAGEMENT METHOD - A database management system (DBMS) generates a query execution plan including information representing one or more database (DB) operations necessary for executing a query, and executes the query in accordance with the query execution plan. In the execution of the query, the DBMS dynamically generates tasks for executing the DB operations and executes the dynamically generated tasks. The query execution plan includes a plurality of query blocks, which are sets of one or more DB operations. When newly generating a task, the DBMS executes determination processing of simultaneous-task-generation number. The determination processing of simultaneous-task-generation number is to calculate, targeting each of the query blocks, the number of simultaneous task generation, which is the number of tasks simultaneously generatable as tasks for executing the query block. The number of the dynamically generated tasks is equal to or smaller than the number of simultaneous task generation. | 04-23-2015 |
20150112966 | DATABASE MANAGEMENT SYSTEM, COMPUTER, AND DATABASE MANAGEMENT METHOD - A database management system (DBMS) generates a query execution plan including information indicating one or more database (DB) operations necessary to execute the query. The DBMS dynamically generates a task for executing the DB operation in execution of the query. The DBMS performs a determination processing of simultaneous-task-generation number when newly creating a task. The determination processing of simultaneous-task-generation number is to calculate the number of simultaneous task generation, which is the number of tasks that can be generated simultaneously, based on the number of tasks which can be newly generated, a first memory resource amount which is the amount of memory resources necessary to be allocated per task newly generated, and a second memory resource amount which is the number of memory resources that can be newly allocated. The number of tasks generated dynamically and simultaneously is equal to or smaller than the calculated number of simultaneously generatable tasks. | 04-23-2015 |
20150112967 | DATABASE MANAGEMENT SYSTEM, COMPUTER, AND DATABASE MANAGEMENT METHOD - A database management system (DBMS) generates a query execution plan including information representing one or more database (DB) operations necessary for executing a query and executes the query based on the query execution plan. In the execution of the query, the DBMS dynamically generates a task for executing a DB operation and executes the dynamically generated task. The DBMS executes a task in a plurality of threads executed by a processor core. | 04-23-2015 |
20150112968 | QUERY OPTIMIZATION CONSIDERING VIRTUAL MACHINE MIRRORING COSTS - Techniques are disclosed for selecting between query execution plans in part based on VM mirroring costs. In one embodiment, a query optimizer determines runtimes for multiple query execution plans, and modifies these runtimes based on flashing cost, which is itself determined based on the amount of memory which needs to be flashed to the secondary memory if each execution plan is executed. In so doing, the query optimizer may select a execution plan which takes a longer to run, but incurs less flashing cost. By considering both the query runtime itself and the flashing cost, the query optimizer may be better able to determine the fastest query execution plan to execute. | 04-23-2015 |
20150120699 | 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. | 04-30-2015 |
20150134637 | System and Method for Sharding a Graph Database - The present invention provides a method and system for sharding a graph database. The graph computing includes one or more processors, and a memory module. The memory module contains instructions that, when executed by the one or more processors, causes the one or more processors to perform a set of steps including identifying a first set of nodes from a plurality of nodes and a second set of nodes from a plurality of nodes, generating one or more sub graph shards from the graph database, and storing the one or more sub graph shards on one or more data stores. Each sub graph shard of the one or more sub graph shards includes at least one node from the first set of nodes and a replica of the second set of nodes. | 05-14-2015 |
20150149438 | METHODS AND SYSTEMS FOR CONSTRUCTING q, THETA-OPTIMAL HISTOGRAM BUCKETS - A method and system to determine a q, θ-optimal histogram comprising a plurality of buckets over a data distribution where for any cardinality estimate made using the histogram the cardinality estimate is constrained to obey an acceptability criteria parameterized by q and θ that bounds a ratio error between the cardinality estimate and a true value of the cardinality, q being a factor by which the estimate deviates, at most, from a true value of the cardinality and θ being a threshold value which the cardinality does not exceed, wherein a maximum number of possible query intervals generated in determining the acceptability of the q, θ-optimal histogram is less than quadratic in the number of values. | 05-28-2015 |
20150149439 | ANALYSIS SYSTEM, COMPUTER SYSTEM, AND ANALYSIS METHOD - This analysis system analyzes the behavior of a DBMS in a computer system having a computer which executes tasks in parallel and reads data from a database (DB) when executing a query. This analysis system acquires the number of selected rows corresponding to a key value of an index key used in the query, and calculates a model-based predicted degree of processing parallelism of the processing corresponding to the query. The system acquires, from the storage device, event information on an input-output event with respect to the storage medium when the processing corresponding to the query is executed actually, calculates a measured degree of processing parallelism when the processing corresponding to the query is executed actually, based on the event information, and displays information based on the model-based predicted degree of processing parallelism and the measured degree of processing parallelism. | 05-28-2015 |
20150293971 | DISTRIBUTED QUERIES OVER GEOMETRIC OBJECTS - In various embodiments, Methods, systems, computer-readable storage media, and apparatuses are described for determining interactions between geometric objects stored on distributed computing nodes. Nodes may be configured to perform a join operation in response to a query. The worker nodes may perform a source stage where source geometric objects are identified and sent to other worker nodes. The worker nodes may perform a target stage a set of target geometric objects is identified and a join operation performed on the received source and target geometric objects. The worker nodes may also perform a join operation that is based on storage of geometric objects in a storage sieve tree structure (“SST”). A space-filling curve may be used to map levels of the SST to a one-dimensional interval. The join operation may be performed only on objects whose mapped portions of the interval overlap. Other embodiments, may be described and claimed. | 10-15-2015 |
20150310065 | System and Method for Out of Order Multiple Query Execution within Stored Procedure - Embodiments are provided herein for efficient out-of-order (OOO) multiple query execution within a stored procedure in a database processing system. An embodiment method includes compiling a procedure comprising a plurality of statements. During the compiling, any dependencies between the statements are detected and maintained in a dependency table. The method further includes executing the procedure. During the execution, the method includes upon detecting a change in a dependency between the statements, updating the dependency in the dependency table. The statements are scheduled for OOO execution according to the dependency table with the updated dependencies. | 10-29-2015 |
20150317359 | UPDATING STATISTICS IN DISTRIBUTED DATABASES - Updating statistics in distributed databases includes storing global statistics about at least one distributed table column distributed across multiple database nodes, where the global statistics have sensitive data for a query plan optimization process and insensitive data for the query plan optimization process, and updating the sensitive data of the global statistics more frequently than the insensitive data. | 11-05-2015 |
20150317360 | QUERY LANGUAGE TO TRAVERSE A PATH IN A GRAPH - A query language used to traverse a path in a graph-based model is provided. The system comprises a parsing module to parse a query comprising query phrases. The respective query phrases composed of an object-type identifier and a filter where the object-type identifier corresponds to respective repositories and the filter is used to identify at least a portion of the objects associated with the object-type in the respective repositories. A planning module identifies the respective repositories corresponding to the object-type identifier within each of the one or more query phrases and generates an execution plan describing data to be retrieved according to the respective repositories and results of a preceding query phrase within the query. A translation module translates the respective query phrases into respective translated queries that are readable by the respective repositories and including the filter. An execution module implements the execution plan using the translated queries. | 11-05-2015 |
20150317361 | Optimizing Database Definitions in an Existing Database - A mechanism is provided in a data processing system for optimizing a database definition of an existing database. The mechanism receives usage data for the existing database. The mechanism queries a knowledgebase for information about database objects of the existing database. The mechanism executes optimization logic to generate a set of database commands based on the usage data and information about database objects. The set of database commands, when executed against a database definition of the existing database, optimize one or more database objects of the existing database. The mechanism returns the set of optimization commands. | 11-05-2015 |
20150324432 | IDENTIFYING HIGH RISK DATABASE STATEMENTS IN CHANGING DATABASE ENVIRONMENTS - High-risk database statements are identified. A DBMS performs a series of experiments by generating sets of statistics describing data over which particular database statements run. The DBMS submits each of these sets of statistics to a query optimizer, which returns information for an execution plan that the optimizer would use to implement the statements given the submitted set of data statistics. If the DBMS determines that the optimizer changes the established execution plan for the database statements for any of the submitted sets of statistics, the DBMS performs one or more actions to mitigate the risk of changing execution plans, such as automatically tuning the database statements or the entire workload, and/or sending information about the database statements to a database administrator. Techniques are also described for calculating diagnostic values based on the results of such experiments, which quantify the sensitivity of the execution plans to changes in data statistics. | 11-12-2015 |
20150339347 | Query Plan Analysis Of Alternative Plans Using Robustness Mapping - Computer-implemented and associated operating methods evaluate robustness of a query plan by measuring performance with regard to a range of runtime conditions and producing a map of relative performance of the given query plan when compared with alternative plans for a range of conditions. The computer-implemented system comprises logic that evaluates the selected query plan in comparison to multiple alternative query plans in a predetermined range of runtime conditions that include data characteristics. The logic produces a set of performance measurements and analyzes the measured performance to map performance of the selected query plan in comparison to performance of one or more alternative query plans. | 11-26-2015 |
20150347506 | METHODS AND APPARATUS FOR SPECIFYING QUERY EXECUTION PLANS IN DATABASE MANAGEMENT SYSTEMS - A database management system (DBMS) in which a user can express a query plan as a Raw Plan of arbitrary complexity in a format that can be executed by the DBMS. The user may also specify criteria under which this Raw Plan is to be executed. When a matching query and the subject circumstances are encountered the DBMS will execute the Raw Plan, instead of searching in a query cache or generating a new query plan. | 12-03-2015 |
20150347507 | HIERARCHICAL QUERY PLANS IN AN ELASTIC PARALLEL DATABASE MANAGEMENT SYSTEM - Methods, apparatus, and products are disclosed for the purposes of representing query plans for a query presented to a database in a manner generally referred to as an “EXPLAIN PLAN”, including query execution steps, query execution sequences, alternate query execution steps, and alternate query execution sequences for the query presented to the database management system, and for query plans, query execution steps, and query execution sequences for the execution of a parent query execution step. | 12-03-2015 |
20150347508 | PARTIAL RESULT CLASSIFICATION - A query can be executed over incomplete data and produce a partial result. Moreover, the partial result or portion thereof can be classified in accordance with a partial result taxonomy. In accordance with one aspect, the taxonomy can be defined in terms of data correctness and cardinality properties. Further, partial result analysis can be performed at various degrees of granularity. Classified partial result can be presented on a display device to allow user to view and optionally interact with the partial result. | 12-03-2015 |
20150347509 | OPTIMIZING PERFORMANCE IN CEP SYSTEMS VIA CPU AFFINITY - In an example embodiment, performance is optimized in a complex event stream (CEP) system. Information about a plurality of CEP threads is obtained. Then nearness among the plurality of CEP threads is determined, wherein nearness between a first and a second CEP thread indicates how much interaction is expected to occur between the first and second CEP thread. Based on the determined nearness, the plurality of CEP threads are organized into a plurality of CEP thread groups. Then, each of the plurality of CEP thread groups are assigned to a different processing node, with each processing node having one or more processors and a memory. | 12-03-2015 |
20150356153 | SYSTEMS AND/OR METHODS FOR CAPABILITY-AWARE DYNAMIC DISTRIBUTED EVENT PROCESSING - In a system including processing resources and a capability repository, a first processing resource: receives event streams from operating contexts; identifies, based upon the received event streams, a dynamically changing condition in a first one of the operating contexts; automatically decomposes, using the repository, a complex event processing query to effect a change responsive to the identified dynamically changing condition in the first one of the operating contexts; causes the first one of the operating contexts to effect the change based upon the decomposed query; and effects a related change to operation of the first processing resource that corresponds to the change caused to the first one of the operating contexts. The repository stores information regarding event sources that transmit events to the processing resources, and the operating contexts. Each operating context is associated with a respective group of event sources and with at least one of the processing resources. | 12-10-2015 |
20150356158 | Storage-Side Scanning on Non-Natively Formatted Data - A storage system communicatively coupled to a DBMS performs storage-side scanning of data sources that are not stored in the native database storage format of the DBMS. Data sources for external tables are accessible in a storage system referred to herein as a distributed data access system, e.g. a Hadoop Distributed File System. To execute a query that references an external table, a DBMS first generates an execution plan. The distributed data access system supplies the DBMS with information that specifies each portion of the data source, and specifies which data node to use to access the portion. The DBMS sends a request for each portion to the respective data node, the request requesting that the data node generate rows from data in the portion. The request may specify scanning criteria, specifying one or more columns to project and/or filter on. The request may also specify code modules for the data node to execute to generate rows or records and columns. | 12-10-2015 |
20150363113 | PRECISELY TRACKING MEMORY USAGE IN MULTI-PROCESS COMPUTING ENVIRONMENT - Methods, systems, and apparatus, including computer programs encoded on computer storage media, for precisely tracking memory usage in a multi-process computing environment. One of the methods includes implementing an instance of a memory usage tracker (MUT) in each process running in a node of a computer system. A MUT can maintain an account of memory usage for each of multiple logical owners running on a process on which the MUT is running. The MUT can determine an actual memory quota for each owner, and enforce the actual memory quota of the owner. Enforcing the actual memory quota of the owner can include receiving each memory allocation request, checking each allocation request and a current state of the account against the actual quota, approving or rejecting each allocation request, communicating the approval or rejection to an underlying memory manager, and updating the owner account for each approved allocation request. | 12-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 |
20150363465 | METHOD AND SYSTEM FOR PROCESSING QUERIES OVER DATASETS STORED USING HIERARCHICAL DATA STRUCTURES - Systems and methods for processing a query are provided. A method for processing a query of a tree-based dataset, comprises receiving the query, and analyzing the query and the dataset to create an execution plan for the query, wherein creating the execution plan comprises partitioning traversals over the dataset into sequential and parallel components, and distributing the components across a plurality of processing threads that independently traverse their portion of the dataset and compute local results. The method further comprises merging the local results to compute a final result. | 12-17-2015 |
20150370853 | GENERIC OPERATOR FRAMEWORK - In accordance with aspects of the disclosure, systems and methods are provided for query optimization including generating a knowledge based container for one or more new operators, building a generic operator structure for the knowledge based container generated for each new operator, and applying optimization rules to each new operator based on the generic operator structure built for each new operator to thereby increase extensibility of the query optimizer using a structured query language (SQL). | 12-24-2015 |
20150370854 | APPROXIMATE QUERY PROCESSING - A method for obtaining an approximate answer for a query on a database is provided. A query is converted into a set of sub queries with a canonical form. An approximate answer is generated for each of said sub queries, and approximate answers for the sub queries are combined to obtain an approximate answer for said query. | 12-24-2015 |
20150379076 | ANNOTATIONS FOR PARALLELIZATION OF USER-DEFINED FUNCTIONS WITH FLEXIBLE PARTITIONING - Annotations can be placed in source code to indicate properties for user-defined functions. A wide variety of properties can be implemented to provide information that can be leveraged when constructing a query execution plan for the user-defined function and associated core database relational operations. A flexible range of permitted partition arrangements can be specified via the annotations. Other supported properties include expected sorting and grouping arrangements, ensured post-conditions, and behavior of the user-defined function. | 12-31-2015 |
20150379077 | OPTIMIZATION OF PARALLELIZATION OF USER-DEFINED FUNCTIONS WITH FLEXIBLE PARTITIONING - Technologies are disclosed for generating query execution plans optimized for parallel execution for programs having both core database relational functions and user-defined functions. A variety of optimization strategies can be employed to improve performance in a parallel execution scenarios. A flexible range of permitted partition arrangements can be specified as acceptable to parallelized instances of the user-defined function. The optimizer can leverage such information when constructing an optimized query execution plan. Partitioning arrangements or other properties can be leveraged to avoid additional or unnecessary processing. | 12-31-2015 |
20150379078 | PARALLEL PROCESSING DATABASE TREE STRUCTURE - Database system comprising nodes configured in a tree structure is disclosed. The system includes a shared metadata store on the root node. Child nodes may request metadata from their ancestors. Parents will forward the request upward until the metadata is found or the root node is reached. | 12-31-2015 |
20150379082 | SUPPORTING IMPERATIVE GRAPHIC QUERIES ON A RELATIONAL DATABASE - It is provided a method and system for supporting imperative graphic queries on a relational database, the method comprising: parsing an imperative graphic query into operations of execution plans; translating operations of execution plans which are supported by the relational database into common table expression queries; and executing the translated common table expression queries on the relational database. | 12-31-2015 |
20160004751 | OPTIMIZED QUERY EXECUTION IN A DISTRIBUTED DATA STREAM PROCESSING ENVIRONMENT - A controller for controlling the processing of a data stream by a data stream processing system having a plurality of data stream management systems, DSMSs. Each DSMS is arranged to execute a respective continuous query to generate an output data stream having continuous query execution results. The controller controls the execution of the continuous query on a windowed portion of a data stream when different DSMSs receive different parts of the data for the windowed portion. The controller selects, for processing of the windowed portion of the data stream, a single DSMS that is to execute the respective continuous query. The controller generates a control signal to cause only the selected DSMS to execute the continuous query using data in the data stream received thereby, so that the continuous query is executed on data in the windowed portion of the data stream only by the selected DSMS. | 01-07-2016 |
20160004754 | Generic API - A system may include a user interface, a processor, and a memory having a program communicatively connected to the user interface. The program may include a data access layer and a data storage layer. The processor being configured to retrieve a data request having a record type and a data type from the user interface, retrieve an execution plan from the data access layer based on the record type, retrieve a map from the data access layer based on the data type, retrieve data from the data storage layer based on the execution plan and the map, and provide data to the user interface. | 01-07-2016 |
20160026677 | SYSTEM AND METHOD OF STORING AND ANALYZING INFORMATION - A system and method of storing and analyzing information is disclosed. The system includes a compiler layer to convert user queries to data parallel executable code. The system further includes a library of multithreaded algorithms, processes, and data structures. The system also includes a multithreaded runtime library for implementing compiled code at runtime. The executable code is dynamically loaded on computing elements and contains calls to the library of multithreaded algorithms, processes, and data structures and the multithreaded runtime library. | 01-28-2016 |
20160034533 | DATABASE MANAGEMENT SYSTEM AND METHOD - A database management system has a query interface for receiving a query and a query executor for executing the received query. The query executor dynamically generates a task, and executes a plurality of tasks in parallel. In execution of each task, each time data is required to be read from a database, the query executor generates a task for acquiring the data, and in execution of the generated task, issues a data read request for reading the data from the database, to thereby shorten a time taken to execute each task. | 02-04-2016 |
20160042033 | QUERY EXECUTION APPARATUS AND METHOD, AND SYSTEM FOR PROCESSING DATA EMPLOYING THE SAME - The present invention relates to an apparatus and method for executing a query, and a system for processing data by using the same. Provided is an apparatus for executing a query including: a processor receiving a query and returning a result value; and a storage storing data on the query, wherein the storage includes: a first storage temporarily storing data required for the execution of the query; and a second storage constructing a DB and storing data, and wherein the processor combines a plurality of primitives in the query to configure a composite primitive, generates a binary code for the composite primitive in run time, and executes a generated code. | 02-11-2016 |
20160070752 | METHOD AND APPARATUS TO FACILITATE DISCRETE-DEVICE ACCELERTAION OF QUERIES ON STRUCTURED DATA - A method for parallel processing of data, including accessing a sub-graph of an execution plan for a query used for accessing a database by a host processor, wherein the execution plan includes operators organized into sub-graphs. The method includes generating a transformed sub-graph by transforming operators from the sub-graph for parallel execution on discrete computing devices. The method includes adding at least one first operator to the transformed sub-graph configured for allocating memory on the discrete computing devices and copying ingress variables to the allocated memory. The method includes adding at least one second operator to the transformed sub-graph for copying egress variables, wherein the transformed sub-graph comprises a plurality of intermediate variables generated during execution of the sub-graph that are fully contained within the transformed sub-graph. The method includes off-loading the transformed sub-graph to the discrete devices for execution. | 03-10-2016 |
20160070754 | SYSTEM AND METHOD FOR MICROBLOGS DATA MANAGEMENT - A microblogs data management system and method that includes receiving, via communication circuitry, microblogs from a plurality of sources, storing, in a memory, the microblogs wherein the memory is temporally partitioned, transferring, using processing circuitry, a batch of the microblogs to an intermediate disk buffer when the memory is full, wherein the batch of the microblogs is selected based on a query and a temporal flushing policy, and transferring microblogs stored in the intermediate disk buffer to disk indexes. | 03-10-2016 |
20160070757 | METHOD AND DEVICE FOR PROCESSING INFORMATION - The embodiments of the present invention provide a method for processing information, comprising: obtaining attribute information about a target field; obtaining, according to the attribute information about the target field, attribute information about the target field described in a first language; and sending the attribute information about the target field described in the first language to a query engine using the first language, so that the query engine obtains, according to the attribute information about the target field described in the first language, data corresponding to the target field; and the embodiments of the present invention also provide an apparatus for processing information. According to the technical solutions provided in the embodiments of the present invention, attribute information about a target field being automatically described in a language can be realized, so as to improve the query efficiency of data. | 03-10-2016 |
20160078084 | Method of Converting Query Plans to Native Code - Performing database queries. A method includes receiving a particular database query. The method further includes accessing a query plan based on the particular database query. The query plan has operators and specific operational parameters associated with each of the operators. The association of operators and specific operational parameters is specific to the particular database query. From the query plan, the method further includes instantiating a plurality of compiled code templates. Each code template includes executable code that when executed performs functionality of one of the operators from the query plan with the specific operational parameters applied in the compilation. The method further includes binding the code templates together using programmatic control flow to create a functioning program. | 03-17-2016 |
20160078090 | OPTIMIZING PARALLEL QUERIES USING INTERESTING DISTRIBUTIONS - The present invention extends to methods, systems, and computer program products for optimizing parallel queries using interesting distributions. For each logical operator in an SQL server MEMO, in a top down manner from a root operator to the leaf operators, interesting distributions for the operators can be identified based on the properties of the operators. Identified interesting distributions can be propagated down to lower operators by annotating the lower operators with the interesting distributions. Thus, a SQL server MEMO can be annotated with interesting distributions propagated top down from root to leaf logical operators to generate an annotated SQL server MEMO. Parallel query plans can then be generated from the annotated SQL server MEMO in a bottom up manner from leaf operators to a root operator. Annotated interesting properties can be used to prune operators, thereby facilitating a more tractable search space for a parallel query plan. | 03-17-2016 |
20160078092 | DATA STREAMING FOR INTERACTIVE DECISION-ORIENTED SOFTWARE APPLICATIONS - Providing data to a computer software application by intercepting a request made by a computer software application to retrieve a first data set from a first data storage location, accessing a record, defined in advance of the request, that includes a reference to the first data set and a reference to a second data set, retrieving the first data set from a data storage location other than the first data storage location, and retrieving the second data set from a data storage location other than the first data storage location in advance of a request by the computer software application to access the second data set at the first data storage location. | 03-17-2016 |
20160085829 | QUERY METHOD FOR A DISTRIBUTED DATABASE SYSTEM AND QUERY APPARATUS - A method, system, and/or computer program product queries a distributed database system. In one embodiment, the query method comprises: parsing a query request; generating an access plan for the query request, wherein the access plan specifies therein a database table related to the query request, and the database table has a plurality of copies stored in different database devices respectively; selecting, based on status information of each of the plurality of copies of the specified database table, one copy from the plurality of copies as a target database table; and executing a query operation in the target database table according to the access plan. | 03-24-2016 |
20160092510 | OPTIMIZED STORAGE SOLUTION FOR REAL-TIME QUERIES AND DATA MODELING - Embodiments presented herein provide techniques for managing data in manufacturing systems. One embodiment includes receiving a set of data from a plurality of devices operating in a manufacturing environment. A portion of the set of data is written by a data management application to both a relational database and a distributed storage cluster that includes a plurality of storage nodes in a distributed computing environment. Upon receiving a query to extract a subset of data from the set of data, the query is analyzed to determine attributes of the query. Based, in part on the analysis, one of the relational database and the distributed storage cluster is selected for processing the query. | 03-31-2016 |
20160092599 | AUTONOMIC IDENTIFICATION AND HANDLING OF AD-HOC QUERIES TO LIMIT PERFORMANCE IMPACTS - A method for processing a database query includes receiving a database query to be executed according to a first processing profile and determining whether the database query is likely to be an ad hoc query. The determining of whether the database query is likely to be an ad hoc query is based on a factor. The factor can include a query originator factor, a job type factor, a run history factor, or a query quality factor. A second processing profile is generated before executing the database query in response to determining that the database query is likely to be an ad hoc query. The second processing profile is configured to limit performance impacts, such as by providing a lower execution priority, prohibiting parallel database operations, limiting memory allocation, or delaying or blocking the query. | 03-31-2016 |
20160098447 | OPTIMIZATION OF A PLURALITY OF TABLE PROCESSING OPERATIONS IN A MASSIVE PARALLEL PROCESSING ENVIRONMENT - A computer-implemented method for partitioning data for a query operation of one table of the database system is provided. The computer-implemented method comprises estimating a value distribution of the attribute in the result table based on a first value distribution of the attribute in the first column of the first table. The computer-implemented method further comprises determining boundaries for partitioning ranges of the attribute, based on the estimated value distribution, wherein the partitioning ranges correspond to a same number of rows of the result table. The computer-implemented method further comprises partitioning the first table with processing nodes of the query operation, based on the determined boundaries of partitioning ranges. | 04-07-2016 |
20160098449 | PLUG-IN ARCHITECTURE OF BUSINESS INTELLIGENCE PLATFORM USING DATA SOURCE CARTRIDGES - Embodiments implement a plug-in architecture supporting adding new data sources to a federated database without the need to recode a federated database manager software module. The federated database manager software module includes a plug-in framework for interfacing with a data source cartridge. The data source cartridge supplies metadata including a feature table of a newly added data source to the framework and creates a physical query for the newly added data source based on an execution plan generated by the federated database manager software module. The data source cartridge returns the result set of the query of the new added data source to the federated database manager software module. | 04-07-2016 |
20160098450 | QUERYING INPUT DATA - A hardware accelerator | 04-07-2016 |
20160098453 | OPTIMIZATION OF A PLURALITY OF TABLE PROCESSING OPERATIONS IN A MASSIVE PARALLEL PROCESSING ENVIRONMENT - A computer-implemented method for partitioning data for a query operation of one table of the database system is provided. The computer-implemented method comprises estimating a value distribution of the attribute in the result table based on a first value distribution of the attribute in the first column of the first table. The computer-implemented method further comprises determining boundaries for partitioning ranges of the attribute, based on the estimated value distribution, wherein the partitioning ranges correspond to a same number of rows of the result table. The computer-implemented method further comprises partitioning the first table with processing nodes of the query operation, based on the determined boundaries of partitioning ranges. | 04-07-2016 |
20160098492 | ADMINISTRATIVE TOOL AND PHYSICAL EXECUTION PLAN INTERFACE FOR PLUG-IN ARCHITECTURE OF BUSINESS INTELLIGENCE PLATFORM USING DATA SOURCE CARTRIDGES - Embodiments implement a plug-in architecture supporting adding new data sources to a legacy federated database without the need to recode a federated database manager software module. The federated database manager software module includes an administrative tool and a plug-in framework for interfacing with a data source cartridge. The data source cartridge supplies metadata including a feature table of a newly added data source to the framework and creates a physical query for the newly added data source based on an execution plan generated by the federated database manager software module. The administrative tool generates presentation panes including new data sources added to the legacy federated database. | 04-07-2016 |
20160103878 | MONITORING SERVICE-LEVEL PERFORMANCE USING KEY PERFORMANCE INDICATORS DERIVED FROM MACHINE DATA - One or more processing devices create one or more entity definitions that each associate an entity with machine data pertaining to that entity and create a service definition for a service provided by one or more entities. The service definition includes an entity definition for each of the one or more entities. The one or more processing devices create one or more key performance indicators (KPIs). Each KPI is defined by a search query that produces a value derived from the machine data identified in one or more of the entity definitions included in the service definition. Each value is indicative of how the service is performing at a point in time or during a period of time. | 04-14-2016 |
20160110417 | Incrementally Updating Statistics - Incrementally updating statistics includes sampling rows from a database column in a database to generate a first sample, sampling a subset of modified rows from the database column after generating the first sample to generate a second sample, determining whether distribution changes occurred to the database column based on the first and second samples, and updating a database statistic about the database column in response to determining that a distribution change exists. | 04-21-2016 |
20160110419 | SELECTIVITY ESTIMATION FOR QUERY EXECUTION PLANNING IN A DATABASE - A computer-implemented method of estimating selectivity of a query may include generating, for data stored in a database in a memory, a one-dimensional value distribution for each of a plurality of attributes of the data. A multidimensional histogram may be generated, wherein the multidimensional histogram includes the one-dimensional value distributions for the plurality of attributes of the data. The multidimensional histogram may be converted to a one-dimensional histogram by assigning each bucket of the multidimensional histogram to corresponding buckets of the one-dimensional histogram and ordering the corresponding buckets according to a space-filling curve. One or more bucket ranges of the one-dimensional histogram may be determined by mapping the query conditions on the one-dimensional histogram. The selectivity of the query may be estimated by estimating how many data values in the one or more bucket ranges will meet the query conditions. | 04-21-2016 |
20160125028 | SYSTEMS AND METHODS FOR QUERY REWRITING - Systems and methods for rewriting query terms are disclosed. The system collects queries and query session data and separates the queries into sequences of queries having common sessions. The sequences of queries are then input into a deep learning network to build a multidimensional word vector in which related terms are nearer one another than unrelated terms. An input query is then received and the system matches the input query in the multidimensional word vector and rewrites the query using the nearest neighbors to the term of the input query. | 05-05-2016 |
20160140172 | Method and Apparatus for Optimizing the Evaluation of Semantic Web Queries - A semantic query over an RDF database is received with RDF database statistics and access methods for evaluating triple patterns in the query. The semantic query is expressed as a parse tree containing triple patterns and logical relationships among the triple patterns. The parse tree and access methods create a data flow graph containing a plurality of triple pattern and access method pair nodes connected by a plurality of edges, and an optimal flow tree through the data flow graph is determined such that costs are minimized and all triple patterns in the semantic query are contained in the optimal flow tree. A structure independent execution tree defining a sequence of evaluation through the optimal flow tree is created and is transformed into a database structure dependent query plan. This is used to create an SQL query that is used to evaluate the semantic query over the RDF database. | 05-19-2016 |
20160140174 | DATA DRIVEN MULTI-PROVIDER PRUNING FOR QUERY EXECUTION PLAN - According to an aspect, a system includes a query engine configured to obtain a multi-provider query model for a query specifying a filter to be applied on provider partitions. The obtained multi-provider query model incorporates a pruning plan. The query engine includes a query optimizer configured to execute the pruning plan during optimization of the multi-provider query model. The pruning plan determines if each of the provider partitions includes content that is required to execute the filter based on pruning information. The query optimizer configured to reduce a scope of the query by excluding at least one provider partition that is determined as not required to execute the filter. | 05-19-2016 |
20160140175 | INTEGRATION OF CALCULATION MODELS INTO SQL LAYER - According to an aspect, a database system for integrating calculation models into execution plans includes a first engine configured to parse a query to be applied on a database. The first engine is configured to invoke a second engine during query compilation. The second engine is configured to instantiate a calculation model based on the query, and the second engine is configured to derive a converted calculation model by converting the calculation model into a format compatible with the first engine. The first engine is configured to incorporate the converted calculation model into an execution plan during the query compilation and execute the query on the database according to execution plan. | 05-19-2016 |
20160140176 | QUERY TUNING IN THE CLOUD - Tuning a production database system through the use of a remote mimic. In response to receipt of a query tuning request against a database system, information about that system is obtained and a mimic of the system is set up in a remote system environment. The mimic aims to imitate the database system in all relevant ways with respect to the tuning request. A tuning analysis is then performed on this mimic system such that there is substantially no impact to operations of the original database system. Tuning results are then applied to the original database system. The entire process takes place with little or no human intervention. | 05-19-2016 |
20160140178 | CONTEXT SENSITIVE INDEXES - Context-sensitive index visibility is used to reduce the number databases indexes that are considered and evaluated as an access path by query optimization. For a database statement that references or otherwise requires access to a set of database tables for which a DBMS defines a set of database indexes, context-sensitive index visibility limits the selection of database indexes. A query context comprises query context attributes, each of which is associated with a requested execution of a database statement. Query context attributes dictate whether a database index can be considered for query optimization. An example of a query context attribute is database user of a database session in which a database statement is issued. According to an embodiment of the present invention, a query context attribute is a session attribute stored as part of a session state of a database session. | 05-19-2016 |
20160147834 | Set-Orientated Visibility State Retrieval Scheme - Disclosed herein are system, method, and computer program product embodiments for determining row visibility states. An embodiment operates by initializing a result bitmap for rows based on visible row state values of row state bitmaps corresponding to the rows, wherein values of the result bitmap indicate whether the row are visible or not visible; determining one or more rows whose corresponding visible row state values indicate that the one or more rows are not visible; and determining whether to update the result bitmap to indicate that the one or more rows are visible based on one or more versioned row state values, wherein the one or more versioned row state values indicate whether the corresponding rows are not visible or possibly visible. | 05-26-2016 |
20160147835 | STATIC QUERY OPTIMIZATION - Techniques and structures for tuning database queries. Actual statistics associated with data stored are retrieved from at least one memory device. The data is associated with one or more tenants of the multi-tenant database system. The actual statistics include at least one type of statistic maintained for the data. A subset of the actual statistics is selected based on a data trait targeted for optimization. A statistical value is calculated for each actual statistic from the subset of actual statistics across one or more tenants having the data trait targeted for optimization. An optimal query plan is determined based on the original query and the calculated statistical values. | 05-26-2016 |
20160154847 | CONTROL OF A DISTRIBUTED DATA GRID LAYER IN A FEDERATED DATABASE SYSTEM | 06-02-2016 |
20160154850 | SYSTEMS AND METHODS FOR FINDING OPTIMAL QUERY PLANS | 06-02-2016 |
20160162546 | QUERY ROUTING METHOD, QUERY ROUTING SERVER PERFORMING THE SAME AND STORAGE MEDIUM STORING THE SAME - Provided is a method, server, and storage medium for query routing. A query may be processed on a query routing server using a same distributed file system and connectable with a plurality of query performance engines sharing metadata. The method may include receiving, through a user input interface, a query and a criterion to select a query performance engine among a plurality of query performance engines, and determining, by a query routing server, one of the plurality of query performance engines based on the received criterion. | 06-09-2016 |
20160162547 | MAP INTELLIGENCE FOR MAPPING DATA TO MULTIPLE PROCESSING UNITS OF DATABASE SYSTEMS - One or more assignments (e.g., one or more maps) can be used for assigning data to processing units of a database system with multiple processing. In other words, assignments can be provided as a more effective solution for assigning data to the processing units of database systems that can operate with multiple processing units. Generally, an assignment can be used to assign data to the processing units for processing, virtually in any desired manner (e.g., virtually any desired function). By way of example, maps can associate data to containers (e.g., buckets) and associate the containers to processing units of database system with multiple processing units. | 06-09-2016 |
20160171048 | COMPUTER AND DATA READ METHOD | 06-16-2016 |
20160179884 | INTEGRATED EVENT PROCESSING AND DATABASE MANAGEMENT | 06-23-2016 |
20160179887 | GRAPH OPERATIONS | 06-23-2016 |
20160179888 | OPTIMIZING CONTINUOUS QUERY OPERATIONS IN AN IN MEMORY DATA GRID (IMDG) | 06-23-2016 |
20160179889 | CACHING METHODS AND A SYSTEM FOR ENTROPY-BASED CARDINALITY ESTIMATION | 06-23-2016 |
20160188668 | Performing multidimensional search and content-associative retrieval on data that has been losslessly reduced using a prime data sieve - This disclosure relates to multidimensional search and retrieval on losslessly reduced data by organizing prime data elements using components of a structure of an input dataset so that searches can be performed on the losslessly reduced data based on the one or more components of the structure. Some embodiments can retrieve, from the data structure that organizes the prime data elements, either references to metadata for prime data elements, or metadata for prime data elements, or prime data elements in a content associative manner, based upon the value of certain fields or dimensions in an input query presented to the data structure (said data structure being called the prime data sieve). For every prime data element, the prime data sieve can retain a reverse reference to the losslessly reduced representation of each chunk that refers to the prime data element. | 06-30-2016 |
20160188696 | CLUSTERING DATABASE QUERIES FOR RUNTIME PREDICTION - The invention notably relates to a computer-implemented method of clustering reference queries in a database for prediction of the runtime of a target query in the database based on similarity of the target query with the reference queries. The method comprises providing a number of numerical values that represent the runtimes of the reference queries; computing the optimal K-means clustering of the numerical values for a predetermined number of clusters, wherein the computing includes iterating, a number of times corresponding to the predetermined number of clusters, a linear-time Row Minima Searching algorithm applied to a square matrix of order equal to the number of numerical values; and clustering the reference queries according to the computed clustering of the numerical values. | 06-30-2016 |
20160196301 | Method and Software for Obtaining Answers to Complex Questions Based on Information Retrieved from Big Data Systems | 07-07-2016 |
20160203183 | INFORMATION PROCESSING SYSTEM, TERMINAL, SERVER, INFORMATION PROCESSING METHOD, RECORDING MEDIUM, AND PROGRAM | 07-14-2016 |
20160203185 | DETERMINING AN EXECUTION ORDERING | 07-14-2016 |
20160253381 | STORING TIME SERIES DATA FOR A SEARCH QUERY | 09-01-2016 |
20160253382 | SYSTEM AND METHOD FOR IMPROVING A QUERY RESPONSE RATE BY MANAGING A COLUMN-BASED STORE IN A ROW-BASED DATABASE | 09-01-2016 |
20160253384 | ESTIMATING DATA | 09-01-2016 |
20160253385 | GLOBAL QUERY HINT SPECIFICATION | 09-01-2016 |
20160378823 | DISTRIBUTED PROCESSING OF A SEARCH QUERY WITH DISTRIBUTED POSTING LISTS - Provided are a computer program product, system, and method for distributed processing of a query with distributed posting lists. A dispatch map has entries, wherein each entry identifies one of a plurality of terms in a dictionary, wherein for each of the terms there is a posting list identifying zero or more objects including the term, wherein at least one of the dispatch map entries indicate at least one distributed processing element including the posting list for the term. The dispatch map is used to dispatch sub-expressions comprising portions of a query to distributed processing elements having the posting lists for terms in the sub-expressions, wherein the distributed processing elements distributed the sub-expressions execute the sub-expressions on the posting lists for the terms in the sub-expression. | 12-29-2016 |
20160378827 | QUERY OPTIMIZATION FOR GROUP-BY EXTENSIONS AND DISTINCT AGGREGATE FUNCTIONS - Techniques for query optimization for group-by extensions and distinct aggregate functions are provided. A query has an extended group-by clause with an extended group-by operator and a first set of group-by columns. The query has one or more distinct aggregate functions and one or more non-distinct aggregate functions. An initial subquery is constructed that generates a partially aggregated initial temporary (PAIT) table when executed. The initial subquery includes a GROUP BY clause with a second set of group-by columns that includes the first set of group-by columns of the extended group-by clause of the query and one or more columns specified by the one or more distinct aggregate functions. One or more subqueries are computed that compute groupings indicated by the extended group-by operator based on the PAIT table generated by the initial subquery. | 12-29-2016 |
20160378828 | BIT VECTOR SEARCH INDEX USING SHARDS - The technology described herein provides a bit vector search index for a search system that uses shards. The bit vector search index comprises a data structure for indexing data about terms from a corpus of documents. The data structure includes a number of bit vectors. Each bit vector comprises an array of bits and corresponds to a different set of terms. Bits in the bit vector are used to represent whether at least one document corresponding to the bit includes at least one term from the set of terms corresponding to the bit vector. The search index is provided in a number of shards. Each shard corresponds to a subset of documents having documents lengths within particular a range of document lengths. | 12-29-2016 |
20170235750 | Data Management Systems And Methods | 08-17-2017 |
20180025055 | FAULT-TOLERANT DATABASE QUERY EXECUTION PLANS USING NON-VOLATILE MEMORIES | 01-25-2018 |
20180025094 | INCREASING PERFORMANCE OF IN-MEMORY DATABASES USING RE-ORDERED QUERY EXECUTION PLANS | 01-25-2018 |
20190146970 | QUERY PLAN GENERATION AND EXECUTION IN A RELATIONAL DATABASE MANAGEMENT SYSTEM WITH A TEMPORAL-RELATIONAL DATABASE | 05-16-2019 |
20190146971 | QUERY PLAN MANAGEMENT ASSOCIATED WITH A SHARED POOL OF CONFIGURABLE COMPUTING RESOURCES | 05-16-2019 |
20190147085 | CONVERTING AND MODIFYING A SUBQUERY FOR AN EXTERNAL DATA SYSTEM | 05-16-2019 |
20190147086 | GENERATING A SUBQUERY FOR AN EXTERNAL DATA SYSTEM USING A CONFIGURATION FILE | 05-16-2019 |
20190147089 | COGNITIVE ELASTICITY OF CLOUD APPLICATIONS | 05-16-2019 |
20190147094 | SEQUENTIAL DATA ASSIMILATION TO IMPROVE AGRICULTURAL MODELING | 05-16-2019 |