Patents by Inventor Xun Cheng
Xun Cheng 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: 12292887Abstract: A hybrid query execution plan is generated for executing queries on database systems implementing a columnar cache. A hybrid query execution plan combines a query execution plan for querying and retrieving data from a columnar cache and a base table. A columnar cache stores cached data in column-major format, which is logically represented by the database management system in row-major format. A database management system as described herein can scan valid blocks of column data according to a column scan operation. The system can identify invalidated blocks and execute a different sub-execution plan of the hybrid query execution plan to scan corresponding rows in tables corresponding to the location of data for the invalidated blocks.Type: GrantFiled: August 24, 2023Date of Patent: May 6, 2025Assignee: Google LLCInventors: Xiaobin Ma, Xun Cheng, Viral Shah, Anjan Kumar Amirishetty
-
Publication number: 20250036625Abstract: Aspects of the disclosure are directed to late materialization of attributes in response to queries to a database implementing a database cache. Queried data is materialized in temporary memory before the data is projected as part of generating a result to the query. Instead of materializing all of the attributes referenced in a query before executing the query, a database management system materializes attributes as “late” as possible—when the operation needing the attributes is executed. The operation needing the attributes can be performed sooner, as opposed to materializing all referenced attributes are materialized before executing the query.Type: ApplicationFiled: October 15, 2024Publication date: January 30, 2025Inventors: Xiaobin Ma, Xun Cheng, Viral Shah, Anjan Kumar Amirishetty
-
Publication number: 20250036567Abstract: A method for providing elastic columnar cache includes receiving cache configuration information indicating a maximum size and an incremental size for a cache associated with a user. The cache is configured to store a portion of a table in a row-major format. The method includes caching, in a column-major format, a subset of the plurality of columns of the table in the cache and receiving a plurality of data requests requesting access to the table and associated with a corresponding access pattern requiring access to one or more of the columns. While executing one or more workloads, the method includes, for each column of the table, determining an access frequency indicating a number of times the corresponding column is accessed over a predetermined time period and dynamically adjusting the subset of columns based on the access patterns, the maximum size, and the incremental size.Type: ApplicationFiled: October 14, 2024Publication date: January 30, 2025Applicant: Google LLCInventors: Anjan Kumar Amirishetty, Xun Cheng, Viral Shah
-
Patent number: 12130814Abstract: Aspects of the disclosure are directed to late materialization of attributes in response to queries to a database implementing a database cache. Queried data is materialized in temporary memory before the data is projected as part of generating a result to the query. Instead of materializing all of the attributes referenced in a query before executing the query, a database management system materializes attributes as “late” as possible—when the operation needing the attributes is executed. The operation needing the attributes can be performed sooner, as opposed to materializing all referenced attributes are materialized before executing the query.Type: GrantFiled: November 9, 2021Date of Patent: October 29, 2024Assignee: Google LLCInventors: Xiaobin Ma, Xun Cheng, Viral Shah, Anjan Kumar Amirishetty
-
Patent number: 12124376Abstract: A method for providing elastic columnar cache includes receiving cache configuration information indicating a maximum size and an incremental size for a cache associated with a user. The cache is configured to store a portion of a table in a row-major format. The method includes caching, in a column-major format, a subset of the plurality of columns of the table in the cache and receiving a plurality of data requests requesting access to the table and associated with a corresponding access pattern requiring access to one or more of the columns. While executing one or more workloads, the method includes, for each column of the table, determining an access frequency indicating a number of times the corresponding column is accessed over a predetermined time period and dynamically adjusting the subset of columns based on the access patterns, the maximum size, and the incremental size.Type: GrantFiled: April 22, 2022Date of Patent: October 22, 2024Assignee: Google LLCInventors: Anjan Kumar Amirishetty, Xun Cheng, Viral Shah
-
Patent number: 12038894Abstract: Aspects of the disclosure provide for natively executing row-store expression data structures on column-store databases without rewriting. A database management system (DBMS) configured as described herein can maintain a mapping of row-store results to addresses of where corresponding column data is stored. When executing operators, such as logical operators, comparison operators, and/or function operators of a received query expression, the DBMS can operate on the column data, rather than the individual rows. The DBMS can store the results generated by executing the column operators, for example on a stack, and record the row-store addresses to which the stored results correspond. The DBMS responds with a number of rows corresponding to the processed column data.Type: GrantFiled: February 10, 2023Date of Patent: July 16, 2024Assignee: Google LLCInventors: Viral Shah, Xun Cheng, Xiaobin Ma, Haoyu Huang, Anjan Kumar Amirishetty
-
Publication number: 20240078237Abstract: Aspects of the disclosure are directed to early filtering of candidate rows for a join operator of a query statement before the join operator is evaluated to generate a result set. Early filtering, e.g., before execution of the join operator, reduces the number of candidate rows fetched from a database during a join operator, which can improve the rate at which queries including join operators are executed by a DBMS for the database. One or more Bloom filters or other probabilistic data structures can be produced and consumed according to different join conditions, allowing for early pruning of unqualified rows during a database scan operation.Type: ApplicationFiled: September 7, 2022Publication date: March 7, 2024Inventors: Xiaobin Ma, Xun Cheng
-
Publication number: 20230401209Abstract: Aspects of the disclosure are directed to generating a hybrid query execution plan for executing queries on database systems implementing a columnar cache. A hybrid query execution plan combines a query execution plan for querying and retrieving data from a columnar cache and a base table. A columnar cache stores cached data in column-major format, which is logically represented by the database management system in row-major format. A database management system as described herein can scan valid blocks of column data according to a column scan operation. The system can identify invalidated blocks and execute a different sub-execution plan of the hybrid query execution plan to scan corresponding rows in tables corresponding to the location of data for the invalidated blocks.Type: ApplicationFiled: August 24, 2023Publication date: December 14, 2023Inventors: Xiaobin Ma, Xun Cheng, Viral Shah, Anjan Kumar Amirishetty
-
Publication number: 20230367751Abstract: Aspects of the disclosure provide for natively executing row-store expression data structures on column-store databases without rewriting. A database management system (DBMS) configured as described herein can maintain a mapping of row-store results to addresses of where corresponding column data is stored. When executing operators, such as logical operators, comparison operators, and/or function operators of a received query expression, the DBMS can operate on the column data, rather than the individual rows. The DBMS can store the results generated by executing the column operators, for example on a stack, and record the row-store addresses to which the stored results correspond. The DBMS responds with a number of rows corresponding to the processed column data.Type: ApplicationFiled: February 10, 2023Publication date: November 16, 2023Inventors: Viral Shah, Xun Cheng, Xiaobin Ma, Haoyu Huang, Anjan Kumar Amirishetty
-
Patent number: 11782921Abstract: Aspects of the disclosure are directed to generating a hybrid query execution plan for executing queries on database systems implementing a columnar cache. A hybrid query execution plan combines a query execution plan for querying and retrieving data from a columnar cache and a base table. A columnar cache stores cached data in column-major format, which is logically represented by the database management system in row-major format. A database management system as described herein can scan valid blocks of column data according to a column scan operation. The system can identify invalidated blocks and execute a different sub-execution plan of the hybrid query execution plan to scan corresponding rows in tables corresponding to the location of data for the invalidated blocks.Type: GrantFiled: November 8, 2021Date of Patent: October 10, 2023Assignee: Google LLCInventors: Xiaobin Ma, Xun Cheng, Viral Shah, Anjan Kumar Amirishetty
-
Publication number: 20230141902Abstract: Aspects of the disclosure are directed to generating a hybrid query execution plan for executing queries on database systems implementing a columnar cache. A hybrid query execution plan combines a query execution plan for querying and retrieving data from a columnar cache and a base table. A columnar cache stores cached data in column-major format, which is logically represented by the database management system in row-major format. A database management system as described herein can scan valid blocks of column data according to a column scan operation. The system can identify invalidated blocks and execute a different sub-execution plan of the hybrid query execution plan to scan corresponding rows in tables corresponding to the location of data for the invalidated blocks.Type: ApplicationFiled: November 8, 2021Publication date: May 11, 2023Inventors: Xiaobin Ma, Xun Cheng, Viral Shah, Anjan Kumar Amirishetty
-
Publication number: 20230141891Abstract: Aspects of the disclosure are directed to generating cache configurations for caching data for a database. A database management system (DBMS) can search for column data to cache in a database cache to improve performance of the DBMS in resolving queries. Column data selection can be performed automatically and in the background of a deployed DBMS. Periodically, the DBMS can assess the performance benefit of having certain data cached in the database cache and select data for caching based on the assessed performance benefit. The DBMS can also determine the performance benefit of cached data when not cached, as well as select some portions of data to cache over others. The DBMS can also select data for caching based on different degrees of compression, to further improve query resolution performance.Type: ApplicationFiled: November 10, 2021Publication date: May 11, 2023Inventors: Haoyu Huang, Gaurav Jain, Xun Cheng, Viral Shah, Eugene Brevdo, Lyric Pankaj Doshi
-
Publication number: 20230141190Abstract: Aspects of the disclosure are directed to late materialization of attributes in response to queries to a database implementing a database cache. Queried data is materialized in temporary memory before the data is projected as part of generating a result to the query. Instead of materializing all of the attributes referenced in a query before executing the query, a database management system materializes attributes as “late” as possible—when the operation needing the attributes is executed. The operation needing the attributes can be performed sooner, as opposed to materializing all referenced attributes are materialized before executing the query.Type: ApplicationFiled: November 9, 2021Publication date: May 11, 2023Inventors: Xiaobin Ma, Xun Cheng, Viral Shah, Anjan Kumar Amirishetty
-
Patent number: 11625384Abstract: Disclosed herein are system, method, and computer program product embodiments for performing dynamic partition pruning using data statistic objects as data integrity constraints. An embodiment operates by partitioning a database table into a plurality of partitions based on a partition criterion. The embodiment creates a data statistics object for a partition in the plurality of partitions. The embodiment receives a query for the database table. The embodiment determines the data statistics object is consistent with data in the partition. The embodiment processes the query for the partition based on the data statistics object.Type: GrantFiled: October 27, 2017Date of Patent: April 11, 2023Assignee: SAP SEInventors: Reza Sherkat, Anisoara Nica, Xun Cheng, Prabhas Kumar Samanta, Mihnea Andrei
-
Patent number: 11468093Abstract: Disclosed herein are system, method, and computer program product embodiments for determining a constraint data statistics object is consistent. An embodiment operates by receiving a query for a database table. The embodiment determines a constraint data statistic object associated with a partition of the database table. The embodiment determines the constraint data statistics object is consistent with a data state of the partition of the database table based on consistency metadata of the constraint data statistics object. The embodiment processes the query for the database table based on the determining the constraint data statistics object is consistent with the data state of the partition of the database table.Type: GrantFiled: October 27, 2017Date of Patent: October 11, 2022Assignee: SAP SEInventors: Christian Bensberg, Alexander Boehm, Adrian Dragusanu, Xun Cheng, Reza Sherkat, Anisoara Nica, Mihnea Andrei
-
Patent number: 11429610Abstract: A method, a system, and a computer program product for generating a query executable plan. A query requiring access to data stored in a database system is received. Based on the received query, a query execution plan having a plurality of query execution pipelines is generated. Each query execution pipeline in the plurality of query execution pipelines is configured to execute a plurality of operations in a predetermined order associated with each query execution pipeline. The generated query execution plan is fragmented into a plurality of fragments. Each fragment has one or more query execution pipelines in the plurality of query execution pipelines. The received query is executed by executing each fragment in the plurality of fragments.Type: GrantFiled: April 1, 2020Date of Patent: August 30, 2022Assignee: SAP SEInventors: Xun Cheng, Zhen Tian, Yuncong Qiao, Faming Qu, Paul Willems, Hongyong Lu, Yanxin Luo, Nitesh Maheshwari
-
Publication number: 20220253383Abstract: A method for providing elastic columnar cache includes receiving cache configuration information indicating a maximum size and an incremental size for a cache associated with a user. The cache is configured to store a portion of a table in a row-major format. The method includes caching, in a column-major format, a subset of the plurality of columns of the table in the cache and receiving a plurality of data requests requesting access to the table and associated with a corresponding access pattern requiring access to one or more of the columns. While executing one or more workloads, the method includes, for each column of the table, determining an access frequency indicating a number of times the corresponding column is accessed over a predetermined time period and dynamically adjusting the subset of columns based on the access patterns, the maximum size, and the incremental size.Type: ApplicationFiled: April 22, 2022Publication date: August 11, 2022Applicant: Google LLCInventors: Anjan Kumar Amirishetty, Xun Cheng, Viral Shah
-
Patent number: 11341132Abstract: An original query execution plan of a database query is received. The original query execution plan represents a tree of operators. Source code for the original query execution plan is generated by a single traversal of the tree of operators. The generated source code is compiled into native machine code. The native machine code represents a simplified native access plan (SNAP).Type: GrantFiled: September 1, 2015Date of Patent: May 24, 2022Assignee: SYBASE, INC.Inventors: Xiaobin Ma, Xun Cheng, Prabhas Kumar Samanta
-
Patent number: 11334489Abstract: A method for providing elastic columnar cache includes receiving cache configuration information indicating a maximum size and an incremental size for a cache associated with a user. The cache is configured to store a portion of a table in a row-major format. The method includes caching, in a column-major format, a subset of the plurality of columns of the table in the cache and receiving a plurality of data requests requesting access to the table and associated with a corresponding access pattern requiring access to one or more of the columns. While executing one or more workloads, the method includes, for each column of the table, determining an access frequency indicating a number of times the corresponding column is accessed over a predetermined time period and dynamically adjusting the subset of columns based on the access patterns, the maximum size, and the incremental size.Type: GrantFiled: July 20, 2020Date of Patent: May 17, 2022Assignee: Google LLCInventors: Anjan Kumar Amirishetty, Xun Cheng, Viral Shah
-
Publication number: 20220019539Abstract: A method for providing elastic columnar cache includes receiving cache configuration information indicating a maximum size and an incremental size for a cache associated with a user. The cache is configured to store a portion of a table in a row-major format. The method includes caching, in a column-major format, a subset of the plurality of columns of the table in the cache and receiving a plurality of data requests requesting access to the table and associated with a corresponding access pattern requiring access to one or more of the columns. While executing one or more workloads, the method includes, for each column of the table, determining an access frequency indicating a number of times the corresponding column is accessed over a predetermined time period and dynamically adjusting the subset of columns based on the access patterns, the maximum size, and the incremental size.Type: ApplicationFiled: July 20, 2020Publication date: January 20, 2022Applicant: Google LLCInventors: Anjan Kumar Amirishetty, Xun Cheng, Viral Shah