-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for recursive queries (for graph / tree use-cases) #14568
Comments
Motivation:for using Pinot (or any other non graph native DB) for typical Graph-Usecases like
-> making it possible to build systems without having to use an additional database type like neo4j |
Is this realistic from a performance pov in production?imho for several usecases: YES! When looking into fair comparisons / benchmarks of relational and graph databases Example: Performance of Graph and Relational Databases in Complex Queries https://www.mdpi.com/2076-3417/12/13/6490 And Pinot already proofed being pretty strong on benefitting from indexes... |
from strategic USP POV: being able to efficiently use Pinot for production graph use-cases, may give a new unique solution, hardly to match in this combination by "real" graph DBs:
would be also a great extension to anomaly detection (third eye)... |
on the long run, one could also look into integrating approaches like RelGo (kind of Calcite extension) to make even "Property Graph Queries" (PGQ) possible in highly efficient manner (>10x) for RelGo approach, including benchmarks see: |
Support for recursive queries to use Pinot for typical graph use cases
Many DBs already support recursive queries for several years. This enable many graph / tree like queries with good performance
without the need for a dedicated graph database.
The
with recursive
clause is defined in ISO/IEC 9075-2:2023 §7.17 as part of optional feature T131-> A good intro on
can be found here:
https://www.linkedin.com/pulse/you-dont-need-graph-database-modeling-graphs-trees-viktor-qvarfordt-efzof/
databases with support for recursive queries are, e.g.
see https://modern-sql.com/caniuse/with_recursive_(top_level)
and https://en.wikipedia.org/wiki/Hierarchical_and_recursive_queries_in_SQL
=> Is there way to make this happen for Pinot too?
Or is this hardly possible with our architecture?
The text was updated successfully, but these errors were encountered: