Patents by Inventor Paul Laurence Sinclair
Paul Laurence Sinclair 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: 11468061Abstract: Techniques for improving complex database queries are provided. A determination is made whether to adopt a static or dynamic query execution plan for a received database query based on metrics. When a dynamic query execution plan is adopted, the database query is separated into query fragments. A plan fragment is generated for each query fragment and executed to generate feedback for the plan fragment. The feedback from the execution of each plan fragment is used to initiate query rewrite rules to simplify the corresponding query fragments. The rewritten query fragments are combined to generate the dynamic query plan.Type: GrantFiled: December 12, 2018Date of Patent: October 11, 2022Assignee: Teradata US, Inc.Inventors: Bin Cao, Yi Xia, Sanjib Mishra, Rama Krishna Korlapati, Tri Minh Tran, Mohammed Al-Kateb, Paul Laurence Sinclair, Chengyang Zhang
-
Patent number: 11308053Abstract: A system and method for loading data into column-partitioned database tables. The system and method incorporate a mechanism for buffering data extracted from the rows of a source table in column-oriented fashion within an in-buffer memory, enabling an efficient bulk-write of large arrays of values from the buffer into column-partitioned database tables. The system and method may also include optimizations for grouping columns according to data types and altering the order in which columns are inserted into the database tables.Type: GrantFiled: October 27, 2016Date of Patent: April 19, 2022Assignee: Teradata US, Inc.Inventors: Rui Zhang, Sanjay Nair, Paul Laurence Sinclair, Mamatha Govind Rao
-
Patent number: 10997168Abstract: One or a soft correlation of a database can be adjusted (e.g., modified, replaced, overwritten) for use with respect to one or more record(s) of the database associated with the soft correlation, by considering at least one or more violations of the soft correlations in the one or more of records database records associated with the soft correlation. In addition, an adjusted soft correlation can be stored and used for optimizations of database queries pertaining to one or more records associated with the adjusted soft correlation. Typically, the adjusted soft correlation is adjusted by at least considering the violations of an original soft correlation in the one or more records relating to the database queries.Type: GrantFiled: December 13, 2018Date of Patent: May 4, 2021Assignee: Teradata US, Inc.Inventors: Mohamed Yassin Eltabakh, Grace Kwan-On Au, Sanjay Nair, Mohammed Al-Kateb, Paul Laurence Sinclair
-
Publication number: 20200192893Abstract: One or a soft correlation of a database can be adjusted (e.g., modified, replaced, overwritten) for use with respect to one or more record(s) of the database associated with the soft correlation, by considering at least one or more violations of the soft correlations in the one or more of records database records associated with the soft correlation. In addition, an adjusted soft correlation can be stored and used for optimizations of database queries pertaining to one or more records associated with the adjusted soft correlation. Typically, the adjusted soft correlation is adjusted by at least considering the violations of an original soft correlation in the one or more records relating to the database queries.Type: ApplicationFiled: December 13, 2018Publication date: June 18, 2020Inventors: Mohamed Yassin Eltabakh, Grace Kwan-On Au, Sanjay Nair, Mohammed Al-Kateb, Paul Laurence Sinclair
-
Patent number: 10635651Abstract: Data portions of a database can be grouped and ranked in order of priory for reassignment from one or more maps to another one or more maps. It should be noted that a first map can assign the data portions to a first configuration of processors for processing the data portions, and a second map assigns the data portions to a second configuration of processors, different than the first configuration, for processing the data portions in a database system and/or environment. The data portions are reassigned in groups during an available time (window) for reassignment by taking the first one of the groups can be reassigned (“moved”) in the available, then the second one in the available reaming time, and so on, until no group of data portions can be moved in the remaining time or all of them have been moved.Type: GrantFiled: November 10, 2017Date of Patent: April 28, 2020Assignee: Teradata US, Inc.Inventors: Donald Raymond Pederson, Philip Jason Benton, Frederick S. Kaufmann, Paul Laurence Sinclair, Louis Martin Burger
-
Patent number: 10545923Abstract: A database operation is performed in a file system residing on a plurality of processing modules. The file system includes a first relation having a plurality of first-relation entries. Each of the plurality of first-relation entries has a first-relation attribute that is of interest in the database operation. A value of a distribution attribute in each of the first-relation entries is set to a unique value selected from among a domain of unique values. The first-relation entries of the first relation are redistributed among the plurality of processing modules based on the first-relation attribute and the distribution attribute. The computational operation is performed to produce a result.Type: GrantFiled: December 19, 2017Date of Patent: January 28, 2020Assignee: Teradata US, Inc.Inventors: Richard Leon Kimball, III, Paul Laurence Sinclair, Grace Kwan-On Au
-
Patent number: 10459907Abstract: An order (or priority) for reassigning data portions of a database from a first map to a second map can be determined. It should be noted that the first map assigns the data portions to a first configuration of processors for processing the data portions, and the second map assigns the data portions to a second configuration of processors, different than the first configuration, for processing the data portions in a database system and/or environment. The order can be determined by grouping the data in multiple groups and ordering the groups in accordance with a determined priority for reassignment. In doing so, one or more relationships between the data portions and/or cost of use for each one the groups can be considered.Type: GrantFiled: October 30, 2017Date of Patent: October 29, 2019Assignee: Teradata US, Inc.Inventors: Frederick S. Kaufmann, Rajendran Kolandasamy, Philip Jason Benton, Paul Laurence Sinclair, Donald Raymond Pederson, Louis Martin Burger
-
Patent number: 10459906Abstract: The number of processors that store data can be limited for some data in order to improve efficiency in database system that uses multiple processing units to process data. For example, a map can be provided for one or more sparse database tables (or tables) that are relatively small in view of the number of processors that are available. The map can effectively assign distinct portions of the data, e.g., rows of a database, for processing only to a limited number of processors (or processing units). The database system can use the map to process data accordingly.Type: GrantFiled: October 20, 2017Date of Patent: October 29, 2019Assignee: Teradata US, Inc.Inventors: Frederick S. Kaufmann, Paul Laurence Sinclair
-
Publication number: 20190114295Abstract: Techniques for improving complex database queries are provided. A determination is made whether to adopt a static or dynamic query execution plan for a received database query based on metrics. When a dynamic query execution plan is adopted, the database query is separated into query fragments. A plan fragment is generated for each query fragment and executed to generate feedback for the plan fragment. The feedback from the execution of each plan fragment is used to initiate query rewrite rules to simplify the corresponding query fragments. The rewritten query fragments are combined to generate the dynamic query plan.Type: ApplicationFiled: December 12, 2018Publication date: April 18, 2019Applicant: Teradata US, Inc.Inventors: Bin Cao, Yi Xia, Sanjib Mishra, Rama Krishna Korlapati, Tri Minh Tran, Mohammed Al-Kateb, Paul Laurence Sinclair, Chengyang Zhang
-
Publication number: 20180067977Abstract: Data portions of a database can be grouped and ranked in order of priory for reassignment from one or more maps to another one or more maps. It should be noted that a first map can assign the data portions to a first configuration of processors for processing the data portions, and a second map assigns the data portions to a second configuration of processors, different than the first configuration, for processing the data portions in a database system and/or environment. The data portions are reassigned in groups during an available time (window) for reassignment by taking the first one of the groups can be reassigned (“moved”) in the available, then the second one in the available reaming time, and so on, until no group of data portions can be moved in the remaining time or all of them have been moved.Type: ApplicationFiled: November 10, 2017Publication date: March 8, 2018Applicant: Teradata US, Inc.Inventors: Donald Raymond Pederson, Philip Jason Benton, Frederick S. Kaufmann, Paul Laurence Sinclair, Louis Martin Burger
-
Publication number: 20180052877Abstract: An order (or priority) for reassigning data portions of a database from a first map to a second map can be determined. It should be noted that the first map assigns the data portions to a first configuration of processors for processing the data portions, and the second map assigns the data portions to a second configuration of processors, different than the first configuration, for processing the data portions in a database system and/or environment. The order can be determined by grouping the data in multiple groups and ordering the groups in accordance with a determined priority for reassignment In doing so, one or more relationships between the data portions and/or cost of use for each one the groups can be considered.Type: ApplicationFiled: October 30, 2017Publication date: February 22, 2018Applicant: Teradata US, Inc.Inventors: Frederick S. Kaufmann, Rajendran Kolandasamy, Philip Jason Benton, Paul Laurence Sinclair, Donald Raymond Pederson, Louis Martin Burger
-
Publication number: 20180039664Abstract: The number of processors that store data can be limited for some data in order to improve efficiency in database system that uses multiple processing units to process data. For example, a map can be provided for one or more sparse database tables (or tables) that are relatively small in view of the number of processors that are available. The map can effectively assign distinct portions of the data, e.g., rows of a database, for processing only to a limited number of processers (or processing units). The database system can use the map to process data accordingly.Type: ApplicationFiled: October 20, 2017Publication date: February 8, 2018Applicant: Teradata US, Inc.Inventors: Frederick S. Kaufmann, Paul Laurence Sinclair
-
Publication number: 20170116237Abstract: A system and method for loading data into column-partitioned database tables. The system and method incorporate a mechanism for buffering data extracted from the rows of a source table in column-oriented fashion within an in-buffer memory, enabling an efficient bulk-write of large arrays of values from the buffer into column-partitioned database tables. The system and method may also include optimizations for grouping columns according to data types and altering the order in which columns are inserted into the database tables.Type: ApplicationFiled: October 27, 2016Publication date: April 27, 2017Applicant: Teradata US, Inc.Inventors: Rui Zhang, Sanjay Nair, Paul Laurence Sinclair, Mamatha Govind Rao
-
Patent number: 7672926Abstract: A method, computer program, and database system are disclosed for executing database queries. The database includes a first table (T1) having a primary key (PK) column and a first correlated value column (CV1) and a second table (T2) having a foreign key (FK) column related to the primary key column of the first table and a second correlated value column (CV2). One implementation of the method includes preparing a database query for execution based at least in part on application of a derived constraint rule (DCR) having the form, (PK=FK)?CV2+C1?CV1?CV2+C2, where C1 and C2 are constants and “?” means “implies,” to produce an execution plan. A frequency of errors due to changes in DCRs is taken into account when preparing the execution plan. The plan is then executed.Type: GrantFiled: August 13, 2007Date of Patent: March 2, 2010Assignee: Teradata US, Inc.Inventors: Ahmad Said Ghazal, Paul Laurence Sinclair
-
Patent number: 7272591Abstract: A method, computer program, and database system are disclosed for executing database queries. The database includes a first table (T1) having a primary key (PK) column and a first correlated value column (CV1) and a second table (T2) having a foreign key (FK) column related to the primary key column of the first table and a second correlated value column (CV2). One implementation of the method includes preparing a database query for execution based at least in part on application of a derived constraint rule (DCR) having the form, (PK=FK)?CV2+C1?CV1?CV2+C2, where C1 and C2 are constants and “?” means “implies,” to produce an execution plan. Abort steps that are conditioned on changes in the DCR are also included in the execution plan. The plan is then executed.Type: GrantFiled: January 22, 2004Date of Patent: September 18, 2007Assignee: NCR CorporationInventors: Ahmad Said Ghazal, Paul Laurence Sinclair
-
Patent number: 6999967Abstract: A method, computer program and system for joining two tables, t1 and t2 are described. Each table contains rows and columns and is divided into one or more partitions. A correlation function is calculated between a first correlated value column of table t1 and a second correlated value column of table t2. Following a query request, a joining algorithm is used to join t1 and t2, using a reduced set of partitions based in part upon the correlation function.Type: GrantFiled: December 26, 2001Date of Patent: February 14, 2006Assignee: NCR Corp.Inventors: Ahmad Said Ghazal, Paul Laurence Sinclair
-
Patent number: 6845375Abstract: A database system with multi-level partitioning is disclosed. The system includes a plurality of storage facilities with each storage facility storing data that represents rows of database tables. In each storage facility table rows corresponding to a specific table are logically ordered according to a row identifier, also called the row ID. The row ID includes a first value that is based on one or more columns of the table. The row ID also includes a second value that is based on one or more columns of the table. The row ID also includes a third value. The first value is calculated based on a single-level function. The single-level function is a combination of a plurality of functions. The single-level function produces different values for two rows when any of the plurality of functions produces different values for the two rows. The first value of the row ID is predominate in determining the order of the rows in the storage facilities.Type: GrantFiled: October 20, 2001Date of Patent: January 18, 2005Assignee: NCR CorporationInventor: Paul Laurence Sinclair
-
Patent number: 6772163Abstract: A method, computer system, and computer program are claimed for selecting rows from first and second tables each having rows containing values in columns. In at least the first table, the rows are divided into partitions at least one of which is populated by one or more rows.Type: GrantFiled: December 20, 2001Date of Patent: August 3, 2004Assignee: NCR CorporationInventors: Paul Laurence Sinclair, Kuorong Chiang
-
Patent number: 6662175Abstract: A method and computer system for optimizing queries to a database are disclosed. The database includes a first table (T1) having a primary key (PK) column and a first correlated value column (CV1) and a second table (T2) having a foreign key (FK) column related to the primary key column of the first table and a second correlated value column (CV2). The method includes joining T1 to the T2 using PK=FK as the join condition to produce a join result having rows. Each row includes a value from CV1 and a value from CV2. The method further includes creating an initial running constraint (RC). The initial running constraint includes a null range.Type: GrantFiled: May 8, 2001Date of Patent: December 9, 2003Assignee: NCR CorporationInventors: Ahmad Said Ghazal, Paul Laurence Sinclair
-
Patent number: 6643636Abstract: A method, database system and computer program are disclosed for optimizing a SQL query, in which the SQL query includes a WHERE clause and a FROM clause. An evaluation is done to determine whether a non-covering join index partially but not completely covers the query. If it does, the join index is added to the FROM clause of the query without removing the partially covered base tables and the WHERE clause of the query is modified by: (1) mapping a query condition to the join index for its partially covered base tables; and (2) adding a join back condition from the join index to a base table from which the join index was formed.Type: GrantFiled: June 5, 2001Date of Patent: November 4, 2003Assignee: NCR CorporationInventors: Grace Kwan-On Au, Ahmad Said Ghazal, Paul Laurence Sinclair