YouTrackDB is a general-use object-oriented graph database
Summary
JetBrains has open-sourced YouTrackDB, a general-use object-oriented graph database with features like O(1) link traversal, snapshot isolation, TinkerPop/Gremlin support, and a custom SQL-based query language YQL. It is used internally in production and is available under Apache 2.0.
View Cached Full Text
Cached at: 07/14/26, 07:14 AM
JetBrains/youtrackdb
Source: https://github.com/JetBrains/youtrackdb
YouTrackDB
Issue tracker | Getting started
Join our Zulip community!
If you are interested in YouTrackDB, consider joining our Zulip community. Tell us about exciting applications you are building, ask for help, or just chat with friends 😃
What is YouTrackDB?
YouTrackDB is a general use object-oriented graph database. YouTrackDB is being supported and developed by JetBrains and is used internally in production.
YouTrackDB’s key features are:
- Fast data processing: Links traversal is processed with O(1) complexity. There are no expensive run-time JOINs.
- Object-oriented API: This API implements rich graph and object-oriented data models. Fundamental concepts of inheritance and polymorphism are implemented on the database level.
- Snapshot isolation by default: All transactions run under snapshot isolation. Each transaction sees a stable snapshot of the database as of its start time, eliminating dirty reads, non-repeatable reads, and phantom reads.
- Implementation of TinkerPop API and Gremlin query language:
You can use both Gremlin query language for your queries and TinkerPop API out of the box.
Support of
GQLwith seamless integration withGremlinis in progress. For maximum query performance, we suggest using YQL for initial data prefetching. - YQL (YouTrackDB Query Language): A SQL-based query language with extensions for graph functionality. YQL uses intuitive dot notation for link traversal instead of JOINs, supports the powerful MATCH statement for graph pattern matching, and includes automatic index usage for query optimization.
- Scalable development workflow: YouTrackDB works in schema-less, schema-mixed, and schema-full modes.
- Strong security: A strong security profiling system based on user, role, and predicate security policies.
- Encryption of data at rest: Optionally encrypts all data stored on disk.
Easy to install and use
YouTrackDB can run on any platform without configuration and installation.
If you want to experiment with YouTrackDB, please check out our REPL console.
docker run -it youtrackdb/youtrackdb-console
To install YouTrackDB as an embedded database, add the following dependency to your Maven project:
<dependency>
<groupId>io.youtrackdb</groupId>
<artifactId>youtrackdb-embedded</artifactId>
<version>0.5.0-SNAPSHOT</version>
</dependency>
The youtrackdb-embedded artifact is a shaded uber-jar that relocates all third-party
dependencies (Guava, Jackson, Groovy, etc.) under com.jetbrains.youtrackdb.shade,
so they won’t conflict with versions used by your application.
You also need to add a YTDB snapshot repository to your Maven pom.xml file:
<repositories>
<repository>
<name>Central Portal Snapshots</name>
<id>central-portal-snapshots</id>
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
or in case of Gradle:
dependencies {
implementation 'io.youtrackdb:youtrackdb-embedded:0.5.0-SNAPSHOT'
}
and
repositories {
maven {
url = uri("https://central.sonatype.com/repository/maven-snapshots/")
mavenContent {
snapshotsOnly()
}
}
}
If you want to work with YouTrackDB server, you can start it using the Docker image:
docker run -p 8182:8182 \
-v $(pwd)/secrets:/opt/ytdb-server/secrets \
-v $(pwd)/databases:/opt/ytdb-server/databases \
-v $(pwd)/conf:/opt/ytdb-server/conf \
-v $(pwd)/log:/opt/ytdb-server/log \
youtrackdb/youtrackdb-server
and provide root password for the database in the secrets/root_password file.
YouTrackDB requires at least JDK 21.
To learn how to use YouTrackDB, see the Getting Started guide.
For more examples covering both server and embedded deployments, check out the examples project.
Contributing
YouTrackDB runs every non-trivial change through a structured development workflow: research, design, plan review, track-by-track implementation, and review. New contributors can learn to run it end to end in the development workflow book, starting at Chapter 1 — The workflow at a glance.
Similar Articles
Fluree DB (GitHub Repo)
Fluree DB is an open-source, temporal graph database with git-like branching, integrated vector/text/geo search, fine-grained access control, and support for SPARQL, JSON-LD, and Open Cypher. It is optimized for AI agent memory and achieves high performance on billion-scale graphs.
tursodatabase/turso
Turso Database is an in-process SQL database written in Rust, compatible with SQLite, featuring MVCC, change data capture, vector support, and multi-language bindings.
A type-safe, realtime collaborative Graph Database in a CRDT
Codemix open-sources @codemix/graph, a type-safe, CRDT-backed graph database with TypeScript-native schema validation and realtime offline-first sync via Yjs.
Tracea
Tracea is a new product offering Datadog-like observability for AI agents, providing features such as tracing, root cause analysis, and team memory.
Show HN: HelixDB – A graph database built on object storage
HelixDB is a graph-vector database built in Rust for knowledge graphs and AI memory, offering a unified platform that supports graph, vector, KV, document, and relational data models, with tools for easy local and cloud deployment.