A TinkerPop 3 implementation that enables graph database operations on top of standard SQL relational databases.
Sqlg is a Java library that implements the Apache TinkerPop 3 graph computing framework on top of standard SQL relational databases. It allows developers to use graph data models and execute Gremlin queries while storing data in traditional RDBMS like PostgreSQL, MySQL, and MariaDB. This solves the problem of needing to choose between graph database functionality and the reliability/familiarity of SQL databases.
Java developers and data engineers who need graph database capabilities but want to leverage existing SQL database infrastructure, particularly those using PostgreSQL, MySQL, MariaDB, H2, or HSQLDB.
Developers choose Sqlg because it provides full TinkerPop 3 compliance without requiring migration to specialized graph databases, allowing them to maintain ACID compliance, use existing SQL tools, and deploy on familiar RDBMS platforms while gaining graph query capabilities.
TinkerPop graph over sql
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports H2, HSQLDB, PostgreSQL, MariaDB, and MySQL, providing flexibility in backend choice, as explicitly listed in the README.
Implements the full TinkerPop 3 stack including Gremlin, ensuring standard graph operations, per the project description and README emphasis.
Leverages ACID compliance and existing SQL tools by storing graph data in relational tables, bridging graph and relational paradigms as stated in the philosophy.
Maintains documentation for multiple release versions, aiding version-specific use, as shown by the separate documentation links in the README.
Graph queries are translated to SQL, which can introduce latency and inefficiency compared to native graph databases, especially for complex traversals.
Requires configuration and management of both Sqlg and the underlying RDBMS, adding deployment and maintenance complexity beyond a single database system.
RDBMS are not natively optimized for graph operations, so advanced TinkerPop features may not perform as well as in dedicated graph databases.