Patents by Inventor Olli Pekka Kostamaa

Olli Pekka Kostamaa has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20110093499
    Abstract: A system, method, and computer-readable medium that facilitate dynamic skew avoidance are provided. The disclosed mechanisms advantageously do not require any statistic information regarding which values are skewed in a column on which a query is applied. Query selectivity is evaluated at a check point and thereby facilitates accurate detection of an overloaded processing module. The successful detection of an overloaded processing module causes other processing modules to stop sending more skewed rows to the overloaded processing module. Detection of an overloaded processing module is made when the overloaded processing module has received more rows than a target number of rows. Further, skewed rows that are maintained locally rather than redistributed to a detected processing module may result in more processing modules becoming overloaded. Advantageously, the disclosed mechanisms provide for a final redistribution adjustment to provide for even distribution of rows among all processing modules.
    Type: Application
    Filed: October 21, 2009
    Publication date: April 21, 2011
    Inventors: Xin Zhou, Olli Pekka Kostamaa
  • Patent number: 7870123
    Abstract: The invention relates to a method of determining the performance of an optimizer program arranged to generate a plan. The method generally comprises the steps of executing the optimizer utilising at least one test case to derive a pre-variation plan; executing the pre-variation plan to generate a first output; varying a strategy of the optimizer program; executing the varied optimizer program utilising the at least one test case to derive a post-variation plan; and executing the post-variation plan to generate a second output. The outputs are then grouped according to at least one element of the plans to assess the performance of the optimizer.
    Type: Grant
    Filed: December 1, 2006
    Date of Patent: January 11, 2011
    Assignee: Teradata US, Inc.
    Inventors: Bibhu Ranjan Priyadarshi, Grace Au, Olli Pekka Kostamaa
  • Publication number: 20100332458
    Abstract: A system, method, and computer-readable medium for dynamic detection and management of data skew in parallel join operations are provided. Rows allocated to processing modules involved in a join operation are redistributed among the processing modules by a hash redistribution of the join attributes. Receipt by a processing module of an excessive number of redistributed rows having a skewed value on the join attribute is detected by a processing module which notifies other processing modules of the skewed value. Processing modules then terminate redistribution of rows having a join attribute value matching the skewed value and either store such rows locally or duplicate the rows. The processing module that has received an excessive number of redistributed rows removes rows having a skewed value of the join attribute from a redistribution spool allocated thereto and duplicates the rows to each of the processing modules.
    Type: Application
    Filed: June 30, 2009
    Publication date: December 30, 2010
    Inventors: Yu Xu, Olli Pekka Kostamaa, Xin Zhou
  • Publication number: 20100153429
    Abstract: A system, method, and computer-readable medium for optimized processing of queries that feature maximum or minimum equality conditions are provided. A table on which the query is applied is scanned a single time. Rows of the table distributed to respective processing modules are scanned by the processing modules. Each processing module maintains identification of any rows distributed to the respective processing module that have attribute values that equal the maximum or minimum attribute value locally identified by the processing module. Subsequently, a global aggregation mechanism is invoked to compute the query result without requiring an additional rescan of the table. Further, the disclosed mechanisms may be extended to compute top N queries featuring maximum or minimum equality conditions.
    Type: Application
    Filed: December 11, 2008
    Publication date: June 17, 2010
    Inventors: Yu Xu, Olli Pekka Kostamaa
  • Publication number: 20100131540
    Abstract: A system, method, and computer-readable medium for optimization of query processing in a parallel processing system are provided. Skewed values and non-skewed values are treated differently to improve upon conventional DISTINCT and aggregation query processing. Skewed attribute values on which a DISTINCT selection or group by aggregation is applied are allocated entries in a hash table. In this manner, a processing module may consult the hash table to determine if a skewed attribute value has been encountered during the query processing in a manner that precludes repetitive redistribution of rows with highly skewed attribute values on which a DISTINCT selection or group by aggregation is applied.
    Type: Application
    Filed: November 25, 2008
    Publication date: May 27, 2010
    Inventors: Yu Xu, Olli Pekka Kostamaa
  • Publication number: 20100121836
    Abstract: A system, method, and computer-readable medium for optimizing query performance in a database system are provided. In one embodiment, join predicates of a self outer join are evaluated. If each join predicate is respectively based on a common join attribute, and each join attribute has a not null constraint applied thereto, the self outer join may be re-written as a self inner join. In another embodiment, if not null and unique constraints are applied to each join attribute of an inner join featuring join predicates each respectively based on a common join attribute, the inner join may advantageously removed thereby resulting in a select operation.
    Type: Application
    Filed: November 11, 2008
    Publication date: May 13, 2010
    Inventors: Yu Xu, Olli Pekka Kostamaa
  • Publication number: 20100082600
    Abstract: A system, method, and computer-readable medium for optimizing the performance of outer joins in a parallel processing system are provided. Predicates involving only attributes of a left table of a left outer join are pushed down to the outer relation for left outer joins having join predicates involving left table attributes and/or predicates involving attributes of both the right and left table. In such an instance, the rows of the left table may be partitioned into two sub-relations according to the predicate involving only attributes of the left table. Rows of the left table are allocated to a first sub-relation if the rows satisfy the predicate involving only attributes of the left table and rows of the left table are allocated to a second sub-relation if the rows fail to satisfy the predicate involving only attributes of the left table. Accordingly, only rows of the first sub-relation are required to be left outer joined with the right table.
    Type: Application
    Filed: September 23, 2008
    Publication date: April 1, 2010
    Inventors: Yu Xu, Olli Pekka Kostamaa
  • Publication number: 20100057672
    Abstract: A system, method, and computer-readable medium for optimizing join operations in a parallel processing system are provided. A respective set of rows of a first table and a second table involved in a join operation are distributed to each of a plurality of processing modules. The join operation comprises a join on a first column of the first table and a second column of the second table. Each of the plurality of processing modules redistributes at least a portion of the rows of the first table distributed thereto substantially equally among the other processing modules and duplicates at least a portion of the rows of the second table distributed thereto among the plurality of processing modules. The disclosed optimization mechanisms provide for reduced spool space requirements for execution of the parallel join operation.
    Type: Application
    Filed: September 3, 2008
    Publication date: March 4, 2010
    Inventors: Xin Zhou, Olli Pekka Kostamaa
  • Publication number: 20100049722
    Abstract: A system, method, and computer-readable medium for optimizing execution of a join operation in a parallel processing system are provided. A plurality of processing nodes that have at least one row of one or more tables involved in a join operation are identified. For each of the processing nodes, respective counts of rows that would be redistributed to each of the processing nodes based on join attributes of the rows are determined. A redistribution matrix is calculated from the counts of rows of each of the processing nodes. An optimized redistribution matrix is generated from the redistribution matrix, wherein the optimized redistribution matrix provides a minimization of rows to be redistributed among the nodes to execute the join operation.
    Type: Application
    Filed: August 19, 2008
    Publication date: February 25, 2010
    Inventors: Yu Xu, Olli Pekka Kostamaa, Xin Zhou
  • Publication number: 20090049024
    Abstract: A computer-implemented system, method and article of manufacture for managing a plurality of database systems in a domain, wherein each of the database systems are managed by one or more closed-loop system management (CLSM) regulators. A virtual regulator manages the domain, wherein the virtual regulator communicates with the CLSM regulators to monitor the database systems' system conditions and operating environment events within the domain and to provide for dynamic query optimization between the database systems within in the domain based on the system conditions and operating environment events.
    Type: Application
    Filed: August 14, 2007
    Publication date: February 19, 2009
    Inventors: Douglas P. Brown, Olli Pekka Kostamaa, John Mark Morris, Bhashyam Ramesh, Anita Richards
  • Publication number: 20080147603
    Abstract: A method of and system for extracting time series data from temporal data in a database table is disclosed. The method comprises receiving a request for time series data, the request including information indicative of a period of time to be covered by the request, values sought by the request, time instants at which the values are sought and a precision between consecutive time instants, and creating a temporary table and populating the temporary table with a plurality of time stamps covering the period of time indicated by the request, consecutive time stamps being separated by the precision indicated by the request, and the time stamps specifying the time instants indicated by the request.
    Type: Application
    Filed: December 14, 2006
    Publication date: June 19, 2008
    Inventors: Olli Pekka Kostamaa, Bhashyam Ramesh
  • Publication number: 20080147593
    Abstract: A technique for generating two or more execution plans for an SQL query within a database system. The system has two or more resources. A first resource utilization profile is defined by associating a first set of numerical utilization values respectively with two or more of the resources. The utilization values represent utilization of the resources. A first execution plan is generated that is optimal assuming utilization of the resources specified in the first resource utilization profile. The technique defines at least one further resource utilization profile by associating at least one further set of numerical utilization values respectively with two or more of the resources, the further utilization values representing utilization of the resources. At least one further execution plan is generated that is optimal assuming utilization of the resources specified in the further resource utilization profile(s).
    Type: Application
    Filed: December 14, 2006
    Publication date: June 19, 2008
    Inventors: Bhashyam Ramesh, Olli Pekka Kostamaa
  • Patent number: 7386536
    Abstract: A method, database system, and computer program for collecting statistics about a table are disclosed. The table includes one or more rows and each row includes a respective value. The method includes creating zero or more histogram buckets. Each histogram bucket includes a width representing a respective range of values and a height representing a count of rows having values in the range of values. The method further includes creating one or more high-bias buckets, each high-bias bucket represents one or more values that appear in a minimum percentage of rows.
    Type: Grant
    Filed: December 31, 2003
    Date of Patent: June 10, 2008
    Assignee: Teradata US, Inc.
    Inventors: Bhashyam Ramesh, Olli Pekka Kostamaa
  • Publication number: 20080133457
    Abstract: The invention relates to a method of determining the performance of an optimizer program arranged to generate a plan. The method generally comprises the steps of executing the optimizer utilising at least one test case to derive a pre-variation plan; executing the pre-variation plan to generate a first output; varying a strategy of the optimizer program; executing the varied optimizer program utilising the at least one test case to derive a post-variation plan; and executing the post-variation plan to generate a second output. The outputs are then grouped according to at least one element of the plans to assess the performance of the optimizer.
    Type: Application
    Filed: December 1, 2006
    Publication date: June 5, 2008
    Inventors: Bibhu Ranjan Priyadarshi, Grace Au, Olli Pekka Kostamaa
  • Patent number: 6704724
    Abstract: A method, apparatus, and article of manufacture for directly manipulating a query for a relational database management system (RDBMS). The query is transformed into an operator tree that is displayed on a monitor, wherein the operator tree includes nodes for data sources and operators referenced in the query, and lines between the nodes. The RDBMS alters an execution plan for the query in response to one or more manipulations made to the displayed operator tree by the user. Generally, these manipulations comprise hints for an optimizer function of the RDBMS that an efficient execution plan to be generated for the query. Specifically, the hints influence the optimizer to choose one execution plan over another when there is insufficient information for the optimizer function to make a choice on its own.
    Type: Grant
    Filed: December 14, 1999
    Date of Patent: March 9, 2004
    Assignee: NCR Corporation
    Inventors: Curtis John Ellmann, Olli Pekka Kostamaa
  • Patent number: 6618729
    Abstract: A method, apparatus, and article of manufacture for optimizing a star join operation in relational database management systems (RDBMS). A cross-product is generated from a plurality of dimension tables referenced by the star join. The join columns of the cross-product are then hashed to create a hash-row value. Using the hash-row value, a Star Map is probed to determine whether a record exists in a fact table that corresponds to the cross-product, wherein a first portion of the hash-row value is used to select a row of the Star Map and a second portion of the hash-row value is used to select a column of the selected row of the Star Map. The fact table is accessed to perform a merge join with the cross-product when the selected column of the selected row of the Star Map indicates that the record exists in the fact table.
    Type: Grant
    Filed: April 20, 2000
    Date of Patent: September 9, 2003
    Assignee: NCR Corporation
    Inventors: Ramesh Bhashyam, Olli Pekka Kostamaa
  • Patent number: 5864842
    Abstract: A method, apparatus, and article of manufacture for optimizing SQL queries in a relational database management system uses hash star join operations. A hash star join operation is performed in place of the star join operation when the query includes the star join operation on a base table and the plurality of dimension tables. The base table is hash partitioned into a plurality of distinct and separate sub-portions thereof. Selecting and projecting rows from all of the dimension tables to separate temporary dimension tables. The query is split into a plurality of sub-queries, wherein each of the sub-queries comprises a hash star join operation on the temporary dimension tables and one or more of the distinct sub-portions of the base table. Each of the sub-queries are then performed independently of one another to create intermediate result tables. The intermediate result tables from each of the sub-queries are then merged together to create an output table.
    Type: Grant
    Filed: October 23, 1995
    Date of Patent: January 26, 1999
    Assignee: NCR Corporation
    Inventors: Donald Raymond Pederson, Olli Pekka Kostamaa