Skip to main content

Neo4j vs Cassandra: how CTOs choose between graph queries and write-heavy scale

July 5, 2026By The CTO14 min read
...
insights

Neo4j vs Cassandra: how CTOs choose between graph queries and write-heavy scale

Neo4j vs Cassandra: how CTOs choose between graph queries and write-heavy scale

Neo4j vs Cassandra: how CTOs choose between graph queries and write-heavy scale

In a three-node benchmark setup, Apache Cassandra 4.0 hit about 40k ops per second in a ScyllaDB benchmark report, with throughput targets tied to sub 10 ms latency thresholds in the same doc. That number won’t map cleanly to your workload, but it tells you what Cassandra is trying to be: a high-throughput, predictable-at-scale write and key-read machine.

Neo4j is aiming at a different target. Neo4j’s 2025 platform notes talk about datasets exceeding 100 TB, billions of vectors, and cross cluster replication with near zero RPO and 15 minute RTO in their enterprise offering. Both products scale. They just scale for different shapes of work.

The decision gets easier when you stop asking “which database. Neo4j fails when teams treat it like a log store. Cassandra fails when teams treat it like a join engine.

Neo4j vs Cassandra: what problem each database. The fastest way to reset the conversation is to name the core design goal of each system and work backwards from your query shapes.

Quotable definition: A database choice is a bet on your most common query shape.

What Neo4j is

Neo4j is a property graph database. You store nodes, relationships, and properties, then query patterns with Cypher. Teams pick Neo4j when the business question is a relationship question.

Neo4j’s own 2025 roadmap post highlights a few capabilities that matter for CTOs:

  • Cross cluster replication with near zero RPO and a 15 minute RTO target in their enterprise positioning.
  • Large database tiers in AuraDB, up to 2 TB memory and 5 TB storage on higher tiers.
  • Vector and full text indexes and the ability to combine vector search, traversal, and LLM logic in one Cypher query.
  • ACID transactions across a distributed cluster in their enterprise story.

Neo4j is not “a faster SQL”. Neo4j is what you reach for when multi hop relationship queries are core to the product and you don’t want every feature to turn into a pile of precomputed tables.

A Medium guide on graph databases in 2025 calls out Neo4j’s focus on developer ergonomics and Cypher’s readability, and it lists common selection criteria like query language, analytics, and operational needs.

What Cassandra is

Apache Cassandra is a distributed wide column store. You model data around partitions and access paths. You give up ad hoc queries so you can get predictable performance at scale.

A Cassandra architecture guide describes the usual pitch:

  • Horizontal scaling by adding nodes without downtime.
  • Strong write path for write heavy workloads.
  • Fault tolerance and multi data center patterns.
  • Tunable consistency, with trade offs.

A NoSQL overview from Instaclustr also frames Cassandra as a fit for write heavy workloads and multi data center redundancy.

A YouTube comparison video summarizes Cassandra’s “masterless” cluster design and partition key based distribution. The video is not a spec, but the description matches the mental model most teams use.

Crisp framing

Neo4j answers “who is connected to what, and how”. Cassandra answers “store and fetch this fact fast, everywhere”.

Neo4j vs Cassandra performance and scaling: what changes at 10x traffic

CTOs care about performance, but the bigger issue is performance predictability. A system that hits 20 ms p99 on Tuesday and 800 ms p99 on Friday will chew up your on call rotation.

Cassandra scaling and latency patterns

Cassandra can push high throughput, but the price shows up in modeling and operations.

  • Cassandra 4.0 performance claims got attention after a long gap between major releases. A benchANT analysis tried to validate parts of the performance story for an IoT style workload, and it frames the results as workload specific.
  • A ScyllaDB PDF benchmark report shows Cassandra 4.0 at around 40k per second maximum throughput in their setup, with other tables showing throughput under p90 and p99 latency targets. The same report compares against Cassandra 3.11 and Scylla.

Benchmark numbers don’t settle architecture debates. The real lesson is simpler: Cassandra performance lives and dies on partitioning, compaction, and read patterns. Teams that get the model wrong don’t just lose a little performance, they get tail latency that makes the product feel broken.

A set of Aerospike case studies makes the operational cost point pretty bluntly. The post claims some teams migrated off Cassandra due to latency and tuning pain. One cited example says LexisNexis Risk Solutions reduced servers from 96 to 28 and cut average latency from 120 ms to 30 ms after moving away from Cassandra. Aerospike has a product angle, so read the story as directional, not neutral.

Neo4j scaling and query shape patterns

Neo4j scales best when the graph is the product. Neo4j’s 2025 post claims:

  • Datasets exceeding 100 TB with bulk load and incremental updates.
  • Billions of vectors stored in graph indexes for semantic search.
  • ACID compliance while distributed.

