IP Library Granted Patent US 12,380,104
Granted Patent B2
US 12,380,104 · App. 17/601,048 · Granted Aug 5, 2025

Batched query processing and optimization

Inventors: Yicheng Tu (Tampa, FL); Mehrad Eslami (Tampa, FL)
Assignee: UNIVERSITY OF SOUTH FLORIDA
G06F16/24544G06F11/3409G06F16/2282G06F16/24539
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,380,104
App. No.
17/601,048
Granted
Aug 5, 2025
Kind
B2
Abstract

Disclosed are various embodiments for batched query processing and optimization in database management systems. A single algebraic expression is generated based at least in part on applying equivalence rules to algebraic expressions for a plurality of database queries of a database comprising a set of relations. The equivalence rules involve relational operators comprising Psi (ψ) operators. The database can be queried using a single database query to create a result that is equivalent to the plurality of database queries.

Claims (36)

1. A system comprising:

a memory storing a database;

at least one computing device in communication with the database and comprising a processor, the processor being configured to execute a set of instructions to at least:

obtain a plurality of database queries;

prior to sending any query requests of the plurality of database queries to a database management system of the memory, transform the plurality of database queries using algebraic expressions and generate a single global query encompassing the algebraic expressions of all of the plurality of database queries;

send a single database query request based on the global query to the database management system of the memory storing the database; and

by querying the database using only the single database query request, to cause the database to return to the at least one computing device a result in the form of a global relation corresponding to relations for the plurality of database queries, wherein the global relation comprises response data from which results for all of the database queries can be derived.

2. The system of claim 1 , wherein the global query is generated based at least in part on applying equivalence rules to algebraic expressions for the plurality of database queries.

3. The system of claim 1 , wherein the processor of the at least one computing device is further configured to execute a set of instructions that cause the processor to at least:

modify at least one aspect of at least one table in the memory storing the database; and

generate a second global query corresponding to a second plurality of database queries by applying equivalence rules for the plurality of second database queries.

4. A method comprising:

obtaining, via at least one computing device, a plurality of database queries;

generating, via the at least one computing device, a single expression to expressions of each of the plurality of database queries and a global relation corresponding to relations for the plurality of database queries, wherein the global relation is a single relation that contains all data needed to derive results for all of the database queries; and

without transmitting any of the plurality of database queries individually, querying, via the at least one computing device, a database based at least in part on the single expression.

5. The method of claim 4 , wherein the single expression is generated based at least in part on applying equivalence rules to algebraic expressions for the plurality of database queries.

6. The method of claim 4 , further comprising:

modifying at least one aspect of at least one table in the database; and

generating a second single expression corresponding to a second plurality of database queries by applying equivalence rules for the plurality of second database queries.

7. A system comprising:

a data store comprising a set of relations;

at least one computing device in communication with the data store and comprising a processor, the processor being configured to execute a set of instructions to at least:

obtain a plurality of database queries associated with the set of relations, each of the relations comprising attributes;

prior to sending to the data store any query requests for the plurality of database queries, generate, based at least in part on applying equivalence rules using a plurality of relational operators comprising a plurality of ψ operators to algebraic expressions for the plurality of database queries and the set of relations, a single algebraic expression whose result is a global relation comprising a set of tuples,

wherein the global relation is a single relation that contains all data needed to derive results for all of the database queries;

generate a single database query based on the single algebraic expression;

query the data store using only the single database query;

in response to querying the data store using only the single database query, receiving response data from the data store from which results for all of the plurality of database queries can be derived; and

based on the response data, provide each tuple in the global relation to a plurality of filters to generate output relations corresponding to the plurality of database queries.

8. The system of claim 7 , wherein the plurality of database queries are registered in a database management system.

9. The system of claim 7 , wherein the plurality of database queries are registered to be executed concurrently.

10. The system of claim 7 , wherein at least one of the plurality of database queries is associated with an algebraic expression that returns a vector of the relations.

11. The system of claim 7 , wherein the single algebraic expression is associated with a global relation comprising data necessary for the plurality of database queries.

12. The system of claim 11 , wherein the data does not include any attributes unless the attributes have been used in the plurality of database queries.

13. The system of claim 11 , wherein there is not any row of the data that is not used by the plurality of database queries.

14. The system of claim 7 , wherein the processor of the at least one computing device is further configured to at least modify at least one aspect of at least one table in the data store.

