Need advice about which tool to choose?Ask the StackShare community!

Azure Cosmos DB

575
1K
+ 1
130
Cassandra

3.5K
3.5K
+ 1
507
Add tool

Azure Cosmos DB vs Cassandra: What are the differences?

Azure Cosmos DB and Apache Cassandra are both popular NoSQL databases that are widely used for building scalable and highly available applications. Let's explore the key differences between them.

  1. Consistency models: Azure Cosmos DB provides five well-defined consistency models, including strong, bounded staleness, session, consistent prefix, and eventual consistency. In contrast, Cassandra offers tunable consistency, where users can customize the level of consistency for each read and write operation.

  2. Data distribution: Azure Cosmos DB uses a partitioning scheme called "container" to distribute data across multiple physical partitions automatically. This enables automatic load balancing and horizontal scalability. On the other hand, Cassandra has a decentralized architecture where data is partitioned and distributed across multiple nodes using a consistent hashing algorithm.

  3. Multi-model capabilities: Azure Cosmos DB is a multi-model database that supports document, key-value, graph, and columnar data models, allowing developers to choose the best model for their application needs. Cassandra, on the other hand, primarily supports the columnar model, although some support for other models can be achieved through customizations and extensions.

  4. Scalability and performance: Azure Cosmos DB offers elastic scalability with automatic partitioning and load balancing, enabling applications to scale seamlessly as the workload grows. It is also designed to deliver low-latency performance even at global scale. Cassandra provides linear scalability by adding more nodes to the cluster. However, scaling Cassandra requires manual configuration and management.

  5. Global distribution: Azure Cosmos DB provides built-in support for global distribution, allowing data to be stored and accessed from multiple regions around the world with low latency. Cassandra, on the other hand, requires manual configuration and replication to achieve global distribution, making it more complex and time-consuming.

  6. Backup and recovery: Azure Cosmos DB offers built-in backup and restore capabilities, allowing users to easily recover their data in case of a disaster or accidental data loss. Cassandra requires users to set up their own backup and recovery mechanisms, which can be more complex and time-consuming.

In summary, Azure Cosmos DB, a fully managed cloud-native database service, provides global distribution, multi-model support, and comprehensive SLAs, making it suitable for building globally distributed applications with low-latency access. Cassandra, an open-source distributed database, offers high availability, fault tolerance, and tunable consistency levels, providing flexibility in deployment and customization options for large-scale distributed systems.

Advice on Azure Cosmos DB and Cassandra
Vinay Mehta
Needs advice
on
CassandraCassandra
and
ScyllaDBScyllaDB

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.

See more
Replies (4)
Recommends
on
ScyllaDBScyllaDB

Scylla can handle 1M/s events with a simple data model quite easily. The api to query is CQL, we have REST api but that's for control/monitoring

See more
Alex Peake
Recommends
on
CassandraCassandra

Cassandra is quite capable of the task, in a highly available way, given appropriate scaling of the system. Remember that updates are only inserts, and that efficient retrieval is only by key (which can be a complex key). Talking of keys, make sure that the keys are well distributed.

See more
Recommends
on
ScyllaDBScyllaDB

By 55M do you mean 55 million entity changes per 2 minutes? It is relatively high, means almost 460k per second. If I had to choose between Scylla or Cassandra, I would opt for Scylla as it is promising better performance for simple operations. However, maybe it would be worth to consider yet another alternative technology. Take into consideration required consistency, reliability and high availability and you may realize that there are more suitable once. Rest API should not be the main driver, because you can always develop the API yourself, if not supported by given technology.

See more
Pankaj Soni
Chief Technical Officer at Software Joint · | 2 upvotes · 145.2K views
Recommends
on
CassandraCassandra

i love syclla for pet projects however it's license which is based on server model is an issue. thus i recommend cassandra

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Azure Cosmos DB
Pros of Cassandra
  • 28
    Best-of-breed NoSQL features
  • 22
    High scalability
  • 15
    Globally distributed
  • 14
    Automatic indexing over flexible json data model
  • 10
    Tunable consistency
  • 10
    Always on with 99.99% availability sla
  • 7
    Javascript language integrated transactions and queries
  • 6
    Predictable performance
  • 5
    High performance
  • 5
    Analytics Store
  • 2
    Rapid Development
  • 2
    No Sql
  • 2
    Auto Indexing
  • 2
    Ease of use
  • 119
    Distributed
  • 98
    High performance
  • 81
    High availability
  • 74
    Easy scalability
  • 53
    Replication
  • 26
    Reliable
  • 26
    Multi datacenter deployments
  • 10
    Schema optional
  • 9
    OLTP
  • 8
    Open source
  • 2
    Workload separation (via MDC)
  • 1
    Fast

Sign up to add or upvote prosMake informed product decisions

Cons of Azure Cosmos DB
Cons of Cassandra
  • 18
    Pricing
  • 4
    Poor No SQL query support
  • 3
    Reliability of replication
  • 1
    Size
  • 1
    Updates

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

What is Azure Cosmos DB?

Azure DocumentDB is a fully managed NoSQL database service built for fast and predictable performance, high availability, elastic scaling, global distribution, and ease of development.

What is Cassandra?

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.

Need advice about which tool to choose?Ask the StackShare community!

What companies use Azure Cosmos DB?
What companies use Cassandra?
See which teams inside your own company are using Azure Cosmos DB or Cassandra.
Sign up for StackShare EnterpriseLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Azure Cosmos DB?
What tools integrate with Cassandra?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

What are some alternatives to Azure Cosmos DB and Cassandra?
Azure SQL Database
It is the intelligent, scalable, cloud database service that provides the broadest SQL Server engine compatibility and up to a 212% return on investment. It is a database service that can quickly and efficiently scale to meet demand, is automatically highly available, and supports a variety of third party software.
MongoDB Atlas
MongoDB Atlas is a global cloud database service built and run by the team behind MongoDB. Enjoy the flexibility and scalability of a document database, with the ease and automation of a fully managed service on your preferred cloud.
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.
Neo4j
Neo4j stores data in nodes connected by directed, typed relationships with properties on both, also known as a Property Graph. It is a high performance graph store with all the features expected of a mature and robust database, like a friendly query language and ACID transactions.
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.
See all alternatives