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 FoundationDB

Cassandra vs FoundationDB

OverviewDecisionsComparisonAlternatives

Overview

Cassandra
Cassandra
Stacks3.6K
Followers3.5K
Votes507
GitHub Stars9.5K
Forks3.8K
FoundationDB
FoundationDB
Stacks34
Followers79
Votes21

Cassandra vs FoundationDB: What are the differences?

Key Differences between Cassandra and FoundationDB

Cassandra and FoundationDB are both highly scalable distributed databases that offer different features and functionalities. Here are the key differences between them:

  1. Data Model: Cassandra is a wide-column store database that follows a key-value data model. It is based on the key-value store concept, where each row has a primary key and multiple columns with values. On the other hand, FoundationDB is a key-value store database that follows a document data model. It supports advanced data structures like JSON or nested documents, allowing for more complex data representation and querying.

  2. Consistency Model: Cassandra follows a tunable consistency model known as eventual consistency. It prioritizes high availability and partition tolerance over strong consistency, allowing for fast and scalable operations. FoundationDB, on the other hand, follows a strongly consistent model by default. It ensures that all clients see the same data at the same time, providing strong guarantees for correctness and integrity.

  3. Scalability: Both Cassandra and FoundationDB are designed to scale horizontally. However, Cassandra provides a more seamless and auto-sharding approach to handle large datasets and high traffic loads. It employs a shared-nothing architecture with peer-to-peer replication, allowing for easy addition and removal of nodes. FoundationDB also supports horizontal scalability, but it requires explicit partitioning of data to distribute it across multiple nodes.

  4. Conflict Resolution: In the case of concurrent updates or conflicts, Cassandra uses a last-write-wins conflict resolution strategy. The most recent write will overwrite the previous values. On the other hand, FoundationDB uses multi-version concurrency control (MVCC) to handle conflicts. It keeps track of different versions of a value and enables clients to resolve conflicts based on their specific requirements.

  5. Transactions: Cassandra has limited support for transactions that only span a single partition. It does not provide support for distributed ACID transactions. In contrast, FoundationDB provides full support for distributed ACID transactions, allowing multiple operations across different keys or key ranges to be executed atomically.

  6. Query Language: Cassandra uses Cassandra Query Language (CQL), which is a SQL-like language with some extensions specific to Cassandra's data model. It allows for basic CRUD operations, as well as filtering and aggregation. FoundationDB does not have a specific query language but provides client libraries and APIs that allow developers to build their own query interface using their preferred programming language.

In summary, Cassandra is a wide-column store with eventual consistency, while FoundationDB is a key-value store with strong consistency. Cassandra prioritizes scalability and high availability, while FoundationDB focuses on strong consistency and ACID transactions. The choice between the two depends on the specific requirements of the application, data model complexity, and the need for transactional guarantees.

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, FoundationDB

Micha
Micha

CEO & Co-Founder at Dechea

May 27, 2022

Decided

Fauna is a serverless database where you store data as JSON. Also, you have build in a HTTP GraphQL interface with a full authentication & authorization layer. That means you can skip your Backend and call it directly from the Frontend. With the power, that you can write data transformation function within Fauna with her own language called FQL, we're getting a blazing fast application.

Also, Fauna takes care about scaling and backups (All data are sharded on three different locations on the globe). That means we can fully focus on writing business logic and don't have to worry anymore about infrastructure.

93k views93k
Comments
Krishna Chaitanya
Krishna Chaitanya

Head of Technology at Adonmo

Jun 27, 2021

Review

For such a more realtime-focused, data-centered application like an exchange, it's not the frontend or backend that matter much. In fact for that, they can do away with any of the popular frameworks like React/Vue/Angular for the frontend and Go/Python for the backend. For example uniswap's frontend (although much simpler than binance) is built in React. The main interesting part here would be how they are able to handle updating data so quickly. In my opinion, they might be heavily reliant on realtime processing systems like Kafka+Kafka Streams, Apache Flink or Apache Spark Stream or similar. For more processing heavy but not so real-time processing, they might be relying on OLAP and/or warehousing tools like Cassandra/Redshift. They could have also optimized few high frequent queries using NoSQL stores like mongodb (for persistance) and in-memory cache like Redis (for further perfomance boost to get millisecond latencies).

53.8k views53.8k
Comments
Karan
Karan

Senior Software Developer at Shyplite

Jan 13, 2022

Decided

So, we started using foundationDB for an OLAP system although the inbuilt tools for some core things like aggregation and filtering were negligible, with the high through put of the DB, we were able to handle it on the application. The system has been running pretty well for the past 6 months, although the data load isn’t very high yet, the performance is fairly promising

40.9k views40.9k
Comments

Detailed Comparison

Cassandra
Cassandra
FoundationDB
FoundationDB

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.

FoundationDB is a NoSQL database with a shared nothing architecture. Designed around a "core" ordered key-value database, additional features and data models are supplied in layers. The key-value database, as well as all layers, supports full, cross-key and cross-server ACID transactions.

-
Multiple data models;Full, multi-key ACID transactions;No locking;Bindings available in Python, Ruby, Node, PHP, Java, Go, and C
Statistics
GitHub Stars
9.5K
GitHub Stars
-
GitHub Forks
3.8K
GitHub Forks
-
Stacks
3.6K
Stacks
34
Followers
3.5K
Followers
79
Votes
507
Votes
21
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
Pros
  • 6
    ACID transactions
  • 5
    Linear scalability
  • 3
    Multi-model database
  • 3
    Great Foundation
  • 3
    Key-Value Store

What are some alternatives to Cassandra, FoundationDB?

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