Why Should you Care About Amazon Keyspaces (Managed Apache Cassandra Service)?

Managed Cassandra
Voiced by Amazon Polly

**Updated 24th April 2020 when Amazon Managed Apache Cassandra Service went GA as Amazon Keyspaces**

Last week at re:Invent 2019, AWS CEO Andy Jassy announced the launch of the preview for the new Amazon Managed Apache Cassandra service (launched in GA as Amazon Keyspaces).  But what exactly is it, and why should you care?

Apache Cassandra is a free, datacenter scale No SQL database, originally designed by Facebook engineers to power the Facebook Inbox Search feature, and then later open sourced by Facebook.  Apache Cassandra is designed to manage huge datasets across commodity server clusters, providing high availability with no single points of failure.  Asynchronous replication between datacenters ensures low latency performance and the ability to lose an entire datacenter without loss of data.

According to DB-Engines ranking, Cassandra is the 10th most popular database, and the most popular wide column format database.

Cassandra

5 Key Challenges running Cassandra…

Despite the popularity of Cassandra, it is notoriously difficult to set up and manage.  Some common challenges that Cassandra developers and administrators encounter include:

Read Time Degradation – when data is deleted from Cassandra, it is not immediately deleted from disk – instead it is replaced with a ‘Tombstone’ – a marker to show that the data has been deleted.  The default duration for a tombstone is 10 days, but in certain circumstances they may not be deleted at all.  Tombstones can affect read performance in a database that is filling up rapidly.

Slow nodes can bring down the cluster – slow nodes can be caused by slow network connectivity, saturated hardware or a mismatch between the data stream and the schema.

Failed operations –  chunks of data can get ‘stuck’ due to latency issues which can be caused by hardware being unable to handle the volume of triggers – either due to the hardware being under specified or the software relaying incorrect triggers.

High Frequency of read round trips – due to the design of Cassandra it is common for transactions to occur which make too many requests per end user.  These transactions attempt to read too much data from the database which can slow the transaction down.

Planning for peak capacity – if your database workloads experience busy peaks, then the cluster capacity needs to be scaled to handle those peaks – this can be a tricky capacity planning exercise, particularly with a rapidly growing database.

aws

Enter Amazon Keyspaces…

If you are an Apache Cassandra user and the above issues sound familiar, then you should take a serious look at the new Amazon Keyspaces – Managed Cassandra as a Service.  Keyspaces  enables AWS customers to operate Cassandra at scale.

Amazon Keyspaces is noe Generally Available in the following regions:

  • US East (N. Virginia)
  • US East (Ohio)
  • US West (Oregon)
  • US West (N. California)
  • Europe (Frankfurt)
  • Europe (Ireland)
  • Europe (London)
  • Europe (Paris)
  • Europe (Stockholm)
  • Asia Pacific (Hong Kong)
  • Asia Pacific (Mumbai)
  • Asia Pacific (Seoul)
  • Asia Pacific (Singapore)
  • Asia Pacific (Sydney)
  • Asia Pacific (Tokyo)
  • Canada (Central)
  • Middle East (Bahrain)
  • South America (Sao Paulo)

The benefits of Amazon Keyspaces include:

  • Apache Cassandra-compatible (release 3.11) – The Amazon Keyspaces service implements the Cassandra Cassandra Query Language API, so existing Cassandra users simply need to update their application endpoint to start using the Keyspaces service.  Customers can use the same Cassandra drivers and tools for easy migration.
  • Serverless – no clusters to manage – you will no longer need to provision, patch or manage servers as your database grows – you can focus on building your application.  And as with most AWS services, you pay only for the resources you use, so you you don’t need to worry about capacity planning or peaks and troughs in workloads.  You can simply log on to the service and create a key store and tables without worrying about infrastructure.
  • Single digit millisecond performance at any scale – Keyspaces customers can build applications that have access to virtually limitless throughput and storage that can handle thousands of requests per second.
  • Integrated with IAM with Amazon Cloudwatch, Amazon VPC and AWS Key Management – making Amazon Keyspaces secure, yet easy to integrate and manage.
Exclamation point sign in red triangle. Vector icon

But beware the Key functional Differences…

Despite the Keyspaces preview looking impressive, AWS themselves highlight some key functional differences between Keyspaces and Apache Cassandra, and if you are a current open source user it is important to bear these in mind:

  • No multi-region support
  • No UDT
  • No ALTER TABLE
  • No counters
  • No materialized views
  • No ability to load SSTables directly

Logicata’s View

If you are managing Cassandra at scale and are familiar with the challenges highlighted in this post, then Keyspaces is worth a serious look, as long as you can live with the key functional differences.  While Keyspaces is Pay-as-You-Go, it doesn’t come cheap at $1.45 per million writes which can soon add up if you are operating at scale.  However, like with all AWS Managed Services you will need to consider the total cost of ownership of a self managed cluster versus Amazon Keyspaces, taking into account peaks and troughs in database workload, facilities and hardware management and engineering resource.

You Might Be Also Interested In These...

Young woman comparing with two things.

ECS vS EKS – Which AWS Service is Right For You?

ECS and EKS are both container orchestration services from AWS – in this post we take a look at ECS vs EKS to see which one will be more appropriate for your containerized workloads. Container adoption is on the rise – the technology has become popular due to it’s efficient resource utilisation and portability.  A […]

View Post
Data storage archive concept

What is AWS Database Migration Service?

AWS Database Migration Service is a simple and cost effective way to migrate live, petabyte scale databases both into and out of the AWS Cloud with virtually no downtime. Those databases could be hosted on premise, already in the AWS cloud, or in another cloud.

View Post
Application Modernization

Legacy Application Modernization and Cloud Migration

Do you have legacy systems and applications that are holding your business back? If so, then you could benefit from a program of legacy application modernization. This could revolutionize and improve your business technology platforms. Legacy applications can also benefit significantly from migrating to the cloud. The cloud offers improved scalability & reliability for your […]

View Post
ebook featured image

5 Steps to a Successful

AWS Migration

DOWNLOAD FREE EBOOK