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).
-
Publication number: 20110137875Abstract: An incremental refresh of a materialized view may be simplified, and therefore made more cost efficient, by reducing the number of DML operations being merged with the materialized view during the incremental refresh. Specifically, subsequences of sequences of data manipulation language operations that have been recorded for a particular row of a base table may be inspected to determine whether the subsequences conform to particular patterns of data manipulation language operator types. If a subsequence conforms to one of the particular patterns, the subsequence may be replaced with a single substitute: either a single data manipulation language operation, or null. Refresh operations that are generated based on the simplified sequences of data manipulation language operations are more simple, and therefore, less costly to perform.Type: ApplicationFiled: December 9, 2009Publication date: June 9, 2011Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Mohamed Ziauddin, Andrew Witkowski
-
Publication number: 20110106790Abstract: 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: ApplicationFiled: January 12, 2011Publication date: May 5, 2011Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Abhinav Gupta, Andrew Witkowski
-
Patent number: 7912834Abstract: 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: May 19, 2006Date of Patent: March 22, 2011Assignee: Oracle International CorporationInventors: Abhinav Gupta, Andrew Witkowski
-
Patent number: 7890497Abstract: 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: February 15, 2011Assignee: Oracle International CorporationInventors: Nathaniel Keith Folkert, Abhinav Gupta, Andrew Witkowski
-
Patent number: 7809712Abstract: Described herein are optimizations and execution strategies for spreadsheet extensions to SQL. The partitioning of data, as specified in a spreadsheet clause, provides a way to parallelize the computation of spreadsheet and to provide and improve scalability. Even if the partitioning is not explicitly specified in the spreadsheet clause, the database optimizer can automatically infer the partitioning in some cases. Efficient hash based access structures on relations can be used for symbolic array addressing, enabling fast computation of formulas. When rewriting SQL statements, formulas whose results are not referenced in outer blocks can be removed from the spreadsheet clause, thus removing unnecessary computations. The predicates from other query blocks can be moved inside query blocks with spreadsheets clauses, thus considerably reducing the amount of data to be processed. Conditions for validity of this transformation are given.Type: GrantFiled: November 2, 2006Date of Patent: October 5, 2010Assignee: Oracle International CorporationInventors: Andrew Witkowski, Srikanth Bellamkonda, Tolga Bozkaya, Abhinav Gupta, Nathan Folkert, Sankar Subramanian
-
Patent number: 7761403Abstract: Described herein are optimizations and execution strategies for spreadsheet extensions to SQL. The partitioning of data, as specified in a spreadsheet clause, provides a way to parallelize the computation of spreadsheet and to provide and improve scalability. Even if the partitioning is not explicitly specified in the spreadsheet clause, the database optimizer can automatically infer the partitioning in some cases. Efficient hash based access structures on relations can be used for symbolic array addressing, enabling fast computation of formulas. When rewriting SQL statements, formulas whose results are not referenced in outer blocks can be removed from the spreadsheet clause, thus removing unnecessary computations. The predicates from other query blocks can be moved inside query blocks with spreadsheets clauses, thus considerably reducing the amount of data to be processed. Conditions for validity of this transformation are given.Type: GrantFiled: November 6, 2003Date of Patent: July 20, 2010Assignee: Oracle International CorporationInventors: Andrew Witkowski, Srikanth Bellamkonda, Tolga Bozkaya, Abhinav Gupta, Nathan Folkert, Sankar Subramanian
-
Patent number: 7734602Abstract: 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: June 8, 2010Assignee: Oracle International CorporationInventors: Nathaniel Keith Folkert, Abhinav Gupta, Andrew Witkowski
-
Publication number: 20080208822Abstract: 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: May 1, 2008Publication date: August 28, 2008Inventors: Tolga Bozkaya, Andrew Witkowski
-
Patent number: 7379933Abstract: Query rewrite techniques are provided for rewriting an aggregate query with multiple groupings using multiple summary tables. The rewrite is accomplished by expanding the aggregate query into an equivalent UNION ALL query with multiple subqueries, each containing a single grouping. One or more of the subqueries is then rewritten to reference a summary table. Thus, a grouping of an aggregate query is derived by executing a subquery that either scans the summary table for the grouping, like in the exact-match mode, or by performing a roll-up operation, like in the roll-up mode. In addition, if the grouping of some of the subqueries cannot be derived from a summary table, subqueries are combined into another subquery that computes groupings from the base tables of the aggregate query.Type: GrantFiled: November 27, 2002Date of Patent: May 27, 2008Assignee: Oracle International CorporationInventors: Andrew Witkowski, Lei Sheng
-
Patent number: 7299223Abstract: Users can create computational models in a spreadsheet application and automatically apply the model to data stored in a relational database. By importing a sample of the data from a database table into the spreadsheet application, users can build spreadsheet models that perform analysis and computations on the sample data. Once the model is complete, the spreadsheet model is translated into an SQL format model understood by the database. The SQL model can operate on the entire data set in the database, rather than just the sample data used to construct the model. The SQL model and its associated data are stored in the database, and the model can be executed on a different sets of data. A web browser based front-end allows model users to access the SQL model via a web browser, eliminating the need for model users to have a spreadsheet application.Type: GrantFiled: July 15, 2004Date of Patent: November 20, 2007Assignee: Oracle International CorporationInventors: Aman Namait, Allison Waingold, Martin Roth, Andrew Witkowski
-
Publication number: 20070078826Abstract: 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: October 3, 2005Publication date: April 5, 2007Inventors: Tolga Bozkaya, Andrew Witkowski
-
Publication number: 20070055661Abstract: Described herein are optimizations and execution strategies for spreadsheet extensions to SQL. The partitioning of data, as specified in a spreadsheet clause, provides a way to parallelize the computation of spreadsheet and to provide and improve scalability. Even if the partitioning is not explicitly specified in the spreadsheet clause, the database optimizer can automatically infer the partitioning in some cases. Efficient hash based access structures on relations can be used for symbolic array addressing, enabling fast computation of formulas. When rewriting SQL statements, formulas whose results are not referenced in outer blocks can be removed from the spreadsheet clause, thus removing unnecessary computations. The predicates from other query blocks can be moved inside query blocks with spreadsheets clauses, thus considerably reducing the amount of data to be processed. Conditions for validity of this transformation are given.Type: ApplicationFiled: November 2, 2006Publication date: March 8, 2007Inventors: Andrew Witkowski, Srikanth Bellamkonda, Tolga Bozkaya, Abhinav Gupta, Nathan Folkert, Sankar Subramanian
-
Patent number: 7177855Abstract: Described herein are optimizations and execution strategies for spreadsheet extensions to SQL. The partitioning of data, as specified in a spreadsheet clause, provides a way to parallelize the computation of spreadsheet and to provide and improve scalability. Even if the partitioning is not explicitly specified in the spreadsheet clause, the database optimizer can automatically infer the partitioning in some cases. Efficient hash based access structures on relations can be used for symbolic array addressing, enabling fast computation of formulas. When rewriting SQL statements, formulas whose results are not referenced in outer blocks can be removed from the spreadsheet clause, thus removing unnecessary computations. The predicates from other query blocks can be moved inside query blocks with spreadsheets clauses, thus considerably reducing the amount of data to be processed. Conditions for validity of this transformation are given.Type: GrantFiled: November 6, 2003Date of Patent: February 13, 2007Assignee: Oracle International CorporationInventors: Andrew Witkowski, Srikanth Bellamkonda, Tolga Bozkaya, Abhinav Gupta, Nathan Folkert, Sankar Subramanian
-
Patent number: 7171427Abstract: A method and mechanism for performing an operation based on multidimensional data in a relational database. A query is generated that includes a first set of instructions to select a portion of multidimensional data for inclusion in a relational cube and a second set of instructions to group the portion of multidimensional data in the relational cube using at least two or more levels of granularity of at least one dimension, thereby causing a relational cube to be generated. Based on a received request for an operation to be performed, the query is modified to include a third set of instructions that represent the requested operation; and the query is submitted to the relational database engine of the relational database management system. Thereafter, the operation is performed against the relational cube.Type: GrantFiled: April 25, 2003Date of Patent: January 30, 2007Assignee: Oracle International CorporationInventors: Andrew Witkowski, Gregory Dorman, David Greenfield
-
Publication number: 20060212436Abstract: 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: ApplicationFiled: May 19, 2006Publication date: September 21, 2006Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Abhinav Gupta, Andrew Witkowski
-
Patent number: 7111020Abstract: 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: March 26, 2002Date of Patent: September 19, 2006Assignee: Oracle International CorporationInventors: Abhinav Gupta, Andrew Witkowski
-
Patent number: 7035843Abstract: Methods are provided for efficiently evaluating database queries including multiple rollup operators. With the computation of grouping identifiers to distinguish grouping levels of each rollup operator, evaluation of database queries that include concatenation of rollup operators includes nesting of the rollup operators and includes the grouping identifiers as sorting keys for subsequent processing. Furthermore, to optimize the query evaluation process, the order in which the rollup operators are computed can be determined based on cardinalities that estimate the number of records generated by each rollup operator, and parallel evaluation can be utilized by partitioning data records between rollup operator processing stages based on the grouping keys associated with the rollup operators that are not being processed at the next stage.Type: GrantFiled: February 15, 2002Date of Patent: April 25, 2006Assignee: Oracle International CorporationInventors: Srikanth Bellamkonda, Abhinav Gupta, Andrew Witkowski
-
Publication number: 20060047622Abstract: 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: ApplicationFiled: March 18, 2005Publication date: March 2, 2006Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Nathaniel Folkert, Abhinav Gupta, Andrew Witkowski
-
Patent number: 6985895Abstract: A method and system for performing spreadsheet-like operations in a database system is described herein. As explained, a database language is extended to introduce new clauses (“spreadsheet-like clauses”), for defining and executing spreadsheet-like operations on data contained within a RDBMS. According to one aspect of the invention, in response to receiving a database query that specifies an operation for manipulating data, data from a relational structure is retrieved and stored in a non-relational structure that can be addressed as a multi-dimensional array. The operation specified in the database query is the performed on then data.Type: GrantFiled: June 20, 2001Date of Patent: January 10, 2006Assignee: Oracle International CorporationInventors: Andrew Witkowski, Gregory Dorman, Fred Zemke, Martin Roth, Cetin Ozbutun
-
Publication number: 20050235004Abstract: 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: ApplicationFiled: March 18, 2005Publication date: October 20, 2005Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Nathaniel Folkert, Abhinav Gupta, Andrew Witkowski