Gaffer
discontinuedby GCHQ · since 2015
GCHQ's open-source graph framework on Accumulo with in-database property aggregation; archived 2025.
discontinued. GCHQ archived the project in June 2025 and no longer maintains it; last release 2.3.2 (February 2025).
Overview
Gaffer is a Java framework from the UK's GCHQ for storing very large graphs of entities and edges on top of Apache Accumulo (or an in-memory map store for testing). Its distinctive idea is aggregation inside the store: properties such as counts, histograms or HyperLogLog sketches are merged automatically as data arrives, and queries can summarise, filter and transform them at read time under fine-grained visibility labels. Queries are chains of typed operations sent as JSON over a REST API, with Spark export and a Gremlin layer (GafferPop) in the 2.x line. GCHQ released 2.3.2 in February 2025 and archived the repository in June 2025, so there will be no further fixes. Existing users should plan a move to JanusGraph, NebulaGraph or a custom Accumulo design.
Strengths & trade-offs
Strengths
- +Automatic in-store aggregation of counts, histograms and sketches on nodes and edges
- +Cell-level visibility controls inherited from Accumulo
- +Continuous ingest at high rates plus MapReduce or Spark bulk loading
- +Query-time summarisation and filtering without moving raw data
- +Rule-based age-off of old data
Trade-offs
- −Archived by GCHQ in 2025: no security fixes or releases
- −Requires running and tuning an Accumulo, Hadoop and ZooKeeper stack
- −Operation-chain query model is verbose compared with Cypher or GQL
- −Schema must be defined up front, including aggregation functions
Great for
- +Maintaining existing Gaffer deployments
- +Studying aggregation-on-write graph designs
- +Large entity/relationship graphs with summarised statistics
Think twice for
- −New projects
- −Teams without Hadoop/Accumulo operations experience
- −Transactional graph updates
Capabilities
Native or official first-party support · 5 of 25 tracked
Scale & consistency
- Comfortable data size
- Large · ≤ 1 PB
- Horizontal scaling
- Native
- Multi-region
- No
- Transactions
- None
- Consistency
- Eventual
- Schema
- Strict
- Architecture
- Distributed
- Query languages
- Gaffer Operations (JSON), Gremlin (GafferPop)
Scales with the underlying Accumulo cluster; designed for continuous high-rate ingest plus MapReduce or Spark bulk loads.
Deployment
Ecosystem
Alternatives to Gaffer
Open-source distributed graph database layered on Cassandra, HBase, ScyllaDB or Bigtable.
gaffer vs janusgraph →Shared-nothing distributed graph database for trillion-edge graphs, with GQL in Enterprise v5.
gaffer vs nebulagraph →Apache graph database from Baidu with Gremlin and Cypher, pluggable backends and a distributed store.
gaffer vs apache-hugegraph →Sorted, distributed key-value store on HDFS with cell-level security labels.
gaffer vs apache-accumulo →Distributed MPP graph database built for deep-link analytics on very large graphs.
gaffer vs tigergraph →Apache TinkerPop's reference server for running Gremlin traversals over any compatible graph.
gaffer vs apache-tinkerpop-gremlin-server →Gaffer FAQ
What is Gaffer?
Gaffer is a graph database by GCHQ, first released in 2015. Gaffer is a Java framework from the UK's GCHQ for storing very large graphs of entities and edges on top of Apache Accumulo (or an in-memory map store for testing). Its distinctive idea is aggregation inside the store: properties such as counts, histograms or HyperLogLog sketches are merged automatically as data arrives, and queries can summarise, filter and transform them at read time under fine-grained visibility labels. Queries are chains of typed operations sent as JSON over a REST API, with Spark export and a Gremlin layer (GafferPop) in the 2.x line. GCHQ released 2.3.2 in February 2025 and archived the repository in June 2025, so there will be no further fixes. Existing users should plan a move to JanusGraph, NebulaGraph or a custom Accumulo design.
Is Gaffer open source?
Yes. Gaffer is open source. License: Apache License 2.0.
Does Gaffer support ACID transactions?
No. Gaffer does not provide ACID transactions; its consistency model is eventual.
Does Gaffer scale horizontally?
Gaffer scales horizontally out of the box, with built-in sharding or partitioning. It is comfortable at large scale (≤ 1 PB).
How can I run Gaffer?
You can self-host it.
What is Gaffer best for?
Gaffer is a strong fit for maintaining existing Gaffer deployments, studying aggregation-on-write graph designs and large entity/relationship graphs with summarised statistics. Think twice for new projects.
What are the best alternatives to Gaffer?
Common alternatives to Gaffer include JanusGraph, NebulaGraph, Apache HugeGraph, Apache Accumulo and TigerGraph. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.
Is Gaffer still maintained?
Gaffer is discontinued. GCHQ archived the project in June 2025 and no longer maintains it; last release 2.3.2 (February 2025).
How popular is Gaffer?
Gaffer ranks #528 of 844 databases on the WhichDB Score (1.6/100), and #36 among graph databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.