Back to all databases

JanusGraph

An open-source distributed property graph database forked from the Titan codebase. Supports pluggable storage backends (Cassandra, HBase, BerkeleyDB) with ACID transactions and native TinkerPop integration.

Overall rank
#35
First released
April 2017
License
Apache-2.0
Built with
Java

Details

Vendor
The Linux Foundation
Type
Property Graph
Category
Established
License
Apache-2.0
Language
Java
Query Languages
Gremlin
Protocols
Gremlin (WebSocket)Gremlin (HTTP)

Feature scores

Community & Business

Active development
Updated within last 3 months
Commercial support
0%
No commercial support
Live community
>75% of issues addressed
Open Source
Open source license
Pricing
Pricing publicly available
Trendiness
50%
No description available

Deployment

Containerization
Docker image available
Work as dedicated instance
Can run as standalone server
Work as embedded
Can embed in application
Testing in-memory version
In-memory mode available

Platform

Operating on Linux
Linux officially supported
Operating on Windows
Windows officially supported
SaaS offering
Cloud service available

Operations

Automatic updates
0%
Manual updates only
Client side caching
0%
No client-side caching
Data versioning support
0%
No versioning
Live backups
Hot backup supported

Distribution

Cluster Re-balancing
0%
No auto-rebalancing
Data Distribution
Data sharding supported
High-Availability
HA mechanisms available
Query Distribution
0%
No distributed queries
Replication support
Replication available

Developer Experience

Data types defined
Composite data types
Logging/Auditing
Event logging supported
Object-Graph Mapper
0%
No object mapper
Reactive programming
0%
No reactive programming
Documentation up-to-date
75%
No description available
Binary protocol
Binary protocol available
CLI
Command-line interface
GUI
0%
No GUI

Data Model

Multi-database
Multi-model database
Graph-native data
Native graph storage
REST API
REST endpoint available
Query Language
Standard query language (Cypher/Gremlin)

Transactions

Granular locking
50%
No description available
Multiple isolation levels
50%
Single isolation level
Read committed transaction
50%
No description available
Transaction support
ACID transactions

Schema & Security

Constraints
Full constraint support
Schema support
Schema definition tools
Secondary indexes
Secondary indexes supported
Server side procedures
0%
No stored procedures
Triggers
50%
No description available
Authentication
Authentication supported
Authorization
Role-based access control
Data encryption
0%
No encryption
Sources 5 references

Protocols Gremlin (WebSocket), Gremlin (HTTP)

JanusGraph Server wraps Gremlin Server; default channelizer is WebSocket, HttpChannelizer or WsAndHttpChannelizer enable HTTP access on the same port 8182.

  • This section will describe how to use the WebSocket configuration, as well as describe how to configure JanusGraph Server to handle HTTP endpoint interactions.
    JanusGraph Server - JanusGraph · reviewed 2026-08-02

License Apache-2.0

Confirms the current value.

  • All functionality is totally free. No need to buy commercial licenses. JanusGraph is fully Open Source under the Apache 2 license.
    JanusGraph · reviewed 2026-08-02

Released 2017-04

Confirms the current value. The project was announced under the Linux Foundation in January 2017 as a fork of Titan, but its first tagged release (0.1.0) shipped in April 2017.

  • Version 0.1.0 (Release Date: April 11, 2017)
    Changelog · reviewed 2026-08-02
  • JanusGraph is a fork of the popular open source project Titan, originally released in 2012 by Aurelius, and subsequently acquired by DataStax.
    JanusGraph connects the past and future of Titan · reviewed 2026-08-02

Language Java

JanusGraph's docs/README describe it only in general terms without stating 'Java' in prose; the project's pom.xml (Maven build, maven-compiler-plugin config) is direct, unambiguous evidence it's a Java codebase.

  • <artifactId>maven-compiler-plugin</artifactId> <version>3.13.0</version> <configuration> <source>${compiler.source}</source> <target>${compiler.target}</target> <compilerArgs> <arg>-Xmaxerrs</arg> <arg>500</arg> <arg>-Xlint:unchecked</arg> </compilerArgs> </configuration> </plugin>
    pom.xml - JanusGraph/janusgraph · reviewed 2026-08-02