The catch is cost and query discipline. Graph queries can explode in work when a pattern fans out. A single “friends of friends of friends” query can turn into a denial of wallet.

So the performance question turns into a leadership question. Do you have a team that can set query budgets, write good Cypher, and keep the graph model clean?

A comparison table CTOs can use in planning

DimensionNeo4jCassandra
Best atMulti hop relationship queries, pattern matchingHigh write throughput, predictable key based reads
Data modelProperty graph (nodes, relationships, properties)Wide column tables, partition key driven
Query languageCypher, pattern matchingCQL, SQL like feel but no joins
ConsistencyACID story in Neo4j enterprise positioningTunable consistency, trade offs called out in guides
Scaling painFan out queries, memory pressure, costData modeling, compaction, operational tuning
Typical use casesFraud rings, IAM graphs, recommendations, knowledge graphsActivity tracking, IoT telemetry, carts, time series like facts

Neo4j vs Cassandra data modeling: the real cost is team time

Database projects fail in the modeling phase, not the install phase.

Cassandra modeling: design for queries, not entities

Cassandra forces a mindset shift. You don’t model “Customer” and “Order” and then join. You model the access path.

A Cassandra guide calls out “complexity in data modeling” as a core downside, and it also notes that CQL feels familiar to SQL users. That familiarity is a trap. Teams write CQL like SQL, then run into missing joins and the need for denormalized tables.

A ScyllaDB migration glossary says the hardest part of moving to Cassandra is adapting the data model. The same page lists real world migration examples with scale numbers, like Discord migrating “trillions of messages” and Rakuten handling 700M plus items with 250M items processed per day. Those examples show the kind of volume where Cassandra style systems shine.

Leadership angle: Cassandra success needs a strong “data modeling review” habit. A team of 8 backend engineers can ship a broken Cassandra model in two sprints. Fixing the model can take two quarters.

Neo4j modeling: relationships are first class, but discipline matters

Neo4j makes relationship modeling feel natural. Teams can start with a small graph and grow it.

A practical guide to graph databases in 2025 lists selection criteria that matter in Neo4j projects:

  • Data model choice
  • Query language learning curve
  • Analytics and algorithms
  • Operational needs like backups and ACID

The risk is schema drift. Graphs invite “just add another relationship type”. After 18 months, the graph turns into a junk drawer.

Leadership angle: Neo4j needs a product owner for the graph model. That person can sit in data engineering, platform, or security. The role still needs clear ownership.

A real scenario: fraud detection vs clickstream

Fraud detection teams ask questions like:

  • “Show all accounts that share a device and a payment token.”
  • “Find rings that connect through three hops.”

Neo4j fits because the query is the product.

Clickstream and telemetry teams ask questions like:

  • “Write 50k events per second and keep them for 30 days.”
  • “Fetch the last 200 events for user 123.”

Cassandra fits because the write path and partition reads are the product.

When to use Neo4j and Cassandra together (and how to avoid a mess)

A lot of CTOs end up with both. That’s not a failure, it’s polyglot persistence.

Neo4j even published a developer post about transferring data between Neo4j and Cassandra, and it describes a prototype import tool and a product catalog example where Neo4j drives recommendations while another store serves catalog views.

The connector isn’t the hard part. The hard part is deciding which system is the source of truth.

The Graph Edge Pattern (named framework)

I use a simple pattern to keep teams honest.

Graph Edge Pattern: Keep facts in a write heavy store, and project only the edges you need into the graph.

Rules:

  • Keep Cassandra as the system of record for append only facts, like events and state changes.
  • Build a projection job that emits only stable identifiers and relationships into Neo4j.
  • Treat Neo4j as a query engine for relationship questions, not as the full history store.
  • Put a budget on graph updates, like “edges update within 5 minutes”.

The pattern works well for:

  • Recommendations from behavior logs
  • IAM graphs built from audit logs
  • Supply chain graphs built from ERP events

The pattern fails when:

  • Product teams need strong transactional semantics across both stores
  • Teams cannot keep identifiers stable across systems

Migration and dual write reality

If your org already runs Cassandra and wants to add Neo4j, the safest path is a one way projection. Dual writes from the app layer create long lived risk.

If your org wants to migrate off Cassandra, the ScyllaDB migration glossary lays out a common sequence:

  • Create schema in the new store.
  • Run dual writes, read from the old store.
  • Snapshot and bulk load.
  • Verify with dual reads and mismatch logging.

An Instaclustr migration post also describes “big bang” vs “parallel run” approaches and lists practical prep work like soak tests and reconciliation tools.

The same discipline applies to adding Neo4j. Build reconciliation from day one. A graph that drifts from the source facts will break trust fast.

