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.
See the codeIssue tracker | Getting started | Documentation | Daily LDBC benchmarks
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 😃
YouTrackDB is a general-purpose object-oriented graph database that supports both embedded and client-server deployment models. YouTrackDB is being supported and developed by JetBrains and is used internally in production.
YouTrackDB's key features are:
GQL with seamless integration with Gremlin is in progress.
For maximum query performance, we suggest using YQL for initial
data prefetching.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.
To understand how the query engine itself works, read Inside the YouTrackDB Query Engine, a deep-dive book explaining how YouTrackDB compiles and runs MATCH/YQL queries — from SQL text through the parser, pattern graph, cost-based planner, execution steps, and traversers — starting at Chapter 1 — Why a Graph Database Has Its Own Query Engine.
We develop YouTrackDB with the pi coding agent and strongly recommend you use it too. Our ytdb-slate extension ships Slate, a new agentic orchestration architecture from a Random Labs technical report. An orchestrator plans while worker threads execute, under mandatory design and adversarial reviews before implementation. It is pinned in our pi settings, so a clone uses the version we do. Our own coding, test, and verification policy layers on top — see docs-internal.
(top 30 of 146)
Java
96.8%
Python
2.5%
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.
See the codeIssue tracker | Getting started | Documentation | Daily LDBC benchmarks
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 😃
YouTrackDB is a general-purpose object-oriented graph database that supports both embedded and client-server deployment models. YouTrackDB is being supported and developed by JetBrains and is used internally in production.
YouTrackDB's key features are:
GQL with seamless integration with Gremlin is in progress.
For maximum query performance, we suggest using YQL for initial
data prefetching.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.
To understand how the query engine itself works, read Inside the YouTrackDB Query Engine, a deep-dive book explaining how YouTrackDB compiles and runs MATCH/YQL queries — from SQL text through the parser, pattern graph, cost-based planner, execution steps, and traversers — starting at Chapter 1 — Why a Graph Database Has Its Own Query Engine.
We develop YouTrackDB with the pi coding agent and strongly recommend you use it too. Our ytdb-slate extension ships Slate, a new agentic orchestration architecture from a Random Labs technical report. An orchestrator plans while worker threads execute, under mandatory design and adversarial reviews before implementation. It is pinned in our pi settings, so a clone uses the version we do. Our own coding, test, and verification policy layers on top — see docs-internal.
(top 30 of 146)
Java
96.8%
Python
2.5%