Patents by Inventor Mohamed Zait

Mohamed Zait 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: 11561973
    Abstract: Techniques are described for responding to aggregate queries using optimizer statistics already available in the data dictionary of the database in which the database object targeting by the aggregate query resides, without the user creating any additional objects (e.g. materialized views) and without requiring the objects to be loaded into volatile memory in a columnar fashion. The user query is rewritten to produce a transformed query that targets the dictionary tables to form the aggregate result without scanning the user tables. “Accuracy indicators” may be maintained to indicate whether those statistics are accurate. Only accurate statistics are used to answer queries that require accurate answers. The accuracy check can be made during runtime, allowing the query plan of the transformed query to be used regardless of the accuracy of the statistics. For queries that request approximations, inaccurate statistics may be used so long as the statistics are “accurate enough”.
    Type: Grant
    Filed: September 28, 2018
    Date of Patent: January 24, 2023
    Assignee: Oracle International Corporation
    Inventors: Sunil P. Chakkappen, Mohamed Zait, Christoforus Widodo, Hong Su
  • Patent number: 11468073
    Abstract: Techniques are provided for gathering statistics in a database system. The techniques involve gathering some statistics using an “on-the-fly” technique, some statistics through a “high-frequency” technique, and yet other statistics using a “prediction” technique. The technique used to gather each statistic is based, at least in part, on the overhead required to gather the statistic. For example, low-overhead statistics may be gathered “on-the-fly” using the same process that is performing the operation that affects the statistic, while statistics whose gathering incurs greater overhead may be gathered in the background, while the database is live, using the high-frequency technique. The prediction technique may be used for relatively-high overhead statistics that can be predicted based on historical data and the current value of predictor statistics.
    Type: Grant
    Filed: August 6, 2019
    Date of Patent: October 11, 2022
    Assignee: Oracle International Corporation
    Inventors: Mohamed Zait, Yuying Zhang, Hong Su, Jiakun Li
  • Patent number: 11403295
    Abstract: Techniques for processing queries are provided. In one approach, an execution plan for a query includes multiple sub-plans, one or more of which are selected at runtime while one or more other sub-plans are not executed during execution of the execution plan. In another approach, data about misestimate is generated and stored persistently for subsequent queries. In another approach, statistics for a database object are generated automatically and efficiently while the database object is created or data items are added thereto. In another approach, a hybrid histogram is created that includes a feature of frequency histograms and a feature of height-balanced histograms. In another approach, computer jobs are executed in such a way to avoid deadlock. In another approach, changes to a database object trigger a hard parse of a query even though an execution plan already exists for the query.
    Type: Grant
    Filed: October 17, 2016
    Date of Patent: August 2, 2022
    Assignee: Oracle International Corporation
    Inventors: Sunil P. Chakkappen, Mohamed Zait, Allison W. Lee, Ali Cakmak
  • Publication number: 20220215026
    Abstract: Techniques for processing queries are provided. In one approach, an execution plan for a query includes multiple sub-plans, one or more of which are selected at runtime while one or more other sub-plans are not executed during execution of the execution plan. In another approach, data about misestimate is generated and stored persistently for subsequent queries. In another approach, statistics for a database object are generated automatically and efficiently while the database object is created or data items are added thereto. In another approach, a hybrid histogram is created that includes a feature of frequency histograms and a feature of height-balanced histograms. In another approach, computer jobs are executed in such a way to avoid deadlock. In another approach, changes to a database object trigger a hard parse of a query even though an execution plan already exists for the query.
    Type: Application
    Filed: March 26, 2022
    Publication date: July 7, 2022
    Inventors: Hong Su, Sunil P. Chakkappen, Mohamed Zait
  • Patent number: 11321317
    Abstract: Techniques for processing queries are provided. In one approach, an execution plan for a query includes multiple sub-plans, one or more of which are selected at runtime while one or more other sub-plans are not executed during execution of the execution plan. In another approach, data about misestimate is generated and stored persistently for subsequent queries. In another approach, statistics for a database object are generated automatically and efficiently while the database object is created or data items are added thereto. In another approach, a hybrid histogram is created that includes a feature of frequency histograms and a feature of height-balanced histograms. In another approach, computer jobs are executed in such a way to avoid deadlock. In another approach, changes to a database object trigger a hard parse of a query even though an execution plan already exists for the query.
    Type: Grant
    Filed: August 1, 2017
    Date of Patent: May 3, 2022
    Assignee: Oracle International Corporation
    Inventors: Hong Su, Sunil P. Chakkappen, Mohamed Zait
  • Publication number: 20220012240
    Abstract: Techniques are provided for gathering statistics in a database system. The techniques involve gathering some statistics using an “on-the-fly” technique, some statistics through a “high-frequency” technique, and yet other statistics using a “prediction” technique. The technique used to gather each statistic is based, at least in part, on the overhead required to gather the statistic. For example, low-overhead statistics may be gathered “on-the-fly” using the same process that is performing the operation that affects the statistic, while statistics whose gathering incurs greater overhead may be gathered in the background, while the database is live, using the high-frequency technique. The prediction technique may be used for relatively-high overhead statistics that can be predicted based on historical data and the current value of predictor statistics.
    Type: Application
    Filed: September 23, 2021
    Publication date: January 13, 2022
    Inventors: Mohamed Zait, Yuying Zhang, Hong Su, Jiakun Li
  • Publication number: 20210303539
    Abstract: Automated Index Management entails automated monitoring of query workload in a DBMS to determine a set of higher load queries to use to evaluate new potential indexes. Without the need of user approval or action, the potential indexes are automatically created, evaluated and tested, and then made available for system wide use for executing queries issued by end users. Indexes created by Automated Index Management are referred to herein as auto indexes.
    Type: Application
    Filed: June 9, 2021
    Publication date: September 30, 2021
    Inventors: Mohamed Zait, Sunil Chakkappen, Christoforus Widodo, Zhan Li
  • Patent number: 11113282
    Abstract: Techniques are provided for merging (a) statistics associated with data added to a table in a bulk load operation with (b) statistics associated with data that existed in the table before the bulk load operation. The statistics associated with the bulk load data are generated on-the-fly during the bulk load, and are merged with the pre-existing statistics as part of the same transaction that is used to perform the bulk load operation. Consequently, execution plans for queries that are assigned snapshot times after the commit time of the bulk load transaction will be selected based on the new statistics, while execution plans for queries that are assigned snapshot times before the commit time of the bulk load transaction will be selected based on the pre-existing statistics.
    Type: Grant
    Filed: September 28, 2018
    Date of Patent: September 7, 2021
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Sunil P. Chakkappen, Hong Su, Mohamed Zait, Suratna Budalakoti
  • Patent number: 11068460
    Abstract: Automated Index Management entails automated monitoring of query workload in a DBMS to determine a set of higher load queries to use to evaluate new potential indexes. Without the need of user approval or action, the potential indexes are automatically created, evaluated and tested, and then made available for system wide use for executing queries issued by end users. Indexes created by Automated Index Management are referred to herein as auto indexes.
    Type: Grant
    Filed: January 15, 2019
    Date of Patent: July 20, 2021
    Assignee: Oracle International Corporation
    Inventors: Mohamed Zait, Sunil Chakkappen, Christoforus Widodo, Zhan Li
  • Patent number: 10726010
    Abstract: A method, apparatus, and stored instructions are provided for transforming a query representation by unnesting a predicate condition that is based on whether or not a result exists for a subquery of the predicate condition. An initial query representation is received. The initial query representation represents an initial query that includes an EXISTS-equivalent predicate or a NOT-EXISTS-equivalent predicate and at least one other predicate in a disjunction. The initial query representation is transformed into a semantically equivalent transformed query representation that represents a transformed query. The transformed query includes, instead of the EXISTS-equivalent predicate or a NOT-EXISTS-equivalent predicate, a join operator that references the data object.
    Type: Grant
    Filed: September 4, 2012
    Date of Patent: July 28, 2020
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Rafi Ahmed, Chun-Chieh Lin, Mohamed Zait
  • Patent number: 10599651
    Abstract: Systems for database system management. A method embodiment commences upon intercepting a feature or command that is issued from a software application that interfaces with a database management system. Rules are used to identify that the feature or command is of a first type (e.g., an older type). The feature or command is analyzed to determine if it is a candidate to be modified or upgraded to implement a newer feature or command of a second type (e.g., a newer type). Modifications are made to the old feature or command of the first type to implement a new feature or command of a second type. The new feature or command of the second type is sent to the database management system for processing.
    Type: Grant
    Filed: October 20, 2016
    Date of Patent: March 24, 2020
    Assignee: Oracle International Corporation
    Inventors: Mohamed Zait, Sunil Parrokkaren Chakkappen, Jiaqi Yan
  • Publication number: 20200042524
    Abstract: Automated Index Management entails automated monitoring of query workload in a DBMS to determine a set of higher load queries to use to evaluate new potential indexes. Without the need of user approval or action, the potential indexes are automatically created, evaluated and tested, and then made available for system wide use for executing queries issued by end users. Indexes created by Automated Index Management are referred to herein as auto indexes.
    Type: Application
    Filed: January 15, 2019
    Publication date: February 6, 2020
    Inventors: MOHAMED ZAIT, SUNIL CHAKKAPPEN, CHRISTOFORUS WIDODO, ZHAN LI
  • Publication number: 20200042522
    Abstract: Techniques are provided for gathering statistics in a database system. The techniques involve gathering some statistics using an “on-the-fly” technique, some statistics through a “high-frequency” technique, and yet other statistics using a “prediction” technique. The technique used to gather each statistic is based, at least in part, on the overhead required to gather the statistic. For example, low-overhead statistics may be gathered “on-the-fly” using the same process that is performing the operation that affects the statistic, while statistics whose gathering incurs greater overhead may be gathered in the background, while the database is live, using the high-frequency technique. The prediction technique may be used for relatively-high overhead statistics that can be predicted based on historical data and the current value of predictor statistics.
    Type: Application
    Filed: August 6, 2019
    Publication date: February 6, 2020
    Inventors: Mohamed Zait, Yuying Zhang, Hong Su, Jiakun Li
  • Patent number: 10372706
    Abstract: Techniques are described for maintaining an expression statistics store that stores and updates metadata values for query expressions based on the occurrence of those query expressions within queries. In an embodiment, a database server instance receives a database query. In response, the database server instance identifies expressions within the database queries. The database server instance then determines whether an expression statistics store includes an entry for the particular expression. Responsive to determining that the expression statistics store includes an entry for the particular expression, the database server instance updates at least one metadata value in the entry based on the occurrence of the particular expression. Responsive to determining that the expression statistics store does not include an entry for the particular expression, the database server instance adds an entry for the particular expression.
    Type: Grant
    Filed: May 4, 2016
    Date of Patent: August 6, 2019
    Assignee: Oracle International Corporation
    Inventors: Shasank K. Chavan, Aurosish Mishra, Mohamed Zait, Sunil P. Chakkappen, Can Tuzla, Jiaqi Yan
  • Patent number: 10353897
    Abstract: A system performs database management. The system receives a request for a query of a plurality of tables under a join condition on an attribute and determines a uniform mapping that maps a domain of the attribute into a set of numbers, where the domain of the attribute includes all attribute values taken by the attribute in the tables. Then, for a row in a table, the system includes the row into a synopsis of the table if the row includes an attribute value that is mapped by the uniform mapping to a number less than an inclusion probability associated with the table. The system obtains a plurality of synopsis for the tables by repeating the including for all rows in the table and for all tables, and determines, based on the plurality of synopsis, an estimate join size of the tables under the join condition.
    Type: Grant
    Filed: June 29, 2015
    Date of Patent: July 16, 2019
    Assignee: Oracle International Corporation
    Inventors: David Vengerov, Mohamed Zait, Sunil P. Chakkappen, Andre Menck
  • Publication number: 20190102428
    Abstract: Techniques are described for responding to aggregate queries using optimizer statistics already available in the data dictionary of the database in which the database object targeting by the aggregate query resides, without the user creating any additional objects (e.g. materialized views) and without requiring the objects to be loaded into volatile memory in a columnar fashion. The user query is rewritten to produce a transformed query that targets the dictionary tables to form the aggregate result without scanning the user tables. “Accuracy indicators” may be maintained to indicate whether those statistics are accurate. Only accurate statistics are used to answer queries that require accurate answers. The accuracy check can be made during runtime, allowing the query plan of the transformed query to be used regardless of the accuracy of the statistics. For queries that request approximations, inaccurate statistics may be used so long as the statistics are “accurate enough”.
    Type: Application
    Filed: September 28, 2018
    Publication date: April 4, 2019
    Inventors: Sunil P. Chakkappen, Mohamed Zait, Christoforus Widodo, Hong Su
  • Publication number: 20190102427
    Abstract: Techniques are provided for merging (a) statistics associated with data added to a table in a bulk load operation with (b) statistics associated with data that existed in the table before the bulk load operation. The statistics associated with the bulk load data are generated on-the-fly during the bulk load, and are merged with the pre-existing statistics as part of the same transaction that is used to perform the bulk load operation. Consequently, execution plans for queries that are assigned snapshot times after the commit time of the bulk load transaction will be selected based on the new statistics, while execution plans for queries that are assigned snapshot times before the commit time of the bulk load transaction will be selected based on the pre-existing statistics.
    Type: Application
    Filed: September 28, 2018
    Publication date: April 4, 2019
    Inventors: Sunil P. Chakkappen, Hong Su, Mohamed Zait, Suratna Budalakoti
  • Patent number: 10229158
    Abstract: Approaches, techniques, and mechanisms are disclosed for ensuring that a database command is executed according to a query plan that has been verified to be actually optimal. Except in rare circumstances, a database server does not execute a query plan unless it is first verified by the database server. The database server receives a request to execute a database command. The database server determines an unverified plan is the best plan for satisfying the request. Rather than risk the unknown behavior of an unverified plan, the database server instead satisfies the request according to a verified plan. Subsequently—for example as part of a scheduled job—the database server executes the unverified plan to determine performance statistics. Based at least on the performance statistics, the database server determines whether or not to verify the unverified plan. Techniques for concurrent and optimistic verifications are also disclosed.
    Type: Grant
    Filed: April 11, 2014
    Date of Patent: March 12, 2019
    Assignee: Oracle International Corporation
    Inventors: Peter Belknap, Benoit Dageville, Dinesh Das, Khaled Yagoub, Mohamed Zait, Mohamed Ziauddin
  • Patent number: 10216794
    Abstract: Techniques are described herein for filtering data from a table during an in-memory scan. Predicates are pushed to in-memory scan to avoid scanning unnecessary columnar units and reduce the overhead of decompressing, row stitching and distributing data during evaluation. Techniques are described herein for generating implied predicates that have conditions on single columns from complex predicates that have multiple conditions on the same column, which can be evaluated during an in-memory scan. Techniques are also described herein to reduce the overhead of a table scan for processing a join query. When redistributing a first table for performing a hash-join, the nodes performing an in-memory scan of the first table may create a filter that tracks unique values from the join key. Data from the second table is only processed and transferred to other nodes in the cluster if the values from the join key pass through the filter.
    Type: Grant
    Filed: April 4, 2018
    Date of Patent: February 26, 2019
    Assignee: Oracle International Corporation
    Inventors: Dinesh Das, Jiaqi Yan, Mohamed Zait, Nirav Vyas
  • Patent number: 10133776
    Abstract: A method, apparatus, and stored instructions are provided for transforming an initial query by eliminating a subquery nested within the initial query. The initial query may include an outer query that references a first instance of a particular data object. The initial query may also include set operator(s). At least a particular set operator may include a particular subquery that references a different instance of the particular data object. A query processor may transform the initial query to a transformed query that excludes the particular set operator and the particular subquery. The transformed query may instead include an added predicate that is based at least in part on the particular subquery. The added predicate may reference the first instance of the particular data object without referencing the different instance of the particular data object. The transformed query may be used for query execution instead of the initial query.
    Type: Grant
    Filed: June 20, 2013
    Date of Patent: November 20, 2018
    Assignee: Oracle International Corporation
    Inventors: Rafi Ahmed, Mohamed Zait