Patents by Inventor Hermann Baer

Hermann Baer 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: 20210103569
    Abstract: Techniques are provided for moving data between partitions. Such a process may be performed without requiring any locks that block transactions that target a partition from being executed. Instead, such transactions may proceed while a move operation is being performed. The move operation involves copying data from the targeted partition to another partition that is hidden from (or “invisible” to) those transactions that attempt to read from or write to the partition. During the move operation, changes that are made to the partition are also reflected in a journal. Eventually, the changes reflected in the journal are drained and applied to the hidden partition. Once the partition and the hidden partition are synchronized, the identities of the partitions are swapped so that future transactions will target the previously-hidden partition instead of the previously-viewable partition.
    Type: Application
    Filed: December 17, 2020
    Publication date: April 8, 2021
    Inventors: Ananth Raghavan, George Eadon, Ramesh Kumar, Hermann Baer, Suresh Sridharan
  • Patent number: 10970260
    Abstract: Techniques are provided for moving data between partitions. Such a process may be performed without requiring any locks that block transactions that target a partition from being executed. Instead, such transactions may proceed while a move operation is being performed. The move operation involves copying data from the targeted partition to another partition that is hidden from (or “invisible” to) those transactions that attempt to read from or write to the partition. During the move operation, changes that are made to the partition are also reflected in a journal. Eventually, the changes reflected in the journal are drained and applied to the hidden partition. Once the partition and the hidden partition are synchronized, the identities of the partitions are swapped so that future transactions will target the previously-hidden partition instead of the previously-viewable partition.
    Type: Grant
    Filed: April 30, 2018
    Date of Patent: April 6, 2021
    Assignee: Oracle International Corporation
    Inventors: Ananth Raghavan, George Eadon, Ramesh Kumar, Hermann Baer, Suresh Sridharan
  • Patent number: 10929360
    Abstract: A database engine performs row filtering operations concurrently with performing database object partition maintenance operations. The filtering operations do not incur the high processing costs of database delete or purge operations that would incur per row costs for logging, locking, etc. The partitioning and filtering operations are specified in multiple clauses of a single database language statement. The clauses of the statement are executed concurrently. A method implementation receives a database language statement that comprises a partitioning operation specification as well as a filtering operation specification that includes a logical predicate for determining whether or not to filter-out predicate-matching entries when forming the resulting partitioned target database object. While processing the partitioning operations, the method discards entries taken from the source database object whenever the entry corresponds to the logical predicate.
    Type: Grant
    Filed: September 15, 2016
    Date of Patent: February 23, 2021
    Assignee: Oracle International Corporation
    Inventors: Hermann Baer, Ananth Raghavan
  • Patent number: 10657116
    Abstract: Techniques are described herein for creating a new database table for an exchange operation with a table partition of another table. A database management system (DBMS) is configured to receive a query such as “CREATE TABLE new_table FOR EXCHANGE FROM partition_P1”. The DBMS then identifies properties of the source partition (e.g., partition P1) and creates a new database table based on the properties identified. Some of these properties (e.g., hidden columns, data modeling frameworks, and table statistics) may not otherwise be directly accessible by the external entity that sent the query. The newly created table then has all of the necessary properties to be part of the other table if swapped with the source partition in an exchange operation.
    Type: Grant
    Filed: August 4, 2016
    Date of Patent: May 19, 2020
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Hermann Baer, Ramesh Kumar, Ananth Raghavan
  • Patent number: 10489371
    Abstract: Techniques are described herein for creating a new database table for an exchange operation with a table partition of another table. A database management system (DBMS) is configured to receive a query such as “CREATE TABLE new_table FOR EXCHANGE FROM partition_P1”. The DBMS then identifies properties of the source partition (e.g., partition P1) and creates a new database table based on the properties identified. Some of these properties (e.g., hidden columns, data modeling frameworks, and table statistics) may not otherwise be directly accessible by the external entity that sent the query. The newly created table then has all of the necessary properties to be part of the other table if swapped with the source partition in an exchange operation.
    Type: Grant
    Filed: August 4, 2016
    Date of Patent: November 26, 2019
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Hermann Baer, Ramesh Kumar, Ananth Raghavan
  • Patent number: 10282437
    Abstract: Techniques for creating and using partial indexes are provided. A partial index is an index that indexes one or more partitions of a partitioned table and does not index one or more other partitions of the partitioned table. Thus, if a partition of a partitioned table is rarely used, then an index may index all other partitions of the partitioned table or at least only those partitions that are written to or read from relatively frequently. Also, in preparation for loading data into a partition, indexing for the partition may be “turned off”, effectively making a full index a partial index. While the data is loaded into the partition, the partial index is still available for query processing. After the data is loaded into the partition, indexing for the partition is “turned on”, which causes the data in the partition to be indexed by the partial index.
    Type: Grant
    Filed: April 17, 2014
    Date of Patent: May 7, 2019
    Assignee: Oracle International Corporation
    Inventors: Ananth Raghavan, George Eadon, Ramesh Kumar, Hermann Baer, Suresh Sridharan
  • Publication number: 20180253425
    Abstract: Techniques are provided for moving data between partitions. Such a process may be performed without requiring any locks that block transactions that target a partition from being executed. Instead, such transactions may proceed while a move operation is being performed. The move operation involves copying data from the targeted partition to another partition that is hidden from (or “invisible” to) those transactions that attempt to read from or write to the partition. During the move operation, changes that are made to the partition are also reflected in a journal. Eventually, the changes reflected in the journal are drained and applied to the hidden partition. Once the partition and the hidden partition are synchronized, the identities of the partitions are swapped so that future transactions will target the previously-hidden partition instead of the previously-viewable partition.
    Type: Application
    Filed: April 30, 2018
    Publication date: September 6, 2018
    Inventors: Ananth Raghavan, George Eadon, Ramesh Kumar, Hermann Baer, Suresh Sridharan
  • Patent number: 9965497
    Abstract: Techniques are provided for moving data between partitions. Such a process may be performed without requiring any locks that block transactions that target a partition from being executed. Instead, such transactions may proceed while a move operation is being performed. The move operation involves copying data from the targeted partition to another partition that is hidden from (or “invisible” to) those transactions that attempt to read from or write to the partition. During the move operation, changes that are made to the partition are also reflected in a journal. Eventually, the changes reflected in the journal are drained and applied to the hidden partition. Once the partition and the hidden partition are synchronized, the identities of the partitions are swapped so that future transactions will target the previously-hidden partition instead of the previously-viewable partition.
    Type: Grant
    Filed: May 29, 2014
    Date of Patent: May 8, 2018
    Assignee: Oracle International Corporation
    Inventors: Ananth Raghavan, George Eadon, Ramesh Kumar, Hermann Baer, Suresh Sridharan
  • Publication number: 20170109386
    Abstract: Techniques are described herein for creating a new database table for an exchange operation with a table partition of another table. A database management system (DBMS) is configured to receive a query such as “CREATE TABLE new_table FOR EXCHANGE FROM partition_P1”. The DBMS then identifies properties of the source partition (e.g., partition P1) and creates a new database table based on the properties identified. Some of these properties (e.g., hidden columns, data modeling frameworks, and table statistics) may not otherwise be directly accessible by the external entity that sent the query. The newly created table then has all of the necessary properties to be part of the other table if swapped with the source partition in an exchange operation.
    Type: Application
    Filed: August 4, 2016
    Publication date: April 20, 2017
    Inventors: Hermann Baer, Ramesh Kumar, Ananth Raghavan
  • Publication number: 20170109377
    Abstract: A database engine performs row filtering operations concurrently with performing database object partition maintenance operations. The filtering operations do not incur the high processing costs of database delete or purge operations that would incur per row costs for logging, locking, etc. The partitioning and filtering operations are specified in multiple clauses of a single database language statement. The clauses of the statement are executed concurrently. A method implementation receives a database language statement that comprises a partitioning operation specification as well as a filtering operation specification that includes a logical predicate for determining whether or not to filter-out predicate-matching entries when forming the resulting partitioned target database object. While processing the partitioning operations, the method discards entries taken from the source database object whenever the entry corresponds to the logical predicate.
    Type: Application
    Filed: September 15, 2016
    Publication date: April 20, 2017
    Applicant: Oracle International Corporation
    Inventors: Hermann BAER, Ananth RAGHAVAN
  • Patent number: 9507825
    Abstract: Techniques for partition pruning based on aggregated zone map information. In one embodiment, for example, a method for pruning partitions based on aggregated zone map information comprises: receiving a query statement comprising a filter predicate on a column of a database table; and pruning one or more partitions of the database table from access paths for processing the query statement based on determining, based on aggregated zone map information associated with the one or more partitions, that the filter predicate cannot be satisfied by data stored in the one or more partitions.
    Type: Grant
    Filed: April 4, 2014
    Date of Patent: November 29, 2016
    Assignee: Oracle International Corporation
    Inventors: Hermann Baer, Mohamed Ziauddin, Ananth Raghavan
  • Patent number: 9489413
    Abstract: Techniques for maintaining a global index in response to a partition being dropped are provided. In response to an instruction to drop a partition, partition identification data that identifies the partition is stored. Index entries, in the global index, that correspond to the dropped partition become “orphaned” entries. Later, an execution plan for a query is processed, where the execution plan targets a global index. During execution of the execution plan, one or more index entries are accessed. For each accessed index entry, the partition identification data is analyzed to determine if the index entry is an orphaned entry. If so, then the index entry is ignored for purposes of the query. Later, the global index may be updated to delete each orphaned entry. Such deletion may occur much later, such as during a time when the database is not queried or updated frequently.
    Type: Grant
    Filed: March 31, 2014
    Date of Patent: November 8, 2016
    Assignee: Oracle International Corporation
    Inventors: Ananth Raghavan, George Eadon, Ramesh Kumar, Hermann Baer, Suresh Sridharan
  • Publication number: 20150347401
    Abstract: Techniques are provided for moving data between partitions. Such a process may be performed without requiring any locks that block transactions that target a partition from being executed. Instead, such transactions may proceed while a move operation is being performed. The move operation involves copying data from the targeted partition to another partition that is hidden from (or “invisible” to) those transactions that attempt to read from or write to the partition. During the move operation, changes that are made to the partition are also reflected in a journal. Eventually, the changes reflected in the journal are drained and applied to the hidden partition. Once the partition and the hidden partition are synchronized, the identities of the partitions are swapped so that future transactions will target the previously-hidden partition instead of the previously-viewable partition.
    Type: Application
    Filed: May 29, 2014
    Publication date: December 3, 2015
    Applicant: Oracle International Corporation
    Inventors: Ananth Raghavan, George Eadon, Ramesh Kumar, Hermann Baer, Suresh Sridharan
  • Publication number: 20150302035
    Abstract: Techniques for creating and using partial indexes are provided. A partial index is an index that indexes one or more partitions of a partitioned table and does not index one or more other partitions of the partitioned table. Thus, if a partition of a partitioned table is rarely used, then an index may index all other partitions of the partitioned table or at least only those partitions that are written to or read from relatively frequently. Also, in preparation for loading data into a partition, indexing for the partition may be “turned off”, effectively making a full index a partial index. While the data is loaded into the partition, the partial index is still available for query processing. After the data is loaded into the partition, indexing for the partition is “turned on”, which causes the data in the partition to be indexed by the partial index.
    Type: Application
    Filed: April 17, 2014
    Publication date: October 22, 2015
    Applicant: Oracle International Corporation
    Inventors: Ananth Raghavan, George Eadon, Ramesh Kumar, Hermann Baer, Suresh Sridharan
  • Publication number: 20150286681
    Abstract: Techniques for partition pruning based on aggregated zone map information. In one embodiment, for example, a method for pruning partitions based on aggregated zone map information comprises: receiving a query statement comprising a filter predicate on a column of a database table; and pruning one or more partitions of the database table from access paths for processing the query statement based on determining, based on aggregated zone map information associated with the one or more partitions, that the filter predicate cannot be satisfied by data stored in the one or more partitions.
    Type: Application
    Filed: April 4, 2014
    Publication date: October 8, 2015
    Applicant: Oracle International Corporation
    Inventors: Hermann Baer, Mohamed Ziauddin, Ananth Raghavan
  • Publication number: 20150278327
    Abstract: Techniques for maintaining a global index in response to a partition being dropped are provided. In response to an instruction to drop a partition, partition identification data that identifies the partition is stored. Index entries, in the global index, that correspond to the dropped partition become “orphaned” entries. Later, an execution plan for a query is processed, where the execution plan targets a global index. During execution of the execution plan, one or more index entries are accessed. For each accessed index entry, the partition identification data is analyzed to determine if the index entry is an orphaned entry. If so, then the index entry is ignored for purposes of the query. Later, the global index may be updated to delete each orphaned entry. Such deletion may occur much later, such as during a time when the database is not queried or updated frequently.
    Type: Application
    Filed: March 31, 2014
    Publication date: October 1, 2015
    Applicant: Oracle International Corporation
    Inventors: Ananth Raghavan, George Eadon, Ramesh Kumar, Hermann Baer, Suresh Sridharan
  • Patent number: 7814091
    Abstract: Various techniques are described for processing database commands that include MINUS and/or INTERSECT operators. The queries containing the MINUS and/or INTERSECT operators are transformed to create a plurality of transformed queries. Each of the transformed queries produces the same result as the original query, but does not include the MINUS and/or INTERSECT operator. To achieve the same result set as the original query, the transformed queries employ equijoins, antijoins, and/or semijoins, and duplicate elimination operations. Costs are estimated for each of the various transformed queries. Based on the cost estimates, one of the transformed queries is selected as the query that is to be executed to perform the operations specified in the original query.
    Type: Grant
    Filed: September 27, 2005
    Date of Patent: October 12, 2010
    Assignee: Oracle International Corporation
    Inventors: Bhaskar Ghosh, Rafi Ahmed, Hermann Baer
  • Patent number: 7617189
    Abstract: Various techniques are described for processing database commands that include MINUS and/or INTERSECT operators. According to one technique, the database server executes the MINUS/INTERSECT in a specialized rowsource in parallel. In one approach, the specialized rowsource implements a sort merge-join like solution, where: a DISTINCT SORT is performed on each input, a left and right pointer is maintained on the respective input streams of tuples, the left or right pointer is incremented based on whether there is a match between the tuples pointed-to by the pointers, and the tuple of the left side is returned (or not returned) based on whether there is a match. Techniques are described for generating multiple query plans for executing a query, where each of the query plans includes a plan portion for executing, in parallel, the operation associated with a MINUS/INTERSECT operator. Cost estimates are generated for the query plans.
    Type: Grant
    Filed: September 27, 2005
    Date of Patent: November 10, 2009
    Assignee: Oracle International Corporation
    Inventors: Bhaskar Ghosh, Rafi Ahmed, Hermann Baer
  • Publication number: 20070073642
    Abstract: Various techniques are described for processing database commands that include MINUS and/or INTERSECT operators. According to one technique, the database server executes the MINUS/INTERSECT in a specialized rowsource in parallel. In one approach, the specialized rowsource implements a sort merge-join like solution, where: a DISTINCT SORT is performed on each input, a left and right pointer is maintained on the respective input streams of tuples, the left or right pointer is incremented based on whether there is a match between the tuples pointed-to by the pointers, and the tuple of the left side is returned (or not returned) based on whether there is a match. Techniques are described for generating multiple query plans for executing a query, where each of the query plans includes a plan portion for executing, in parallel, the operation associated with a MINUS/INTERSECT operator. Cost estimates are generated for the query plans.
    Type: Application
    Filed: September 27, 2005
    Publication date: March 29, 2007
    Inventors: Bhaskar Ghosh, Rafi Ahmed, Hermann Baer
  • Publication number: 20070073643
    Abstract: Various techniques are described for processing database commands that include MINUS and/or INTERSECT operators. The queries containing the MINUS and/or INTERSECT operators are transformed to create a plurality of transformed queries. Each of the transformed queries produces the same result as the original query, but does not include the MINUS and/or INTERSECT operator. To achieve the same result set as the original query, the transformed queries employ equijoins, antijoins, and/or semijoins, and duplicate elimination operations. Costs are estimated for each of the various transformed queries. Based on the cost estimates, one of the transformed queries is selected as the query that is to be executed to perform the operations specified in the original query.
    Type: Application
    Filed: September 27, 2005
    Publication date: March 29, 2007
    Inventors: Bhaskar Ghosh, Rafi Ahmed, Hermann Baer