Enterprise implications for CTOs choosing Neo4j vs Cassandra

  1. Talent and on call load change the real cost. Cassandra clusters can run for years, but the tuning and modeling skills are not evenly distributed. Neo4j projects move fast early, then slow down when the graph model becomes political.

  2. Regulated data flows get harder with two stores. A graph that contains identity edges can become sensitive fast. A Cassandra event store can also become a compliance minefield. A case study about migrating an ID platform to Cassandra claims support for 70 plus services and 2 billion users, with compliance goals like GDPR and PCI DSS. The story shows how identity data pushes architecture into governance.

  3. AI features pull graphs into the core path. Neo4j’s 2025 post positions vector search and LLM logic inside Cypher, with “billions of vectors” as a target. AI teams will ask for that. A CTO needs a plan for cost, latency, and data access controls.

  4. Vendor and license risk differs. Cassandra is Apache 2.0 and has a large contributor base in many summaries. Neo4j has open source roots, but many enterprise features live in paid tiers. A CTO should treat the license model as part of the architecture.

CTO recommendations: how to decide and how to execute

Most teams don’t need a perfect answer. Teams need a decision they can defend, plus a plan to change it if reality disagrees.

Immediate Actions

  1. Inventory query shapes. Pull the top 20 queries by traffic and by business value. Put them in your Command Center (/command-center) as a living list tied to services.

  2. Measure p95 and p99 by query class. Track tail latency per endpoint, not just average. Use an Engineering Metrics Dashboard (/tools/engineering-metrics-dashboard) view that pairs latency with deploy frequency.

  3. Run a two week modeling spike. Ask one senior engineer to model the same feature in Cassandra and Neo4j. Force real queries and real data volumes, like 100 million edges or 1 billion events, even if synthetic.

  4. Write an exit plan on day one. Add a one page migration plan to the design doc. Use the dual write and verification steps from the ScyllaDB migration guide as a template.

Policy Framework

  1. Ownership. Assign one owner for the graph model and one owner for the Cassandra data model. Put names in the architecture repo.

  2. Change control. Require an architecture review for new relationship types in Neo4j and new denormalized tables in Cassandra. Use our guide to architecture decision records (ADR) practices (internal link: “how to write architecture decision records that teams follow”).

  3. Data classification. Tag node labels, relationship types, and Cassandra tables with data class. Tie the tags to access control reviews. Use our internal playbook on “data access reviews for engineering leaders”.

Architecture Principles

  1. Query budget. Put a hard cap on graph traversal depth in production queries. Put a hard cap on Cassandra partition size, like “no partition over 100 MB”.

  2. Projection over dual write. Prefer one way projections into Neo4j from Cassandra or from a stream. Dual writes belong in migrations, not as a steady state.

  3. Test with production like skew. Cassandra and Neo4j both fail under skew. A single hot partition or a single super node can ruin p99.

  4. Model reviews as a people process. Run monthly modeling reviews like incident reviews. Use an Incident Postmortem template (/tools/incident-postmortem) when a model choice causes an outage.

A decision matrix CTOs can reuse

Use this matrix in your next architecture review. Score each row 1 to 5.

QuestionIf you score high, pick Neo4jIf you score high, pick Cassandra
Do we need multi hop queries in the core product path?YesNo
Is write volume the main scaling pain?NoYes
Do we need ad hoc relationship exploration by analysts?YesNo
Can we commit to strict access path design up front?NoYes
Do we have graph modeling skills on staff?YesNo
Do we need multi region active active writes?SometimesOften

If the matrix splits, run both with the Graph Edge Pattern.

Bigger picture: world events and why database choices are getting harder

Data residency rules keep tightening. EU and US privacy enforcement keeps raising the cost of “copy the data everywhere”. A graph that links identities across products can become a legal risk as fast as it becomes a growth lever.

Cloud cost pressure also changes the math. Cassandra can look cheap on license and expensive on people. Neo4j can look expensive on license and cheap on time to value. A CTO needs to price both the infra and the org load.

The question is simple. Which team in your org owns the query shapes that matter most, and do they have the power to keep the model clean?

Sources

  1. Cassandra vs MongoDB (2025 Quick Comparison) video
  2. 2025: Year of AI and scalability, Neo4j
  3. Graph Databases and Query Languages in 2025, practical guide
  4. Apache Cassandra architecture, use cases, and setup guide
  5. NoSQL databases types and use cases, Instaclustr education
  6. Easily transfer data between Neo4j and Cassandra
  7. Cassandra data migration definition and steps, ScyllaDB
  8. Cassandra performance case studies, Aerospike
  9. Migrating from a relational database to Apache Cassandra, Instaclustr
  10. Oracle to Cassandra migration case study, ShiftAsia
  11. Apache Cassandra 4.0 performance benchmark PDF, ScyllaDB
  12. Performance analysis of Apache Cassandra 4.0 release, benchANT

Want more insights like this?

Join thousands of CTOs and technical leaders getting weekly insights on leadership and system design.

No spam. Unsubscribe anytime.