# janusgraph/janusgraph

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/janusgraph-janusgraph).**

5,799 stars · 1,209 forks · Java · NOASSERTION

## Links

- GitHub: https://github.com/JanusGraph/janusgraph
- Homepage: https://janusgraph.org
- awesome-repositories: https://awesome-repositories.com/repository/janusgraph-janusgraph.md

## Topics

`bigtable` `cassandra` `elasticsearch` `graph` `graph-database` `graphdb` `gremlin` `hbase` `solr` `tinkerpop`

## Description

JanusGraph is a distributed, elastically scalable graph database designed to store and query highly connected data across a cluster of machines. It supports the property graph data model with ACID consistency and integrates multi-model search capabilities including geo, numeric range, and full-text queries. The database also includes a Graph OLAP engine for running batch analytics and global graph computations on large datasets using the Hadoop framework.

The project distinguishes itself through a masterless cluster architecture that eliminates single points of failure, allowing every node to handle reads and writes without a central coordinator. It provides elastic storage scaling by adding or removing machines without downtime, and features a pluggable backend storage layer that decouples the graph engine from the underlying store. Multi-modal index integration combines graph traversal with external search indexes such as Elasticsearch, Solr, and Lucene, while vertex-centric indexing addresses the super-node problem by indexing edges at the vertex level for fast local lookups.

The system supports real-time traversal of large graphs with horizontally scalable transactional capacity, and includes an elastic cache layer that distributes frequently accessed vertices and edges across cluster memory. It offers interactive graph visualization through built-in web tools and third-party integrations, and provides multi-criteria graph search across geo, numeric range, and full-text dimensions. The documentation covers installation, configuration, and operational guidance for deploying and managing the database across distributed environments.

## Tags

### Data & Databases

