Patent classifications
G06F16/24542
Self-service data platform
Disclosed embodiments include a method performed by server computer(s). The method includes receiving a query and defining a query plan based on the received query. The query plan refers to datasets contained in data sources. The method further includes determining that the received query can be accelerated based on an optimized data structure contained in a memory, where the optimized data structure is derived from a dataset referred to in the query plan. The method further includes modifying the query plan to include the optimized data structure, and executing the modified query plan to obtain query results that satisfy the received query by reading the optimized data structure in lieu of reading at least some data from the data sources.
INTELLIGENT QUERY PLAN CACHE SIZE MANAGEMENT
A method for intelligent query plan cache size management can be implemented. During execution of a plurality of incoming queries in a database management system, the method can measure actual compilation times of generating query execution plans for the plurality of incoming queries. The database management system can have a query execution plan cache which has a size that can store at least some of the query execution plans. The method can monitor differences between the actual compilation times and ideal compilation times of generating query execution plans for the plurality of incoming queries. The ideal compilation times can be estimated by assuming no query execution plan is evicted from the query execution plan cache. The method can adjust the size of the query execution plan cache based on the monitored differences.
INTELLIGENT QUERY PLAN CACHE SIZE MANAGEMENT
A computer-implemented method can measure query locality during execution of a plurality of incoming queries in a database management system. The database management system includes a query execution plan cache which has a size that can store at least some of query execution plans generated for the plurality of incoming queries. Based on the measured query locality, the method can adjust the size of the query execution plan cache.
Re-ordered processing of read requests
A method includes determining, in accordance with a first ordering, a plurality of read requests for a memory device. The plurality of read requests are added to a memory device queue for the memory device in accordance with the first ordering. The plurality of read requests in the memory device queue are processed, in accordance with a second ordering that is different from the first ordering, to determine read data for each of the plurality of read requests. The read data for the each of the plurality of read requests is added one of a set of ordered positions, based on the first ordering, of a ring buffer as the each of the plurality of reads requests is processed. The read data of a subset of the plurality of read requests is submitted based on adding the read data to a first ordered position of the set of ordered positions of the ring buffer.
Optimized disaster-recovery-as-a-service system
Methods, computer program products, and systems are presented. The methods include, for instance: analyzing a dataset associated with a service provided by the data protection service provider in order to determine a policy for when and how to replicate the respective components of the dataset corresponding to the service from a source site to a target site, such that the target site may perform the service with a minimum cost.
Statistics based query transformation
Techniques are described for responding to aggregate queries using optimizer statistics already available in the data dictionary of the database in which the database object targeting by the aggregate query resides, without the user creating any additional objects (e.g. materialized views) and without requiring the objects to be loaded into volatile memory in a columnar fashion. The user query is rewritten to produce a transformed query that targets the dictionary tables to form the aggregate result without scanning the user tables. “Accuracy indicators” may be maintained to indicate whether those statistics are accurate. Only accurate statistics are used to answer queries that require accurate answers. The accuracy check can be made during runtime, allowing the query plan of the transformed query to be used regardless of the accuracy of the statistics. For queries that request approximations, inaccurate statistics may be used so long as the statistics are “accurate enough”.
ESTIMATING QUERY EXECUTION PERFORMANCE USING A SAMPLED COUNTER
Techniques are described herein for probabilistic monitoring of high-frequency, low-latency database queries. In some embodiments, a probabilistic query monitoring system periodically samples active database sessions. For example, the system may generate sample data every one second or at some other sampling rate for each database session that is currently active. The sample data may include a mapping between query identifiers to sample counter values that are extracted at different sample intervals. The system may then estimate performance metrics for the set of active database based on the counter values sampled across consecutive sample intervals.
EFFICIENT DATABASE STRUCTURED QUERY LANGUAGE EXECUTION FROM APPLICATION LAYER
In an example embodiment, rather than passing SQL statements directly from an application runtime to a relational database, the SQL statements are first passed to a wrapper functionality. The wrapper functionality takes the uncompelled SQL statements and arguments that need to be passed for the SQL statement as input parameters, executes the statement, and returns the results. This is accomplished by generating a hash identification out of the string SQL statement. The wrapper functionality then looks for a hash identification of an input SQL statement. If it exists, then a corresponding object in the database can be retrieved and executed. If the hash identification is not found, a database object is created that performs the same functionality as the SQL statement. At this time, the SQL statement is also precompiled, and an execution plan created either by the wrapper functionality or the relational database, or both).
Cross-datasource querying using composite shapes
A system and method of performing a cross-datasource query to provide a cross-datasource query result. A composite shape comprises a composite shape query and a plurality of shape identifiers identifying a plurality of shapes. Each of the plurality of shapes comprises a datasource identifier identifying a datasource and a shape query defining a query to be performed on the datasource. The composite shape is used to perform the composite shape query across the datasources identified in the plurality of shapes to provide the cross-datasource query result.
Database management system query plan cache management
According to some embodiments, a system to manage a query plan cache for a Database Management System (“DBMS”) includes a DBMS query plan cache data store. The DBMS query plan cache data store may contain, for example, electronic records representing a plurality of query plans each associated with a set of instructions created in response to a query previously submitted by a user. A DBMS query plan cache management platform may then calculate a utility score for each query plan in the DBMS query plan cache data store. At least one query plan may be evicted from the DBMS query plan cache data store based on the calculated utility score, wherein the evicting is not based on a size of the DBMS query plan cache.