Patents by Inventor Srikanth Bellamkonda
Srikanth Bellamkonda 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: 9158812Abstract: According to one aspect of the invention, for a database statement that specifies evaluating ranking or cumulative window functions, an execution strategy based on an extended data distribution key may be used for the database statement. In the execution strategy, each sort operator of multiple parallel processing sort operators computes locally evaluated results of a ranking or cumulative window function based on a subset of rows in all rows used to evaluate the database statement, and sends the first and last rows' locally evaluated results to a query coordinator. The query coordinator consolidates the locally evaluated results received from the multiple parallel processing sort operators and sends consolidated results to the sort operators based on their respective demographics. Each sort operator completes full evaluation of the ranking or cumulative window functions based at least in part on one or more of the consolidated results provided by the query coordinator.Type: GrantFiled: January 30, 2013Date of Patent: October 13, 2015Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Huagang Li, Srikanth Bellamkonda
-
Publication number: 20150220600Abstract: Techniques are described herein for efficient set operation execution. According to some embodiments, a request is received to perform a set operation with respect to a first data set and a second data set. The request may identify the first data set, the second data set, and a type of set operation to perform. In response to receiving the request, a hash table is generated in memory from a first set of records in the first data set, and a second set of records from the second data set is probed against the hash table. Based on probing the hash table and the type of set operation identified in the request, records that satisfy the set operation are identified and output from the hash table.Type: ApplicationFiled: January 31, 2014Publication date: August 6, 2015Inventor: Srikanth Bellamkonda
-
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: 20140214800Abstract: According to one aspect of the invention, for a database statement that specifies rollup operations, a data distribution key may be selected among a plurality of candidate keys. Numbers of distinct values of the candidate keys may be monitored with respect to a particular set of rows. Hash values may also be generated by column values in the candidate keys. The data distribution key may be determined based on results of monitoring the numbers of distinct values of the candidate keys as well as the frequencies of hash values computed based on column values of the candidate keys. Rollup operations may be shared between different stages of parallel executing processes and data may be distributed between the different stages of parallel executing processes based on the selected data distribution key.Type: ApplicationFiled: January 30, 2013Publication date: July 31, 2014Applicant: Oracle International CorporationInventors: Jianhua Liang, Srikanth Bellamkonda
-
Publication number: 20140214799Abstract: According to one aspect of the invention, for a database statement that specifies evaluating ranking or cumulative window functions, an execution strategy based on an extended data distribution key may be used for the database statement. In the execution strategy, each sort operator of multiple parallel processing sort operators computes locally evaluated results of a ranking or cumulative window function based on a subset of rows in all rows used to evaluate the database statement, and sends the first and last rows' locally evaluated results to a query coordinator. The query coordinator consolidates the locally evaluated results received from the multiple parallel processing sort operators and sends consolidated results to the sort operators based on their respective demographics. Each sort operator completes full evaluation of the ranking or cumulative window functions based at least in part on one or more of the consolidated results provided by the query coordinator.Type: ApplicationFiled: January 30, 2013Publication date: July 31, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Huagang Li, Srikanth Bellamkonda
-
Publication number: 20140156636Abstract: A method, apparatus, and system for dynamic parallel aggregation with hybrid batch flushing are provided. Record sources of an aggregation operator in a query execution plan may dynamically aggregate using the same aggregation operator. The dynamic aggregation creates a batch of aggregation records from an input source, which are then used to aggregate further records from the input source. If a record from the input source is not matched to an aggregation record in the batch, then the record is passed to the next operator. In this manner, records are aggregated ahead of time at a record source to reduce the number of records passed between operators, reducing the impact of network I/O between nodes of a parallel processing system. By adjusting the contents of the batch according to aggregation performance monitored during run-time, hybrid batch flushing can be implemented to adapt to changing data patterns and skewed values.Type: ApplicationFiled: December 4, 2012Publication date: June 5, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Srikanth Bellamkonda, Huagang Li
-
Patent number: 8650208Abstract: An improved approach is described for handling parallelization of window functions, particularly window functions that do not contain partition keys or which has low cardinality for the partition keys. The approach is highly scalable and can be used to greatly improve query processing. A two stage evaluation approach is employed to parallelize the processing of window functions. In the first stage, which is highly parallel, the majority of the computation of window function is done by all available processes. In this way, the entire computing power of the database server is utilized. The second stage, which is serial but is likely to be very short, all processes involved in first stage synchronize and complete the window function evaluation.Type: GrantFiled: July 30, 2010Date of Patent: February 11, 2014Assignee: Oracle International CorporationInventor: Srikanth Bellamkonda
-
Patent number: 8150865Abstract: Methods for transforming queries that contain EXISTS and NOT EXISTS subqueries are provided. The methods provided transform original queries that contain EXISTS and/or NOT EXISTS subqueries in conjunctive or disjunctive combinations into transformed queries that coalesce the original EXISTS and/or NOT EXISTS subqueries into a reduced number of EXISTS and/or NOT EXISTS subqueries, thereby eliminating duplicative table accesses and join operations.Type: GrantFiled: July 29, 2008Date of Patent: April 3, 2012Assignee: Oracle International CorporationInventors: Rafi Ahmed, Srikanth Bellamkonda
-
Publication number: 20120030233Abstract: An improved approach is described for handling parallelization of window functions, particularly window functions that do not contain partition keys or which has low cardinality for the partition keys. The approach is highly scalable and can be used to greatly improve query processing. A two stage evaluation approach is employed to parallelize the processing of window functions. In the first stage, which is highly parallel, the majority of the computation of window function is done by all available processes. In this way, the entire computing power of the database server is utilized. The second stage, which is serial but is likely to be very short, all processes involved in first stage synchronize and complete the window function evaluation.Type: ApplicationFiled: July 30, 2010Publication date: February 2, 2012Applicant: ORACLE INTERNATIONAL CORPORATIONInventor: Srikanth BELLAMKONDA
-
Patent number: 8041731Abstract: Techniques are described herein for supporting efficient evaluation of pivot operations. In an embodiment, a pivoting query on a data table is received. The query identifies pivot columns, measure columns, and grouping columns. In response to receiving the query, a staging table that comprises new pivot columns, aggregated columns, and new grouping columns may be created. For each particular unique combination of values of the grouping columns and the pivot columns in the data table, stored values in the measure columns in the data table are aggregated for certain rows in the plurality of rows in the data table. Each row of the certain rows comprises the each particular unique combination of values of the grouping columns and the pivot columns in the data table. Results of aggregating are stored in the staging table. Data that has been populated in the staging table is transposed into a result set.Type: GrantFiled: July 21, 2008Date of Patent: October 18, 2011Assignee: Oracle International CorporationInventors: Srikanth Bellamkonda, Lei Sheng, Sankar Subramanian
-
Patent number: 7945560Abstract: Methods for transforming a query to remove redundant subqueries in HAVING clauses are provided. The methods provided transform queries that contain subqueries in HAVING clauses with tables and join conditions and filter conditions equal to tables, join conditions and filter conditions in outer query to queries that eliminate the original subquery and retain the original outer query with a single inline view using window functions. Whether this transformation can be performed depends on which tables and join and filter conditions are in the outer query and the subquery. The transformation eliminates duplicative table accesses and join operations from queries.Type: GrantFiled: May 22, 2008Date of Patent: May 17, 2011Assignee: Oracle International CorporationInventors: Rafi Ahmed, Srikanth Bellamkonda
-
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: 7730055Abstract: In a database system, a full outer join is computed using a hash-based join.Type: GrantFiled: June 23, 2008Date of Patent: June 1, 2010Assignee: Oracle International CorporationInventors: Srikanth Bellamkonda, Benoit Dageville
-
Publication number: 20100030756Abstract: Methods for transforming queries that contain EXISTS and NOT EXISTS subqueries are provided. The methods provided transform original queries that contain EXISTS and/or NOT EXISTS subqueries in conjunctive or disjunctive combinations into transformed queries that coalesce the original EXISTS and/or NOT EXISTS subqueries into a reduced number of EXISTS and/or NOT EXISTS subqueries, thereby eliminating duplicative table accesses and join operations.Type: ApplicationFiled: July 29, 2008Publication date: February 4, 2010Inventors: Rafi Ahmed, Srikanth Bellamkonda
-
Publication number: 20100017363Abstract: Techniques are described herein for supporting efficient evaluation of pivot operations. In an embodiment, a pivoting query on a data table is received. The query identifies pivot columns, measure columns, and grouping columns. In response to receiving the query, a staging table that comprises new pivot columns, aggregated columns, and new grouping columns may be created. For each particular unique combination of values of the grouping columns and the pivot columns in the data table, stored values in the measure columns in the data table are aggregated for certain rows in the plurality of rows in the data table. Each row of the certain rows comprises the each particular unique combination of values of the grouping columns and the pivot columns in the data table. Results of aggregating are stored in the staging table. Data that has been populated in the staging table is transposed into a result set.Type: ApplicationFiled: July 21, 2008Publication date: January 21, 2010Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Srikanth Bellamkonda, Lei Sheng, Sankar Subramanian
-
Publication number: 20090292669Abstract: Methods for transforming a query to remove redundant subqueries in HAVING clauses are provided. The methods provided transform queries that contain subqueries in HAVING clauses with tables and join conditions and filter conditions equal to tables, join conditions and filter conditions in outer query to queries that eliminate the original subquery and retain the original outer query with a single inline view using window functions. Whether this transformation can be performed depends on which tables and join and filter conditions are in the outer query and the subquery. The transformation eliminates duplicative table accesses and join operations from queries.Type: ApplicationFiled: May 22, 2008Publication date: November 26, 2009Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Rafi Ahmed, Srikanth Bellamkonda
-
Publication number: 20090119247Abstract: In a database system, a full outer join is computed using a hash-based join.Type: ApplicationFiled: June 23, 2008Publication date: May 7, 2009Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Srikanth Bellamkonda, Benoit Dageville
-
Publication number: 20090083253Abstract: Techniques are described herein for efficiently evaluating database queries that include hierarchical cube computations. During second and subsequent evaluation phases (if any), a database server does not re-determine groups (nor re-aggregate within such groups) that have already been determined in a previous evaluation phase. Instead, according to a technique described herein, whenever an evaluation phase subsequent to the first evaluation phase is performed, the database server immediately outputs or otherwise returns certain groups and aggregate results that were determined based on certain grouping column sets that were generated in the previous evaluation phase. The database server does not aggregate within these certain groups when performing aggregation in the current evaluation phase, thereby avoiding the duplication of work already performed during previous evaluation phases.Type: ApplicationFiled: September 26, 2007Publication date: March 26, 2009Applicant: ORACLE INTERNATIONAL CORPORATIONInventor: Srikanth Bellamkonda
-
Patent number: 7469241Abstract: Hash aggregation operates in two phases. In the first phase, data read from underlying row source is partitioned on GROUP BY keys with on-the-fly aggregation. It is determined into which partition an entry corresponding to the incoming record should be grouped, and whether a matching entry is already present in the partition, using a hash function and a hash table built for the partition. For aggregation operations, if a match is found, then a measure value from the incoming record is aggregated with a measure value for the entry existing in the partition. If there is not enough system volatile memory to complete the first phase, then a partition is selected for storing persistently. Thus, only one partition at a time is stored persistently, as necessary. In the second phase, one persistently stored partition is processed at a time, whereby aggregation of the data in that partition is completed and results are returned.Type: GrantFiled: June 17, 2005Date of Patent: December 23, 2008Assignee: Oracle International CorporationInventors: Srikanth Bellamkonda, Benoit Dageville