IP Library Granted Patent US 12,339,841
Granted Patent B2
US 12,339,841 · App. 18/063,343 · Granted Jun 24, 2025

Database management system and method for graph view selection for a relational-graph database

Inventors: Chao Zhang (Helsinki, FI); Jiaheng Lu (Helsinki, FI); Xiaochun Han (Shanghai, CN); Xinyong Zhang (Beijing, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
G06F16/2453G06F16/9024
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,339,841
App. No.
18/063,343
Granted
Jun 24, 2025
Kind
B2
Abstract

A database management system for performing a graph query based on one or more graph views of a relational-graph database is disclosed. The database management system is configured to determine a plurality of graph views from the relational-graph database based on one or more previous graph queries of the relational-graph database to obtain a plurality of candidate graph views of the relational-graph database. Moreover, the database management system is configured to store a subset of the plurality of candidate graph views of the relational-graph database and perform a graph query of the relational-graph database based on the subset of the plurality of candidate graph views of the relational-graph database. By virtue of the selected subset of the plurality of candidate graph views from the relational-graph database, the database management system can increase the processing speed of graph queries.

Claims (27)

1. A database management system for performing a graph query based on one or more graph views of a relational-graph database, comprising:

at least one processor and a memory storing instructions that, when executed by the at least one processor, cause the database management system to:

determine a plurality of graph views of the relational-graph database based on one or more graph queries of the relational-graph database to obtain a plurality of candidate graph views of the relational-graph database;

store a subset of the plurality of candidate graph views of the relational-graph database in the memory; and

perform a graph query of the relational-graph database based on the subset of the plurality of candidate graph views of the relational-graph database,

wherein the database management system further comprises a graph query engine and a relational query engine, wherein each query engine is executed by the at least one processor, and

wherein the instructions, when executed by the at least one processor, further cause the database management system to determine a respective performance indicator for each of the plurality of candidate graph views by comparing one or more queries processed by the graph query engine, using the respective candidate graph view with the same one or more queries processed by the relational query engine.

2. The database management system of claim 1 , wherein each of the plurality of candidate graph views occupies a respective portion of the memory, and

wherein the instructions, when executed by the at least one processor, further cause the database management system to determine the subset of the plurality of candidate graph views of the relational-graph database based on a total size of the memory available for storing the determined subset of the plurality of candidate graph views of the relational-graph database and/or one or more performance indicators associated with the plurality of candidate graph views.

3. The database management system of claim 1 , wherein the instructions, when executed by the at least one processor, further cause the database management system to translate the one or more graph queries for the graph query engine into one or more relational queries for the relational query engine, when the one or more graph queries are not processable by the graph query engine.

4. The database management system of claim 1 , wherein the instructions, when executed by the at least one processor, further cause the database management system to determine the subset of the plurality of candidate graph views of the relational-graph database based on the one or more performance indicators of the plurality of candidate graph views and the total size of the memory available for storing the determined subset of the plurality of candidate graph views of the relational-graph database.

5. The database management system of claim 1 , wherein the instructions, when executed by the at least one processor, further cause the database management system to determine whether the one or more graph queries are processable by the graph query engine using the respective candidate graph view.

6. The database management system of claim 2 , wherein the one or more performance indicators associated with the plurality of candidate graph views comprise a plurality of global performance indicators, wherein each of the plurality of global performance indicators is associated with a respective combination of the plurality of candidate graph views, and wherein the instructions, when executed by the at least one processor, further cause the database management system to determine the subset of the plurality of candidate graph views of the relational-graph database based on the plurality of global performance indicators.

7. The database management system of claim 6 , wherein the instructions, when executed by the at least one processor, further cause the database management system to determine the global performance indicator for a respective combination of the plurality of candidate graph views by splitting a respective candidate graph view into at least two candidate sub-graph views.

8. The database management system of claim 6 , wherein the instructions, when executed by the at least one processor, further cause the database management system to determine the global performance indicator for a respective combination of the plurality of candidate graph views by merging sub-graphs of at least two of the plurality of candidate graph views to generate a Previously Presented candidate graph view.

9. The database management system of claim 1 , wherein each of the plurality of the candidate graph views comprises a candidate graph view pattern and a candidate graph view content, and wherein the instructions, when executed by the at least one processor, further cause the database management system to determine the plurality of candidate graph views based on the one or more graph queries by mapping the one or more graph queries to one or more candidate graph view patterns.

10. The database management system of claim 9 , wherein the instructions, when executed by the at least one processor, further cause the database management system to map the one or more graph queries to the one or more candidate graph view patterns by sequentially mapping nodes and edges of the one or more graph queries to nodes and edges of the one or more candidate graph view patterns.

11. The database management system of claim 9 , wherein the instructions, when executed by the at least one processor, further cause the database management system to generate, based on the one or more graph queries, a respective edge-induced graph for generating the respective candidate graph view content of the respective candidate graph view.

12. The database management system of claim 1 , wherein the instructions, when executed by the at least one processor, further cause the database management system to determine a cost measure value for each of the plurality of candidate graph views and to limit the number of candidate graph views by removing the candidate graph views having a cost measure value larger than a cost measure threshold value.

13. The database management system of claim 1 , wherein the instructions, when executed by the at least one processor, further cause the database management system to receive one or more further graph queries and to adjust the subset of the plurality of candidate graph views of the relational-graph database in the memory based on the one or more further graph queries of the relational-graph database.

14. A method for performing a graph query based on one or more graph views of a relational-graph database, the method comprising:

determining a plurality of graph views of the relational-graph database based on one or more graph queries of the relational-graph database to obtain a plurality of candidate graph views of the relational-graph database;

storing a subset of the plurality of candidate graph views of the relational-graph database; and

performing a graph query of the relational-graph database based on the subset of the plurality of candidate graph views of the relational-graph database,

wherein the method further comprises determining a respective performance indicator for each of the plurality of candidate graph views by comparing one or more queries processed by a graph query engine, executed by at least one processor, using the respective candidate graph view with the same one or more queries processed by a relational query engine, executed by the at least one processor.

15. The method of claim 14 , wherein each of the plurality of candidate graph views occupies a respective portion of a memory of a database management system, and

the method further comprises determining the subset of the plurality of candidate graph views of the relational-graph database based on a total size of the memory available for storing the determined subset of the plurality of candidate graph views of the relational-graph database and/or one or more performance indicators associated with the plurality of candidate graph views.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2024
From: ZHANG, CHAO; LU, JIAHENG; HAN, XIAOCHUN; ZHANG, XINYONG
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 068419/0778 →
Continuity (2)
Continuation PCTCN2020095161 · Jun 9, 2020
Related Publication 20230126509A1 · Apr 27, 2023
References Cited (44)
US 10387497B2 · Fokoue-Nkoutche et al. · 2019 [cited by applicant]
US 11120082B2 · Hilloulin · 2021 [cited by examiner]
US 20100241644A1 · Jackson et al. · 2010 [cited by applicant]
US 20150081724A1 · Xu · 2015 [cited by examiner]
US 20150081741A1 · Xu · 2015 [cited by applicant]
US 20160342709A1 · Fokoue-Nkoutche et al. · 2016 [cited by applicant]
US 20170293697A1 · Youshi · 2017 [cited by examiner]
US 20180096035A1 · Kreutzer · 2018 [cited by examiner]
US 20190196890A1 · Bucchi · 2019 [cited by examiner]
US 20190325292A1 · Remis · 2019 [cited by examiner]
US 20190332698A1 · Cho · 2019 [cited by examiner]
US 20200265049A1 · da Trindade · 2020 [cited by examiner]
CN 102156725A · 2011 [cited by applicant]
CN 113934899A · 2022 [cited by examiner]
EP 1193618B1 · 2017 [cited by applicant]
KR 101725502B1 · 2017 [cited by examiner]
Da Trindade Joana M. F. et al: “Kaskade: Graph Views for Efficient Graph Analytics”, 2020 IEEE 36th International Conference on Data Engineering (ICDE), Apr. 1, 2020(Apr. 1, 2020), pp. 193-204, XP93041000. [cited by applicant]
Sun, Wen, et al. “Sqlgraph: An efficient relational-based property graph store.” Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data. May 27, 2015. total 15 pages. [cited by applicant]
Y. Perez, R. Sosi c, A. Banerjee, R. Puttagunta, M. Raison, P. Shah, and J. Leskovec. Ringo: Interactive graph analytics on big-memory machines. In Proceedings of the 2015 ACM SIGMOD International Conference on Manageme… [cited by applicant]
K. Xirogiannopoulos, U. Khurana, and A. Deshpande. Graphgen: Exploring interesting graphs in relational data. Proceedings of the VLDB Endowment, 8(12):2032-2035, Aug. 1, 2015. total 4 pages. [cited by applicant]
M. S. Hassan, T. Kuznetsova, H. C. Jeong, W. G. Aref, and M. Sadoghi. Extending in-memory relational database engines with native graph support. Apr. 2018. total 36 pages. [cited by applicant]
S. Agrawal, S. Chaudhuri, and V. R. Narasayya. Automated selection of materialized views and indexes in sql databases. In VLDB, vol. Jan. 2000, pp. 496-505, 2000. [cited by applicant]
A. Katsifodimos, I. Manolescu, and V. Vassalos. Materialized view selection for xquery workloads. In Proceedings of the May 20, 2012 ACM SIGMOD International Conference on Management of Data, pp. 565-576. ACM, 2012. [cited by applicant]
Goasdou, Francois, et al. “View selection in semantic web databases.” In VLDB (Oct. 1, 2011), total 12 pages. [cited by applicant]
L. P. Cordella, P. Foggia, C. Sansone, and M. Vento. A (sub) graph isomorphism algorithm for matching large graphs. IEEE transactions on pattern analysis and machine intelligence, 26(10):1367-1372, Aug. 16, 2004. total … [cited by applicant]
M. A. Rodriguez. The gremlin graph traversal machine and language (invited talk). In Proceedings of the 15th Symposium on Database Programming Languages, pp. 1-10. ACM, Oct. 2015. [cited by applicant]
Francis, Nadime, et al. “Cypher: An evolving query language for property graphs.” Proceedings of the 2018 International Conference on Management of Data. May 27, 2018. total 15 pages. [cited by applicant]
S. Agrawal, S. Chaudhuri, and V. R. Narasayya. Automated selection of materialized views and indexes in sql databases. In VLDB, vol. 2000, pp. 496-505, Jan. 2000. [cited by applicant]
L. W. F. Chaves, E. Buchmann, F. Hueske, and K. Bohm. Towards materialized view selection for distributed databases. In Proceedings of the 12th international conference on extending database technology: advances in data… [cited by applicant]
R. Chirkova and C. Li. Materializing views with minimal size to answer queries. In Proceedings of the twenty-second ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems, pp. 38-48. ACM, Jun. 9, 2003. [cited by applicant]
W. Fan, X. Wang, and Y. Wu. Answering graph pattern queries using views. In 2014 IEEE 30th International Conference on Data Engineering, pp. 184-195. IEEE, Mar. 2014. [cited by applicant]
H. Gupta. Selection of views to materialize in a data warehouse. In International Conference on Database Theory, pp. 98-112. Springer, 1997. vol. 17, No. 1, Jan. 2005. [cited by applicant]
A. Y. Halevy. Answering queries using views: A survey. The VLDB Journal, 10(4):270-294, 2001. Digital Object Identifier (DOI)10.1007/s007780100054, /Accepted: Mar. 23, 2001. [cited by applicant]
V. Harinarayan, A. Rajaraman, and J. D. Ullman. Implementing data cubes efficiently. In ACM SIGMOD Record, vol. 25, pp. 205-216. ACM, Jun. 1, 1996. [cited by applicant]
W. Le, S. Duan, A. Kementsietsidis, F. Li, and M. Wang. Rewriting queries on sparql views. In Proceedings of the 20th international conference on World wide web, pp. 655-664. ACM, Mar. 2011. Mar. 28-Apr. 1, 2011, Hydera… [cited by applicant]
B. Mandhani and D. Suciu. Query caching and view selection for xml databases. In Proceedings of the 31st international conference on Very large data bases, pp. 469-480. VLDB Endowment, Aug. 2005. [cited by applicant]
N. Tang, J. X. Yu, H. Tang, M. T. Ozsu, and P. Boncz. Materialized view selection in xml databases. In International Conference on Database Systems for Advanced Applications, pp. 616-630, Springer, Mar. 2009. [cited by applicant]
D. C. Zilio, J. Rao, S. Lightstone, G. Lohman, A. Storm, C. Garcia-Arellano, and S. Fadden. Db2 design advisor: integrated automatic physical database design. In Proceedings of the Thirtieth international conference on … [cited by applicant]
R. Chirkova, J. Yang, et al. Materialized views. Foundations and Trends R in Databases, 4(4):295-405, Dec. 14, 2012, vol. 4, No. 4 (2011), DOI: 10.1561/1900000020. [cited by applicant]
TinkerPop. A graph computing framework for both graph databases (OLTP) and graph analytic systems (OLAP). (2020), Copyright 2015-2023 The Apache Software Foundation, total 5 pages. [cited by applicant]
SQLG. An implementation of Apache TinkerPop on a RDBMS. (2020), Pieter Martin, Version 3.1.0, Apr. 2024 (Apr. 28, 2024), total 119 pages. [cited by applicant]
X. L. Informatik. Materialized view selection: A survey. 2010. Informatik 5, RWTH Aachen University, total 12 pages. [cited by applicant]
International Search Report issued in PCT/CN2020/095161, dated Mar. 9, 2021, 10 pages. [cited by applicant]
Extended European Search Report issued in EP20939937.7, dated Mar. 5, 2023, 6 pages. [cited by applicant]