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: 9454572Abstract: 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: GrantFiled: March 14, 2013Date of Patent: September 27, 2016Assignee: Oracle International CorporationInventors: Luping Ding, Tsae-Feng Yu, Andrew Witkowski
-
Patent number: 9430550Abstract: 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: GrantFiled: September 28, 2012Date of Patent: August 30, 2016Assignee: Oracle International CorporationInventors: Mohamed Ziauddin, Andrew Witkowski
-
Patent number: 9390129Abstract: 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: GrantFiled: January 30, 2013Date of Patent: July 12, 2016Assignee: Oracle International CorporationInventors: Huagang Li, Srikanth Bellamkonda, Sankar Subramanian, Andrew Witkowski
-
Patent number: 9183252Abstract: 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: GrantFiled: January 30, 2013Date of Patent: November 10, 2015Assignee: Oracle International CorporationInventors: Huagang Li, Srikanth Bellamkonda, Sankar Subramanian, Andrew Witkowski
-
Publication number: 20150199407Abstract: 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: ApplicationFiled: March 27, 2015Publication date: July 16, 2015Inventors: Mohamed Ziauddin, Andrew Witkowski
-
Patent number: 8996544Abstract: 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: GrantFiled: September 28, 2012Date of Patent: March 31, 2015Assignee: Oracle International CorporationInventors: Mohamed Ziauddin, Andrew Witkowski
-
Patent number: 8996502Abstract: 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: GrantFiled: March 18, 2005Date of Patent: March 31, 2015Assignee: Oracle International CorporationInventors: Nathaniel Keith Folkert, Abhinav Gupta, Andrew Witkowski
-
Patent number: 8868544Abstract: 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: GrantFiled: April 25, 2003Date of Patent: October 21, 2014Assignee: Oracle International CorporationInventors: Andrew Witkowski, Gregory Dorman, David Greenfield
-
Publication number: 20140280029Abstract: 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: ApplicationFiled: March 14, 2013Publication date: September 18, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Luping Ding, Tsae-Feng Yu, Andrew Witkowski
-
Publication number: 20140280023Abstract: 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: ApplicationFiled: March 15, 2013Publication date: September 18, 2014Inventors: Unmesh Jagtap, Andrew Witkowski, Mohamed Zait, Allison Waingold Lee, Hari Sankar Sivarama Subramaniyan, Thierry Cruanes
-
Publication number: 20140214754Abstract: 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: ApplicationFiled: January 30, 2013Publication date: July 31, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Huagang Li, Srikanth Bellamkonda, Sankar Subramanian, Andrew Witkowski
-
Publication number: 20140095502Abstract: 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: ApplicationFiled: September 28, 2012Publication date: April 3, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Mohamed Ziauddin, Andrew Witkowski
-
Publication number: 20140095520Abstract: 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: ApplicationFiled: September 28, 2012Publication date: April 3, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Mohamed Ziauddin, Andrew Witkowski
-
Patent number: 8478742Abstract: 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: GrantFiled: March 18, 2005Date of Patent: July 2, 2013Assignee: Oracle CorporationInventors: Nathaniel Keith Folkert, Abhinav Gupta, Andrew Witkowski
-
Patent number: 8468166Abstract: 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: GrantFiled: March 17, 2011Date of Patent: June 18, 2013Assignee: Oracle International CorporationInventors: Tolga Bozkaya, Andrew Witkowski
-
Patent number: 8156145Abstract: 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: GrantFiled: March 17, 2011Date of Patent: April 10, 2012Assignee: Oracle International CorporationInventors: Tolga Bozkaya, Andrew Witkowski
-
Patent number: 8103689Abstract: 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: GrantFiled: January 12, 2011Date of Patent: January 24, 2012Assignee: Oracle International CorporationInventors: Abhinav Gupta, Andrew Witkowski
-
Patent number: 8001112Abstract: 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: GrantFiled: July 23, 2004Date of Patent: August 16, 2011Assignee: Oracle International CorporationInventors: Matthew Dombroski, Ekrem Soylemez, Andrew Witkowski
-
Patent number: 7979384Abstract: 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: GrantFiled: May 1, 2008Date of Patent: July 12, 2011Assignee: Oracle International CorporationInventors: Tolga Bozkaya, Andrew Witkowski
-
Publication number: 20110167091Abstract: 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: ApplicationFiled: March 17, 2011Publication date: July 7, 2011Inventors: Tolga Bozkaya, Andrew Witkowski