Assignments (2)
CONFIRMATORY LICENSE Recorded Feb 3, 2025
From: UNIVERSITY OF SOUTH FLORIDA
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 070609/0171 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2023
From: TU, YICHENG; ESLAMI, MEHRAD
To: UNIVERSITY OF SOUTH FLORIDA
Reel/Frame 064889/0552 →
Continuity (2)
Provisional Application 62828834 · Apr 3, 2019
Related Publication 20220222256A1 · Jul 14, 2022
References Cited (37)
US 6032144A · Sirvastava et al. · 2000 [cited by applicant]
US 6275818B1 · Subramanian · 2001 [cited by examiner]
US 6748392B1 · Galindo-Legaria et al. · 2004 [cited by applicant]
US 9020908B2 · Danielson et al. · 2015 [cited by applicant]
US 10191943B2 · Simhadri et al. · 2019 [cited by applicant]
US 11210296B2 · Shah · 2021 [cited by examiner]
US 20010013038A1 · Purcell · 2001 [cited by examiner]
US 20050119988A1 · Buch · 2005 [cited by examiner]
US 20060031224A1 · Haugh · 2006 [cited by examiner]
US 20060206512A1 · Hanrahan · 2006 [cited by examiner]
US 20110055199A1 · Siddequie et al. · 2011 [cited by applicant]
US 20130006968A1 · Gusmini · 2013 [cited by examiner]
US 20150074034A1 · Ait-Mohktar · 2015 [cited by examiner]
US 20160147878A1 · Mañá · 2016 [cited by examiner]
US 20170046391A1 · Pestana · 2017 [cited by examiner]
US 20220222256A1 · Tu · 2022 [cited by examiner]
Agarwal et al., “BlinkDB: Queries with Bounded Errors and Bounded Response Times on Very Large Data,” In Proceedings of the 8th ACM European Conference on Computer Systems (EuroSys '13). ACM, New York, Ny, USA, 2013, pp… [cited by applicant]
Arumugam et al., “The DataPath System: A Data-centric Analytic Processing Engine for Large Data Warehouses,” n Proceedings of the 2010 ACM SIGMOD International Conference on Management of Data (SIGMOD '10). ACM, New Yor… [cited by applicant]
Boncz et al., “MonetDB/XQuery: A Fast XQuery Processor Powered by a Relational Engine,” In Proceedings of the 2006 ACM SIGMOD International Conference on Management of Data (SIGMOD '06). ACM, New York, NY, USA, 2006, pp… [cited by applicant]
Candea et al., “A Scalable, Predictable Join Operator for Highly Concurrent Data Warehouses,” Proceedings of the 35th International Conference on Very Large Data Bases (VLDB). No. CONF. 2009, pp. 277-288. [cited by applicant]
Codd, E.F., “A Relational Model of Data for Large Shared Data Banks,” Communications of the ACM 13.6 1970, pp. 377-387. [cited by applicant]
Dalvi et al., “Pipelining in Multi-query Optimization,” Proceedings of the twentieth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems. (PODS '01 ). ACM, New York, NY, USA, 2001, pp. 59-70. [cited by applicant]
Finkelstein, S., “Common Expression Analysis in Database Applications,” In Proceedings of the 1982 ACM SIGMOD International Conference on Management of Data (1982) (SIGMOD '82). ACM, New York, NY, USA, 1982, pp. 235-245. [cited by applicant]
Giannikis et al., “SharedDB: Killing One Thousand Queries with One Stone,” arXiv preprint arXiv:1203.0056, 2012, pp. 526-537. [cited by applicant]
Giannikis et al., “Shared Workload Optimization,” Proceedings of the VLDB Endowment 7.6, 2014, pp. 429-440. [cited by applicant]
Giannikis et al., “Workload Optimization Using SharedDB,” In Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data (SIGMOD '13). ACM, New York, NY, USA, 2013, pp. 1045-1048. [cited by applicant]
Giannikis et al., “Crescando,” In Proceedings of the 2010 ACM SIGMOD International Conference on Management of Data (SIGMOD '10). ACM, New York, NY, USA, 2010, pp. 1227-1230. [cited by applicant]
Harinarayan et al., In Proceedings of the 1996 ACM SIGMOD International Conference on Management of Data (SIGMOD '96). ACM, New York, NY, USA, 1996, pp. 205-216. [cited by applicant]
Harizopoulos et al., “QPipe: A Simultaneously Pipelined Relational Query Engine,” Proceedings of the 2005 ACM SIGMOD international conference on Management of data, (SIGMOD '05). ACM, New York, NY, USA, 2005, pp. 383-39… [cited by applicant]
Kester et al., “Access Path Selection in Main-Memory Optimized Data Systems: Should | Scan or Should I Probe?” In Proceedings of the 2017 ACM International Conference on Management of Data (SIGMOD '17). ACM, New York, N… [cited by applicant]
Makreshanski et al., “MQJoin: Efficient Shared Execution of Main-Memory Joins,” ETH Zurich, 2016. [cited by applicant]
Nicola, M., Jarke, M., “Performance Modeling of Distributed and Replicated Databases,” IEEE Transactions on Knowledge and Data Engineering 12.4, 2000, pp. 645-672. [cited by applicant]
Saikia et al., “Comparative Performance Analysis of MySQL and SQL Server Relational Database Management Systems in Windows Environment,” International Journal of Advanced Research in Computer and Communication Engineeri… [cited by applicant]
Sellis, T., Ghosh, S., “On the multiple-query optimization problem,” IEEE Transactions on Knowledge and Data Engineering 2.02, 1990, pp. 262-266. [cited by applicant]
Bellis, T., “Multiple-query Optimization,” ACM Transactions on Database Systems (TODS) 13.1, 1988, pp. 23-52. [cited by applicant]
2017. Database Page Layout, PostgreSQL 10 documentation. https://www.postgresql.org/docs/10/static/storage-page-layout.html, on Oct. 10, 2022, 3 pages. [cited by applicant]
2017. Field Contents, MySQL Internals Manual. https://www.postgresql.org/docs/10/static/storage-page-layout.html, on Oct. 10, 2022, 3 pages. [cited by applicant]