Distributed, open source, massively scalable graph database

JanusGraph is optimized for storing and querying graphs containing hundreds of billions of vertices and edges distributed across a multi-machine cluster. It is transactional, supports thousands of concurrent users in real time, and is fully open source under the Apache 2.0 license.

Gremlin Console
$ bin/gremlin.sh
gremlin> graph = JanusGraphFactory.open('conf/janusgraph-inmemory.properties')
==>standardjanusgraph[inmemory:[127.0.0.1]]
gremlin> GraphOfTheGodsFactory.loadWithoutMixedIndex(graph, true)
==>null
gremlin> g = graph.traversal()
==>graphtraversalsource[standardjanusgraph[inmemory:[127.0.0.1]], standard]
gremlin> g.V().has('name', 'hercules').out('father').out('father').values('name')
==>saturn
Traverse the Graph of the Gods in seconds. Basic usage guide
  • 100B+ vertices and edges per graph
  • ACID or eventually consistent transactions
  • Gremlin native Apache TinkerPop™ integration
  • Since 2017 community-driven under the Linux Foundation

Why JanusGraph

Built for graphs at scale

A distributed, transactional graph database that grows with your data and your users, without locking you into a single storage engine.

Scalable

  • Elastic and linear scalability for a growing data and user base
  • Data distribution and replication for performance and fault tolerance
  • Multi-datacenter high availability and hot backups

Transactional

JanusGraph is a transactional database that can support thousands of concurrent users executing complex graph traversals in real time, with support for ACID and eventual consistency.

Analytics

In addition to online transactional processing (OLTP), JanusGraph supports global graph analytics (OLAP) with its Apache Spark integration.

Open source

All functionality is totally free. No need to buy commercial licenses. JanusGraph is fully open source under the Apache 2.0 license and governed by the Linux Foundation.

TinkerPop native

Native integration with the Apache TinkerPop™ graph stack: query with the Gremlin graph traversal language, serve with Gremlin Server and explore with the Gremlin Console.

Pluggable backends

Choose the storage and index backends that fit your infrastructure: Cassandra, HBase, Bigtable, ScyllaDB and more, with optional full-text search via Elasticsearch, Solr or Lucene. Explore the ecosystem.

Ecosystem

Plugs into the stack you already run

JanusGraph separates the graph from the storage. Pick a storage backend, optionally add an index backend, and connect through Apache TinkerPop.

Storage backends

Graph data can be stored in

Index backends

Full-text, geo and numeric range search via

Apache TinkerPop™

Native integration with the graph stack

Third-party adapters

Community-maintained storage adapters

Learn from the community

Presentations

JanusGraph on YouTube
  1. TinkerPop Wide: Q&A with JanusGraph

    Oleksandr Porunov, Boxuan Li & Stephen Mallette

    Watch
  2. JanusGraph Online Meetup 5

    Boxuan Li, Natalia Tisseyre & Oleksandr Porunov

    Watch
  3. JanusGraph Online Meetup 4

    Marc de Lignie, Saurabh Verma & Bruno Berisso

    Watch
  4. JanusGraph Online Meetup 3

    Florian Grieskamp, Bruno Berisso & Ted Wilmes

    Watch
  5. JanusGraph Online Meetup 2

    Ryan Stauffer, Ted Wilmes, Aaron Ploetz, Becky Nelson & Rick Paiste

    Watch
  6. JanusGraph Online Meetup 1

    Chris Hupman, Ryan Stauffer, Jan Jansen, John Mertic & Ted Wilmes

    Watch
  7. Slides
  8. Slides

Production users

Trusted in production

The following organizations have deployed JanusGraph in production.