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
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.
$ 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
Why JanusGraph
A distributed, transactional graph database that grows with your data and your users, without locking you into a single storage engine.
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.
In addition to online transactional processing (OLTP), JanusGraph supports global graph analytics (OLAP) with its Apache Spark integration.
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.
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.
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
JanusGraph separates the graph from the storage. Pick a storage backend, optionally add an index backend, and connect through Apache TinkerPop.
Graph data can be stored in
Full-text, geo and numeric range search via
Native integration with the graph stack
Community-maintained storage adapters
Explore your graph with
Learn from the community
Oleksandr Porunov, Boxuan Li & Stephen Mallette
Boxuan Li, Natalia Tisseyre & Oleksandr Porunov
Marc de Lignie, Saurabh Verma & Bruno Berisso
Florian Grieskamp, Bruno Berisso & Ted Wilmes
Ryan Stauffer, Ted Wilmes, Aaron Ploetz, Becky Nelson & Rick Paiste
Chris Hupman, Ryan Stauffer, Jan Jansen, John Mertic & Ted Wilmes
Jing Chen He & Jason Plurad
Production users
The following organizations have deployed JanusGraph in production.
Community
Get help with installation, configuration and usage, follow the project, or dive into the internals with the people who build it.
Chat with users and maintainers in real time.
Join the serverThe mailing list for troubleshooting help and questions about running JanusGraph.
Browse the listDiscuss internal implementation details or propose a major new feature or subproject.
Browse the listSearch answers or ask a question tagged janusgraph.
Questions about the Gremlin graph traversal language in general.
Visit the groupSource code, issues, releases and contribution guidelines.
Open the repository