Abstract: A computer-implemented method, apparatus and article of manufacture for optimizing a database query. A query execution plan is generated for the database query, which may be stored in an in-line query capture database. Execution of the query execution plan may be monitored in order to generate performance information, which also may be stored in the in-line query capture database. The data stored in in-line query capture database may be used during the initial generation of query execution plans, as well as for the re-optimization of a query execution plan, during the execution of the query execution plan.
Type:
Grant
Filed:
August 22, 2008
Date of Patent:
July 8, 2014
Assignee:
Teradata US, Inc.
Inventors:
Douglas P. Brown, Anita Richards, Thomas P. Julien, Louis M. Burger
Abstract: Techniques for finding a column with column partitioning are provided. Metadata for a container row is expanded to include information for searching ranges of partitioned column values. The metadata identifies offsets to specific ranges and specific columns within a specific range. The offsets also identify where compressed data for a desired column resides. Thereby, permitting partitioned columns having compressed data to be located without being decompressed and decompressed on demand as needed.
Abstract: Techniques for ordering predicates in column partitioned databases for query optimization. Predicates on a single CP table within a query are organized to predicate-CP nodes with various sets of column partitions. The predicates within each predicate-CP node and the predicate-CP nodes as a whole are ordered in ascending order of cost which is determined by CPU/IO cost and predicate selectivity. The reorganized query is then executed.
Abstract: Inputs are received. The inputs are a star schema data model comprising a non-partitioned fact table (F) comprising fields (f1, f2, . . . fn); a set of queries (Q=q1, q2, . . . qm); and a set of weights for each query in Q. Each weight defines the priority of a respective query in a workload. The inputs are pre-processed to produce a most-granular-partitioning. The most-granular-partitioning is processed to produce an initial multi-level partitioned primary index, the processing including determining the scan cost of one of the queries in Q. The initial multi-level partitioned primary index is processed to produce a final multi-level partitioned primary index, the processing including determining the query cost of one of the queries in Q. F is partitioned using the final multi-level partitioned primary index. A query from Q is run against F to produce a result. The result is stored.
Abstract: Techniques for processing joins on column partitioned tables are provided. A query includes a first-Column Partition (CP) table joined with a second-CP table. The query is decomposed into a three-step process and rewritten and processed.
Type:
Application
Filed:
December 26, 2012
Publication date:
June 26, 2014
Applicant:
Teradata US, Inc.
Inventors:
Mohammed Al-Kateb, Grace Kwan-On Au, Sanjay Sukumaran
Abstract: Techniques for processing joins on column partitioned tables are provided. A join operation having a column partitioned table within a query is decomposed into a two-step process. The first process performs the join condition on the column portioned table with optional filtering conditions and a non-column partitioned table and spools the resulting columns to a spooled table. The spooled table is then rowid joined back to the column partitioned table to acquire remaining columns not present in the spooled table. Both the first and second steps can be separately resolved for costs when determining a query execution plan.
Abstract: Techniques for query statistics inheritance are provided. Statistics for a database are used to determine selectivity estimates for sparse joins and tables being joined together within a given query. These statistics are inherited up to the given query along with the selectivity estimates and provided to a database optimizer to use when developing query plans and selecting an optimal query plan for the given query.
Abstract: A computer-implemented method, apparatus and article of manufacture for optimizing a database query. A query execution plan for the database query is generated using estimated cost information; one or more steps of the query execution plan are executed to retrieve data from a database stored on the computer system. Actual cost information is generated for each of the executed steps, and the estimated cost information is re-calculated using the actual cost information. One or more resource allocation rules defined on one or more steps of the query execution plan are executed, based on the estimated cost information, wherein the resource allocation rules include one or more defined actions. The estimated cost information may be re-calculated using the actual cost information when confidence in the estimated cost information is low, but the estimated cost information may not be re-calculated when confidence in the estimated cost information is high.
Type:
Grant
Filed:
December 8, 2008
Date of Patent:
June 24, 2014
Assignee:
Teradata US, Inc.
Inventors:
Louis Burger, Thomas Julien, Douglas Brown
Abstract: Techniques for using metadata as comments to assist with search problem determination and analysis are provided. Before an action is taken on a search, contextual information is gathered as metadata about the action and actor requesting the action. The metadata is embedded in the search as comments and the comments are subsequently logged when the action is performed on the search. The comments combine with other comments previously recorded to permit subsequent analysis on searches.
Abstract: A filter receives a request to perform an operation in a database system, and the filter receives a resource estimate relating to the request from an optimizer. The filter determines whether the resource estimate exceeds an available resource of the database system, and if so, the filter rejects the request prior to execution of the request.
Type:
Grant
Filed:
November 23, 2010
Date of Patent:
June 3, 2014
Assignee:
Teradata US, Inc.
Inventors:
Douglas P. Brown, Anita Richards, Thomas P. Julien, Louis M. Burger
Abstract: 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.
Abstract: Metadata can be provided to multiple processing units of a database system by using local storages respectively provided for the processing units, such that a local storage is accessible only to its respective processing unit. As a result, processing units can access metadata when needed (e.g., when needed to process a database request at runtime) without having to access a source external to the database system. In addition, metadata (e.g., an XML object, XML schema, XSLT stylesheets, XQuery modules) can be provided using a database request or command, for example, by using a register statement.
Type:
Application
Filed:
November 29, 2012
Publication date:
May 29, 2014
Applicant:
Teradata US, Inc.
Inventors:
Gregory Howard Milby, Guofang Li, Kevin Dean Virgil, Michael Leon Reed
Abstract: Techniques for dynamic resource management are presented. A World-Wide Web (WWW) page is acquired on first access to a WWW site and rendered with a script tag. When a browser loads the WWW page, the script tag is processed to remotely execute a script on the WWW site. The script produces a single file having code for the resources that are referenced in the WWW page. The single file is provided back to the browser where it is cached so that when any of the resources are accessed via the WWW page, the needed code for those resources are available for execution within the cache of the browser.
Abstract: A query is received. It is determined that the query includes an inner join between a parent table and a child table. It is determined that the following relationships exist between the parent table and the child table: referential integrity (“RI”) between a primary key attribute (pk) in the parent table and a foreign key attribute (fk) in the child table, where “attribute” is defined to mean one or more columns; and a temporal relationship constraint (“TRC”) between a period attribute in the parent table and a TRC-attribute in the child table, the TRC-attribute being a date or time attribute. It is determined that the query does not access any attribute in the parent table other than the pk. It is determined that the query specifies an equality predicate of the form pk=fk. It is determined that the query specifies a condition that requires the TRC-attribute value to be contained in the parent table's period attribute duration.
Type:
Grant
Filed:
November 29, 2010
Date of Patent:
May 13, 2014
Assignee:
Teradata US, Inc.
Inventors:
Bhashyam Ramesh, Jaiprakash G. Chimanchode, Michael W. Watzke
Abstract: A database system is able to receive a query containing a horizontal aggregate function. In response to the query containing the horizontal aggregate function, aggregate values are produced in a horizontal format. In general, the query can contain both horizontal (new) aggregate functions and vertical (standard) aggregate functions.
Abstract: Techniques for accessing a parallel database system via an external program using vertical and/or horizontal partitioning are provided. An external program to a database management system (DBMS) configures external mappers to process a specific portion of query results on specific access module processors of the DBMS that are to house query results. The query is submitted by the external program to the DBMS and the DBMS is directed to organize the query results in a vertical or horizontal manner. Each external mapper accesses its portion of the query results for processing in parallel on its designated AMP or set of AMPS to process the query results.
Abstract: Techniques for data assignment from an external distributed file system (DFS) to a database management system (DBMS) are provided. Data blocks from the DFS are represented as first nodes and access module processors of the DBMS are represented as second nodes. A graph is produced with the first and second nodes. Assignments are made for the first nodes to the second nodes based on evaluation of the graph to integrate the DFS with the DBMS.
Type:
Grant
Filed:
December 29, 2011
Date of Patent:
April 29, 2014
Assignee:
Teradata US, Inc.
Inventors:
Yan Qi, Yu Xu, Olli Pekka Kostamaa, Jian Wen
Abstract: A temporal target table stored on a computer is scanned using the computer. The temporal target table has a ValidTime dimension and a value dimension. A qualifying-row having a value dimension having a value equal to a value of a value dimension in a row-to-be-inserted is found during the scanning. The row-to-be-inserted has a ValidTime dimension and the value dimension. The qualifying-row is processed. The row-to-be-inserted is inserted in the temporal target table. A ValidTime dimension of the inserted row-to-be-inserted is set to be as the union of the ValidTime dimension of the row-to-be-inserted and the ValidTime dimension of the qualifying-row.
Type:
Grant
Filed:
December 31, 2009
Date of Patent:
April 22, 2014
Assignee:
Teradata US, Inc.
Inventors:
Like Gao, Bhashyam Ramesh, John A. Greene, Michael Leon Reed
Abstract: Data trends that are based on historical data of a database can be used to make estimations and/or predications about the database. In other words, historical trends of a database can be used to make estimation about the data of the database. By way of example, a prediction can be made regarding the data change in the data since the Statistics has been collected. An estimation about data in a database can be used instead of actual data that would have to be collected as Statistics for the database. As a result, Statistics can be collected less frequently but estimation and/or predictions about the database can be used to optimize the execution of queries of the database. Also, collection of Statistics for database can be altered by using estimation about the Statistics of the database by collecting Statistics less frequently or for longer periods of time.
Abstract: In a database system, a mechanism is provided to enable parsing of a query into plural objects stored in respective plural tables. One or more characteristics of the query is modified using content of the plural tables based on one or more predefined rules for the purpose of recomposing the query.