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

Amazon Aurora

798
733
+ 1
55
Cassandra

3.5K
3.5K
+ 1
507
Add tool

Amazon RDS for Aurora vs Cassandra: What are the differences?

Introduction:

In this comparison, we will highlight the key differences between Amazon RDS for Aurora and Cassandra. Both databases are used for different purposes and have distinct features that set them apart. Below are the unique characteristics of each database.

1. Performance and Scalability:

Amazon RDS for Aurora is a relational database engine built for the cloud that offers high performance and scalability. It is designed to handle heavy workloads efficiently, utilizing a distributed architecture that allows for automatic scaling of storage and compute resources. On the other hand, Cassandra is a highly scalable and distributed NoSQL database optimized for write-heavy workloads, making it ideal for applications requiring high throughput and low latency.

2. Data Model:

Amazon RDS for Aurora supports the traditional relational data model and offers compatibility with MySQL and PostgreSQL. It provides ACID-compliant transactions and supports advanced SQL features. Cassandra, on the other hand, follows a distributed key-value data model, where data is organized into tables with a flexible schema. It does not support joins or ACID transactions but offers tunable consistency levels and automatic partitioning.

3. Architecture:

Amazon RDS for Aurora uses a cluster of replicated storage volumes for data durability and high availability. It employs a master-slave replication model with automated failover capabilities. Cassandra, on the other hand, employs a decentralized architecture where data is distributed across a cluster of nodes. It uses a peer-to-peer replication model with no single point of failure, providing high availability and fault tolerance.

4. Data Replication:

In Amazon RDS for Aurora, data replication is handled automatically through multiple redundant copies of data across different availability zones. It provides quick and automated failover to the standby replicas in the event of a failure. Cassandra, on the other hand, uses a peer-to-peer replication mechanism utilizing consistent hashing. It allows for custom replication strategies and replication factor, giving more control over data replication.

5. Consistency Model:

Amazon RDS for Aurora provides strong consistency with support for ACID transactions. It ensures that all reads see the most recent committed data. Cassandra, on the other hand, provides tunable consistency allowing developers to choose between strong consistency, eventual consistency, or a combination of both. This flexibility allows for optimizations in terms of latency and availability.

6. Query Language:

Amazon RDS for Aurora supports the SQL query language, making it easier for developers with existing SQL knowledge to work with. It can leverage the power of advanced SQL features like joins, subqueries, and complex aggregations. In contrast, Cassandra uses the CQL (Cassandra Query Language) which is similar to SQL but differs in some aspects. It does not support joins or complex aggregations, focusing more on simple key-value lookups and denormalized data models.

In Summary, Amazon RDS for Aurora is a high-performance relational database engine with ACID compliance and SQL support, while Cassandra is a highly scalable NoSQL database optimized for write-heavy workloads with a distributed key-value data model and tunable consistency.

Advice on Amazon Aurora 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 · 148K 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 Amazon Aurora
Pros of Cassandra
  • 14
    MySQL compatibility
  • 12
    Better performance
  • 10
    Easy read scalability
  • 9
    Speed
  • 7
    Low latency read replica
  • 2
    High IOPS cost
  • 1
    Good cost performance
  • 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 Amazon Aurora
Cons of Cassandra
  • 2
    Vendor locking
  • 1
    Rigid schema
  • 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 Amazon Aurora?

Amazon Aurora is a MySQL-compatible, relational database engine that combines the speed and availability of high-end commercial databases with the simplicity and cost-effectiveness of open source databases. Amazon Aurora provides up to five times better performance than MySQL at a price point one tenth that of a commercial database while delivering similar performance and availability.

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 Amazon Aurora?
What companies use Cassandra?
See which teams inside your own company are using Amazon Aurora 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 Amazon Aurora?
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 Amazon Aurora and Cassandra?
Amazon RDS
Amazon RDS gives you access to the capabilities of a familiar MySQL, Oracle or Microsoft SQL Server database engine. This means that the code, applications, and tools you already use today with your existing databases can be used with Amazon RDS. Amazon RDS automatically patches the database software and backs up your database, storing the backups for a user-defined retention period and enabling point-in-time recovery. You benefit from the flexibility of being able to scale the compute resources or storage capacity associated with your Database Instance (DB Instance) via a single API call.
Google Cloud SQL
Run the same relational databases you know with their rich extension collections, configuration flags and developer ecosystem, but without the hassle of self management.
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.
Cloud DB for Mysql
It is a fully managed cloud cache service that enables you to easily configure a MySQL database with a few settings and clicks and operate it reliably with NAVER's optimization settings, and that automatically recovers from failures.
PlanetScaleDB
It is a fully managed cloud native database-as-a-service built on Vitess and Kubernetes. A MySQL compatible highly scalable database. Effortlessly deploy, manage, and monitor your databases in multiple regions and across cloud providers.
See all alternatives