Patents by Inventor Andrew Witkowski

Andrew Witkowski 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).

  • Patent number: 9454572
    Abstract: Techniques are provided for performing a refresh or update of a materialized view without modifying the materialized view. Such a refresh is referred to as an out-of-place materialized view refresh. An out-of-place materialized view refresh involves creating one or more outside tables into which data will be inserted. During the refresh, the materialized view may be accessible for query processing, even though the materialized view contains “stale” data. After the insertion, the one or more outside tables are made accessible for query processing and future queries will target the one or more outside tables instead of the materialized view.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: September 27, 2016
    Assignee: Oracle International Corporation
    Inventors: Luping Ding, Tsae-Feng Yu, Andrew Witkowski
  • Patent number: 9430550
    Abstract: Techniques are provided that address the problems associated with prior approaches for clustering a fact table in a relational database management system. According to one aspect of the invention, a database server clusters a fact table in a database based on one or more dimension tables. More specifically, rows are stored in the fact table in a sorted order and the order in which the rows are sorted is based on values in one or more columns of one or more of the dimension tables. A user specifies the columns of the dimension tables on which the sorted order is based in “clustering criteria”. The database server uses the clustering criteria to automatically store the rows in the fact table in the sorted order in response to certain user-initiated database operations on the fact-table.
    Type: Grant
    Filed: September 28, 2012
    Date of Patent: August 30, 2016
    Assignee: Oracle International Corporation
    Inventors: Mohamed Ziauddin, Andrew Witkowski
  • Patent number: 9390129
    Abstract: According to one aspect of the invention, for a database statement that specifies evaluating reporting window functions, a computation-pushdown execution strategy may be used for the database statement. The computation-pushdown execution plan includes producer operators and consolidation operators. Each producer operator computes a respective partial aggregation for each reporting window function based on a subset of rows, and broadcasts the respective partial aggregation. Each consolidation operator fully aggregates all partial aggregations broadcasted from the producer operators. Alternatively, an extended-data-distribution-key execution plan may be used. Each producer operator sends rows based on hash keys to sort operators for computing partial aggregations for at least one reporting window function based on a subset of rows. Each consolidation operator receives and fully aggregates all partial aggregations broadcasted from the sort operators.
    Type: Grant
    Filed: January 30, 2013
    Date of Patent: July 12, 2016
    Assignee: Oracle International Corporation
    Inventors: Huagang Li, Srikanth Bellamkonda, Sankar Subramanian, Andrew Witkowski
  • Patent number: 9183252
    Abstract: According to one aspect of the invention, for a database statement that specifies evaluating reporting window functions, a computation-pushdown execution strategy may be used for the database statement. The computation-pushdown execution plan includes producer operators and consolidation operators. Each producer operator computes a respective partial aggregation for each reporting window function based on a subset of rows, and broadcasts the respective partial aggregation. Each consolidation operator fully aggregates all partial aggregations broadcasted from the producer operators. Alternatively, an extended-data-distribution-key execution plan may be used. Each producer operator sends rows based on hash keys to sort operators for computing partial aggregations for at least one reporting window function based on a subset of rows. Each consolidation operator receives and fully aggregates all partial aggregations broadcasted from the sort operators.
    Type: Grant
    Filed: January 30, 2013
    Date of Patent: November 10, 2015
    Assignee: Oracle International Corporation
    Inventors: Huagang Li, Srikanth Bellamkonda, Sankar Subramanian, Andrew Witkowski
  • Publication number: 20150199407
    Abstract: Techniques are provided for generating a “dimensional zonemap” that allows a database server to avoid scanning disk blocks of a fact table based on filter predicates in a query that qualify one or more dimension tables. The zonemap divides the fact table into sets of contiguous disk blocks referred to as “zones”. For each zone, a minimum value and a maximum value for each of one or more “zoned” columns of the dimension tables is determined and maintained in the zonemap. For a query that contains a filter predicate on a zoned column, the predicate value can be compared to the minimum value and maximum value maintained for a zone for that zoned column to determine whether a scan of the disk blocks of the zone can be skipped.
    Type: Application
    Filed: March 27, 2015
    Publication date: July 16, 2015
    Inventors: Mohamed Ziauddin, Andrew Witkowski
  • Patent number: 8996544
    Abstract: Techniques are provided for generating a “dimensional zonemap” that allows a database server to avoid scanning disk blocks of a fact table based on filter predicates in a query that qualify one or more dimension tables. The zonemap divides the fact table into sets of contiguous disk blocks referred to as “zones”. For each zone, a minimum value and a maximum value for each of one or more “zoned” columns of the dimension tables is determined and maintained in the zonemap. For a query that contains a filter predicate on a zoned column, the predicate value can be compared to the minimum value and maximum value maintained for a zone for that zoned column to determine whether a scan of the disk blocks of the zone can be skipped.
    Type: Grant
    Filed: September 28, 2012
    Date of Patent: March 31, 2015
    Assignee: Oracle International Corporation
    Inventors: Mohamed Ziauddin, Andrew Witkowski
  • Patent number: 8996502
    Abstract: In an embodiment, Partition Change Tracking (PCT) refresh is performed by using join dependencies on partitioning columns to derive and fill in identifiers of rows and/or partitions containing the rows in the refresh expressions. In an embodiment, the join dependencies that form the Materialized View's (MV's) query definition and the partitioning predicate of the table are used to automatically generate a statement which is run in order to derive and fill in identifiers of the rows and/or partitions that are being changed. The identifiers are then plugged into the refresh expression, and the refresh expression is run. Running the refresh expression causes the rows identified to be refreshed.
    Type: Grant
    Filed: March 18, 2005
    Date of Patent: March 31, 2015
    Assignee: Oracle International Corporation
    Inventors: Nathaniel Keith Folkert, Abhinav Gupta, Andrew Witkowski
  • Patent number: 8868544
    Abstract: A method and mechanism for performing an operation based on multidimensional data in a relational database. A first query is submitted to a relational database engine of the relational database management system, thereby causing a relational cube to be generated. The first query includes instructions to select a portion of multidimensional data for inclusion in the relational cube. The first query includes instructions to group the selected portion of multidimensional data using at least two or more levels of granularity of at least one dimension. The first query also includes instructions to generate a materialized view. Based on a received request for an operation, a second query is submitted to the relational database engine for execution against the relational cube, thereby causing the operation to be performed.
    Type: Grant
    Filed: April 25, 2003
    Date of Patent: October 21, 2014
    Assignee: Oracle International Corporation
    Inventors: Andrew Witkowski, Gregory Dorman, David Greenfield
  • Publication number: 20140280029
    Abstract: Techniques are provided for performing a refresh or update of a materialized view without modifying the materialized view. Such a refresh is referred to as an out-of-place materialized view refresh. An out-of-place materialized view refresh involves creating one or more outside tables into which data will be inserted. During the refresh, the materialized view may be accessible for query processing, even though the materialized view contains “stale” data. After the insertion, the one or more outside tables are made accessible for query processing and future queries will target the one or more outside tables instead of the materialized view.
    Type: Application
    Filed: March 14, 2013
    Publication date: September 18, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Luping Ding, Tsae-Feng Yu, Andrew Witkowski
  • Publication number: 20140280023
    Abstract: A method, system, and computer program product for high-performance database systems. The method commences by estimating, during a compile phase, a statically-calculated system cost of performing parallel join operations over two relations, then selecting, during the compile phase, a first distribution method to perform the parallel join operations. Instructions (e.g., table partitioning) are communicated to two or more execution units for execution of the parallel join operations, and during execution, various measurements are taken pertaining to the performance of a first portion of the parallel join operations using the selected first distribution method. Then, responsive to the measurements a second distribution method is selected and corresponding instructions are communicated to the two or more execution units. The parallel join operations continue, now using the second distribution method.
    Type: Application
    Filed: March 15, 2013
    Publication date: September 18, 2014
    Inventors: Unmesh Jagtap, Andrew Witkowski, Mohamed Zait, Allison Waingold Lee, Hari Sankar Sivarama Subramaniyan, Thierry Cruanes
  • Publication number: 20140214754
    Abstract: According to one aspect of the invention, for a database statement that specifies evaluating reporting window functions, a computation-pushdown execution strategy may be used for the database statement. The computation-pushdown execution plan includes producer operators and consolidation operators. Each producer operator computes a respective partial aggregation for each reporting window function based on a subset of rows, and broadcasts the respective partial aggregation. Each consolidation operator fully aggregates all partial aggregations broadcasted from the producer operators. Alternatively, an extended-data-distribution-key execution plan may be used. Each producer operator sends rows based on hash keys to sort operators for computing partial aggregations for at least one reporting window function based on a subset of rows. Each consolidation operator receives and fully aggregates all partial aggregations broadcasted from the sort operators.
    Type: Application
    Filed: January 30, 2013
    Publication date: July 31, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Huagang Li, Srikanth Bellamkonda, Sankar Subramanian, Andrew Witkowski
  • Publication number: 20140095502
    Abstract: Techniques are provided that address the problems associated with prior approaches for clustering a fact table in a relational database management system. According to one aspect of the invention, a database server clusters a fact table in a database based on one or more dimension tables. More specifically, rows are stored in the fact table in a sorted order and the order in which the rows are sorted is based on values in one or more columns of one or more of the dimension tables. A user specifies the columns of the dimension tables on which the sorted order is based in “clustering criteria”. The database server uses the clustering criteria to automatically store the rows in the fact table in the sorted order in response to certain user-initiated database operations on the fact-table.
    Type: Application
    Filed: September 28, 2012
    Publication date: April 3, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Mohamed Ziauddin, Andrew Witkowski
  • Publication number: 20140095520
    Abstract: Techniques are provided for generating a “dimensional zonemap” that allows a database server to avoid scanning disk blocks of a fact table based on filter predicates in a query that qualify one or more dimension tables. The zonemap divides the fact table into sets of contiguous disk blocks referred to as “zones”. For each zone, a minimum value and a maximum value for each of one or more “zoned” columns of the dimension tables is determined and maintained in the zonemap. For a query that contains a filter predicate on a zoned column, the predicate value can be compared to the minimum value and maximum value maintained for a zone for that zoned column to determine whether a scan of the disk blocks of the zone can be skipped.
    Type: Application
    Filed: September 28, 2012
    Publication date: April 3, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Mohamed Ziauddin, Andrew Witkowski
  • Patent number: 8478742
    Abstract: In an embodiment, estimated costs are used to pick the best refresh technique (e.g., method) for a given MV. In another embodiment, estimated costs are used to schedule the refresh of a set MVs in an order such that overall time to refresh is reduced, or in an order that uses the smallest overall time, for refreshing when compared to other alternative refresh schedules. In another embodiment, the estimated cost of refreshing each of a set of MVs is used to select the set of CPU resources to allocate to refreshing each MV. Based on the estimated costs, the allocation of CPU resources is chosen to be more optimal (e.g., use less CPU time) than other available sets of CPU resources. In an embodiment, when refreshing an MV, delayed index maintenance is chosen if a significant portion of the base table and/or the partitions of the table has changed.
    Type: Grant
    Filed: March 18, 2005
    Date of Patent: July 2, 2013
    Assignee: Oracle Corporation
    Inventors: Nathaniel Keith Folkert, Abhinav Gupta, Andrew Witkowski
  • Patent number: 8468166
    Abstract: A method for processing queries is provided. A database server receives and executes a query to generate a relation. The query comprises first one or more clauses and a model clause. The model clause comprises a rule that has a left-side expression and a right-side expression. In one embodiment, the right-side expression of the rule includes a window function, which specifies one or more partition columns. In an embodiment, the left-side expression comprises a for-loop predicate. The for-loop predicate is unfolded after the database server compiles the query. In one embodiment, the left-side expression of the rule comprises one or more existential predicates, where each existential predicate evaluates to a Boolean value.
    Type: Grant
    Filed: March 17, 2011
    Date of Patent: June 18, 2013
    Assignee: Oracle International Corporation
    Inventors: Tolga Bozkaya, Andrew Witkowski
  • Patent number: 8156145
    Abstract: A method for processing queries is provided. A database server receives and executes a query to generate a relation. The query comprises first one or more clauses and a model clause. The model clause comprises a rule that has a left-side expression and a right-side expression. In one embodiment, the right-side expression of the rule includes a window function, which specifies one or more partition columns. In an embodiment, the left-side expression comprises a for-loop predicate. The for-loop predicate is unfolded after the database server compiles the query. In one embodiment, the left-side expression of the rule comprises one or more existential predicates, where each existential predicate evaluates to a Boolean value.
    Type: Grant
    Filed: March 17, 2011
    Date of Patent: April 10, 2012
    Assignee: Oracle International Corporation
    Inventors: Tolga Bozkaya, Andrew Witkowski
  • Patent number: 8103689
    Abstract: Techniques are provided for improving efficiency of database systems, and in particular, to refreshing materialized views maintained by database systems and rewriting queries to access the materialized views. According to the approaches, a ranked materialized view is incrementally refreshed, and during the incremental refresh operation, rows in the partitions of the materialized view are ranked within the partitions.
    Type: Grant
    Filed: January 12, 2011
    Date of Patent: January 24, 2012
    Assignee: Oracle International Corporation
    Inventors: Abhinav Gupta, Andrew Witkowski
  • Patent number: 8001112
    Abstract: Approaches are disclosed for using a multidimensional database as a surrogate for a run-time hash table in the context of processing a relational query. In an embodiment, an analytic workspace is used to store data, wherein the data is to be evaluated using a by a function in the processing of a MODEL clause. The approaches eliminate the need to use a hash table to store the data that is to be evaluated. The data may initially reside in the analytic workspace, or it may be loaded into the analytic workspace.
    Type: Grant
    Filed: July 23, 2004
    Date of Patent: August 16, 2011
    Assignee: Oracle International Corporation
    Inventors: Matthew Dombroski, Ekrem Soylemez, Andrew Witkowski
  • Patent number: 7979384
    Abstract: A method for processing queries is provided. A database server receives and executes a query to generate a relation. The query comprises first one or more clauses and a model clause. The model clause comprises a rule that has a left-side expression and a right-side expression. In one embodiment, the right-side expression of the rule includes a window function, which specifies one or more partition columns. In an embodiment, the left-side expression comprises a for-loop predicate. The for-loop predicate is unfolded after the database server compiles the query. In one embodiment, the left-side expression of the rule comprises one or more existential predicates, where each existential predicate evaluates to a Boolean value.
    Type: Grant
    Filed: May 1, 2008
    Date of Patent: July 12, 2011
    Assignee: Oracle International Corporation
    Inventors: Tolga Bozkaya, Andrew Witkowski
  • Publication number: 20110167091
    Abstract: A method for processing queries is provided. A database server receives and executes a query to generate a relation. The query comprises first one or more clauses and a model clause. The model clause comprises a rule that has a left-side expression and a right-side expression. In one embodiment, the right-side expression of the rule includes a window function, which specifies one or more partition columns. In an embodiment, the left-side expression comprises a for-loop predicate. The for-loop predicate is unfolded after the database server compiles the query. In one embodiment, the left-side expression of the rule comprises one or more existential predicates, where each existential predicate evaluates to a Boolean value.
    Type: Application
    Filed: March 17, 2011
    Publication date: July 7, 2011
    Inventors: Tolga Bozkaya, Andrew Witkowski