JetBrains/youtrackdb
YouTrackDB is a general-use object-oriented graph database with storage format native to handle graph relations. YouTrackDB supports Gremlin queries and ACID transactions. YTDB supports both embedded and client-server deployment models.
What it solves
YouTrackDB is a general-purpose graph database that handles connected data (like social networks, recommendation engines, or dependency graphs) without the performance cost of traditional JOINs. It lets you store and query data as objects and relationships, with fast link traversal and strong consistency guarantees.
How it works
YouTrackDB stores data as a graph where relationships between objects are traversed in constant time (O(1)) instead of using expensive runtime JOINs. It supports both embedded (running inside your application) and client-server (a standalone database server) deployment. Transactions run under snapshot isolation, so each transaction sees a stable view of the database as of its start time, avoiding dirty reads and related issues. You can query it using the TinkerPop API and Gremlin query language, or the SQL-based YQL language that has extensions for graph patterns like the MATCH statement. It also offers schema-less, schema-mixed, and schema-full modes to fit different development workflows.
Who it's for
YouTrackDB is for developers and teams building applications that need to handle complex relationships and graph queries. It's used in production by JetBrains, so it's suitable for demanding environments. You can experiment with it via a Docker console, embed it in a Java project with Maven or Gradle, or run a full server as a Docker container. It requires JDK 21 or later.
Highlights
- O(1) complexity for link traversal, avoiding expensive JOINs
- Snapshot isolation by default for all transactions
- Supports TinkerPop API and Gremlin query language out of the box
- YQL query language with SQL-style syntax and graph extensions
- Works in schema-less, schema-mixed, and schema-full modes
- Strong security with user, role, and predicate-based policies
- Optional encryption of data at rest
- Online incremental and full backups with minimal pause
- Multiple independent databases per instance
- Easy to get started: Docker images for console and server, Maven/Gradle dependency for embedded use
Related
- Project
- Project
- Project
- Project