- [Graph Databases](https://awesome-repositories.com/f/data-databases/database-management-systems/database-engines/nosql/graph-databases.md) — An open-source graph database that stores and queries highly connected data across a cluster of machines with ACID consistency.
- [Graph Batch Analytics](https://awesome-repositories.com/f/data-databases/data-warehousing/hadoop/graph-batch-analytics.md) — Runs full-graph processing jobs as MapReduce or Spark tasks on a Hadoop cluster for offline computation.
- [Pluggable Storage Backends](https://awesome-repositories.com/f/data-databases/graph-databases/pluggable-storage-backends.md) — Decouples the graph engine from the underlying store so any key-value or document database can serve as the persistence layer.
- [Distributed Real-Time Traversals](https://awesome-repositories.com/f/data-databases/graph-traversal/distributed-real-time-traversals.md) — Answering complex traversal queries on huge graphs in milliseconds with horizontally scalable transactional capacity.
- [High Availability Architectures](https://awesome-repositories.com/f/data-databases/high-availability-architectures.md) — Keeps the graph database accessible without a single point of failure using a masterless architecture. ([source](https://docs.janusgraph.org/))
- [Distributed Graph Caches](https://awesome-repositories.com/f/data-databases/in-memory-caches/distributed-graph-caches.md) — Cache frequently accessed vertices and edges in memory, letting the cache grow automatically as the cluster expands. ([source](https://docs.janusgraph.org/))
- [Elastically Scalable Graph Clusters](https://awesome-repositories.com/f/data-databases/scalable-database-clusters/elastically-scalable-graph-clusters.md) — A graph database that scales storage and transactional capacity horizontally by adding or removing cluster nodes without downtime.
- [Multi-Modal Index Queries](https://awesome-repositories.com/f/data-databases/search-indexing/multi-modal-index-queries.md) — Combines graph traversal with external search indexes (Elasticsearch, Solr, Lucene) for geo, range, and full-text queries.
- [Strong Consistency Guarantees](https://awesome-repositories.com/f/data-databases/strong-consistency-guarantees.md) — Guarantees strictly consistent reads and writes for graph data when backed by a consistent store. ([source](https://docs.janusgraph.org/))
- [Multi-Criteria Graph Searches](https://awesome-repositories.com/f/data-databases/full-text-search/multi-criteria-graph-searches.md) — Queries vertices and edges using geo, numeric range, and full-text search across very large graphs. ([source](https://docs.janusgraph.org/))
- [Multi-Model Property Graph Stores](https://awesome-repositories.com/f/data-databases/graph-data-models/graph-relational-models/relational-property-graph-stores/multi-model-property-graph-stores.md) — A graph database that supports property graph data model with geo, numeric range, and full-text search capabilities.
- [Elastic Cache Layers](https://awesome-repositories.com/f/data-databases/in-memory-caches/distributed-memory-caches/elastic-cache-layers.md) — Distributes frequently accessed vertices and edges across cluster memory, growing the cache automatically as nodes join.
- [Interactive Graph Visualizers](https://awesome-repositories.com/f/data-databases/interactive-graph-visualizers.md) — Renders graph structures as interactive diagrams through a built-in web tool and multiple third-party integrations. ([source](https://cdn.jsdelivr.net/gh/janusgraph/janusgraph@master/README.md))
- [Graph OLAP Engines](https://awesome-repositories.com/f/data-databases/olap-database-engines/graph-olap-engines.md) — An engine that runs batch analytics and global graph computations on large datasets using the Hadoop framework.
- [Graph Analytics](https://awesome-repositories.com/f/data-databases/search-indexing-technologies/search-indexing/search-information-retrieval/search-engine-platforms/search-and-analytics-engines/graph-analytics.md) — Running batch processing jobs over the entire graph using Hadoop for offline analysis and computation. ([source](https://docs.janusgraph.org/))
- [Vertex-Centric Edge Indexes](https://awesome-repositories.com/f/data-databases/vertex-centric-edge-indexes.md) — Resolve the super-node problem by indexing edges at the vertex level for fast local lookups. ([source](https://docs.janusgraph.org/))

### DevOps & Infrastructure

- [Masterless Architectures](https://awesome-repositories.com/f/devops-infrastructure/cluster-architectures/masterless-architectures.md) — Eliminates single points of failure by letting every node handle reads and writes without a central coordinator.
- [Storage Scaling](https://awesome-repositories.com/f/devops-infrastructure/container-cluster-deployments/elastic-scaling-deployments/storage-scaling.md) — Adds or removes machines from the cluster without downtime to adjust storage capacity. ([source](https://docs.janusgraph.org/))

### Graphics & Multimedia

- [Graph Vertex-Centric Indexes](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/graphics-pipeline-configurations/vertex-buffer-generators/vertex-indexing-generation/graph-vertex-centric-indexes.md) — Indexes edges per vertex instead of globally, enabling fast local traversals even when a vertex has millions of incident edges.

### Software Engineering & Architecture

- [Consistent Hashing](https://awesome-repositories.com/f/software-engineering-architecture/consistent-hashing.md) — Splits the graph across machines using consistent hashing, minimising data movement when the cluster scales.
- [Graph Storage Clusters](https://awesome-repositories.com/f/software-engineering-architecture/distributed-systems/distributed-data-management/distributed-storage-clusters/graph-storage-clusters.md) — Distributes vertices and edges across multiple machines so the graph grows with the cluster size. ([source](https://docs.janusgraph.org/))
- [Transactional Graph Engines](https://awesome-repositories.com/f/software-engineering-architecture/recursive-validation-engines/recursive-tree-traversers/dependency-tree-traversers/path-based-tree-traversers/graph-traversal-engines/transactional-graph-engines.md) — Guarantees ACID semantics on single-graph operations and eventual consistency for multi-machine traversals.

### Part of an Awesome List

- [Backend and Infrastructure](https://awesome-repositories.com/f/awesome-lists/devtools/backend-and-infrastructure.md) — Distributed graph database for large datasets.
