StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Application & Data
  3. Databases
  4. Databases
  5. Cassandra vs CockroachDB

Cassandra vs CockroachDB

OverviewDecisionsComparisonAlternatives

Overview

Cassandra
Cassandra
Stacks3.6K
Followers3.5K
Votes507
GitHub Stars9.5K
Forks3.8K
CockroachDB
CockroachDB
Stacks216
Followers341
Votes0

Cassandra vs CockroachDB: What are the differences?

Introduction

Cassandra and CockroachDB are both popular distributed databases that are designed to handle large amounts of data and provide high availability. While they share some similarities, there are several key differences between the two.

  1. Data Model: Cassandra is a NoSQL database that uses a key-value approach, where data is organized into tables with rows and columns. It supports a wide range of data types and allows for flexible schema changes. On the other hand, CockroachDB follows a relational data model, where data is stored in tables with strict schemas and relationships between tables are managed through foreign keys. This allows for more structured and consistent data management.

  2. Consistency Model: Cassandra provides eventual consistency by default, where updates to data can take some time to propagate throughout the system. It supports tunable consistency levels, allowing users to choose between strong consistency and high availability. CockroachDB, on the other hand, provides strong consistency guarantees through its distributed consensus algorithm. It ensures that all replicas of data are consistent at all times, even in the presence of failures.

  3. Transaction Support: Cassandra does not natively support multi-table transactions, and ACID transactions are only supported within a single partition. CockroachDB, on the other hand, provides full support for distributed ACID transactions across multiple tables and partitions. It uses a distributed transactional layer based on the Google Spanner architecture, ensuring data integrity and consistency.

  4. Scaling and Sharding: Cassandra uses a decentralized architecture that allows for linear scalability by adding more nodes to the cluster. It uses consistent hashing to distribute data across nodes based on the partition key. CockroachDB also supports horizontal scalability through automatic sharding of data across nodes. It uses a range partitioning scheme to distribute data, ensuring that data is evenly distributed and can be accessed efficiently.

  5. Fault Tolerance: Cassandra is designed to be highly fault-tolerant, with its decentralized architecture and ability to replicate data across multiple nodes. It uses a gossip protocol for failure detection and automatic replication. CockroachDB also provides high fault tolerance through automatic data replication and distributed consensus. It uses a distributed version of the Raft consensus algorithm to ensure data durability and availability.

  6. Ease of Operations: Cassandra requires manual configuration and management of its cluster, including setting up replication factor, partitioning, and handling node failures. CockroachDB, on the other hand, provides automated operations and self-healing capabilities. It automatically handles tasks such as data rebalancing, node failures, and replication, making it easier to manage and operate.

Summary

In summary, Cassandra and CockroachDB differ in their data models, consistency models, transaction support, scaling and sharding mechanisms, fault tolerance approaches, and ease of operations. These differences make each database suitable for different use cases and provide distinct advantages in terms of data management, scalability, and fault tolerance.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Advice on Cassandra, CockroachDB

Umair
Umair

Technical Architect at ERP Studio

Feb 12, 2021

Needs adviceonPostgreSQLPostgreSQLTimescaleDBTimescaleDBDruidDruid

Developing a solution that collects Telemetry Data from different devices, nearly 1000 devices minimum and maximum 12000. Each device is sending 2 packets in 1 second. This is time-series data, and this data definition and different reports are saved on PostgreSQL. Like Building information, maintenance records, etc. I want to know about the best solution. This data is required for Math and ML to run different algorithms. Also, data is raw without definitions and information stored in PostgreSQL. Initially, I went with TimescaleDB due to PostgreSQL support, but to increase in sites, I started facing many issues with timescale DB in terms of flexibility of storing data.

My major requirement is also the replication of the database for reporting and different purposes. You may also suggest other options other than Druid and Cassandra. But an open source solution is appreciated.

462k views462k
Comments
Vinay
Vinay

Head of Engineering

Sep 19, 2019

Needs advice

The problem I have is - we need to process & change(update/insert) 55M Data every 2 min and this updated data to be available for Rest API for Filtering / Selection. Response time for Rest API should be less than 1 sec.

The most important factors for me are processing and storing time of 2 min. There need to be 2 views of Data One is for Selection & 2. Changed data.

174k views174k
Comments

Detailed Comparison

Cassandra
Cassandra
CockroachDB
CockroachDB

Partitioning means that Cassandra can distribute your data across multiple machines in an application-transparent matter. Cassandra will automatically repartition as machines are added and removed from the cluster. Row store means that like relational databases, Cassandra organizes data by rows and columns. The Cassandra Query Language (CQL) is a close relative of SQL.

CockroachDB is distributed SQL database that can be deployed in serverless, dedicated, or on-prem. Elastic scale, multi-active availability for resilience, and low latency performance.

-
sql; high availability; fast; acid;
Statistics
GitHub Stars
9.5K
GitHub Stars
-
GitHub Forks
3.8K
GitHub Forks
-
Stacks
3.6K
Stacks
216
Followers
3.5K
Followers
341
Votes
507
Votes
0
Pros & Cons
Pros
  • 119
    Distributed
  • 98
    High performance
  • 81
    High availability
  • 74
    Easy scalability
  • 53
    Replication
Cons
  • 3
    Reliability of replication
  • 1
    Size
  • 1
    Updates
No community feedback yet

What are some alternatives to Cassandra, CockroachDB?

MongoDB

MongoDB

MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.

MySQL

MySQL

The MySQL software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software.

PostgreSQL

PostgreSQL

PostgreSQL is an advanced object-relational database management system that supports an extended subset of the SQL standard, including transactions, foreign keys, subqueries, triggers, user-defined types and functions.

Microsoft SQL Server

Microsoft SQL Server

Microsoft® SQL Server is a database management and analysis system for e-commerce, line-of-business, and data warehousing solutions.

SQLite

SQLite

SQLite is an embedded SQL database engine. Unlike most other SQL databases, SQLite does not have a separate server process. SQLite reads and writes directly to ordinary disk files. A complete SQL database with multiple tables, indices, triggers, and views, is contained in a single disk file.

Memcached

Memcached

Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.

MariaDB

MariaDB

Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry. MariaDB is designed as a drop-in replacement of MySQL(R) with more features, new storage engines, fewer bugs, and better performance.

RethinkDB

RethinkDB

RethinkDB is built to store JSON documents, and scale to multiple machines with very little effort. It has a pleasant query language that supports really useful queries like table joins and group by, and is easy to setup and learn.

ArangoDB

ArangoDB

A distributed free and open-source database with a flexible data model for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions.

InfluxDB

InfluxDB

InfluxDB is a scalable datastore for metrics, events, and real-time analytics. It has a built-in HTTP API so you don't have to write any server side code to get up and running. InfluxDB is designed to be scalable, simple to install and manage, and fast to get data in and out.

Related Comparisons

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot

Liquibase
Flyway

Flyway vs Liquibase