Cassandra Myth Busters: Is Coding on Cassandra Too Complicated?

Author: Mark Stone

Cassandra is widely considered the go-to database for fast, scalable, and high-performance data applications. In this blog, we address concerns about Cassandra’s ease-of-use and the requirement to learn Cassandra Query Language (CQL) to accelerate application development.

Apache Cassandra® has a well-earned reputation as a powerhouse database system: it is always available, 100% reliable, and infinitely scalable. This makes Cassandra ideal for many workloads, including fast data applications. What differentiates fast data apps from the online transactional processing (OLTP) applications of old are the scale, availability, and performance demanded by modern use cases.

Cassandra has had a reputation as a tool that is complex to work with — and one that might not fit every company’s cloud-native strategy. In recent years, however, there have been several enhancements to the Cassandra ecosystem that DataStax has championed (much of which we have released as open-source) that now make Cassandra far more accessible.

In this post, we debunk the myth that Cassandra is too complicated for most teams to work with and will show you how Cassandra today is now easier and more intuitive than ever before, with new and powerful APIs that make it the go-to choice for powering fast and scalable data applications in terms of both cost and effort.

Myth: Coding in Cassandra is too complicated

Coding on Cassandra is too complicated, especially for teams with a narrower skills focus, such as front-end teams, for example. The main concern here is that the requirement to learn specific query languages like Cassandra Query Language (CQL) can be a drag on developer productivity.

Reality: Cassandra is very developer-friendly with familiar APIs

With the addition of Stargate, a cloud-native, modern data API layer, development teams can reduce the time it takes to prototype and brings apps to production faster using familiar, modern APIs based on HTTP.

Cassandra’s resilience and ability to run flawlessly at a global scale get rave reviews from platform teams concerned with performance, data integrity, and availability. But many developers may feel intimidated by Cassandra, which in the past, lacked native support for their preferred languages and toolsets. Cassandra also uses its own query language (CQL) that is similar but different from the older and more widely known SQL.

The truth is, Cassandra has evolved into one of the world’s most developer-friendly NoSQL database systems. Dev teams are learning that Cassandra actually makes it easy to move fast, stay productive, and get results — working with their preferred tools on their own terms.

The key is Stargate, an open-source data API gateway that gives developers API access to Cassandra, using REST, Document, GraphQL, and gRPC. Besides the obvious advantages of limiting the need to know CQL dependence on language-specific native drivers, Stargate makes Cassandra more accessible and significantly less complex for developers in three other important ways:

  • Going cloud-native
  • Embracing openness
  • Abstracting complexity

Going Cloud-Native

Apache Cassandra was brought into the world about the same time that architects were championing a change to RESTful API endpoints, and front-end developers were embracing JSON as the greatest common denominator for data interchange. Just as HTTP-based APIs have evolved since then, the Cassandra ecosystem has likewise evolved.

It’s no accident this evolutionary path coincides with the rise of cloud-based infrastructure. With an appropriate separation of concerns, cloud-native applications shouldn’t have to worry about operational details like load balancing, autoscaling, health checks, or transport layer security (TLS) termination. The cloud platform should handle those details, leaving application developers free to focus on rapid development of new features. Mediating abstractions like an API data gateway enable this useful separation of concerns. As a result, Stargate plays an essential role for Apache Cassandra by providing such a gateway.

Stargate supports REST, Document, and GraphQL APIs, as well as providing a set of client libraries (Java, Go, Node.js, and Rust) for making CQL calls over gRPC rather than relying on native drivers. The result is a multi-model set of APIs, giving developers freedom of choice about how they want to interact with data, and where they want to be on a scale of more performant (native Drivers, gRPC clients) versus more flexible (schemaless JSON via the Document API).

Embracing openness

Modern data APIs are essential, and they evolve quickly: Both GraphQL and gRPC usage is exploding, and more than 80% of developers use REST. Stargate keeps Cassandra on the cutting edge with support for modern data APIs, and it puts developers in the driver’s seat by letting them choose the tools they prefer to use based on what best addresses their application requirements.

Abstracting complexity

Stargate helps to abstract away backends entirely, allowing developers to work without being concerned about specific database implementations or access methods. It not only provides an abstracting data gateway, but is implemented using Kubernetes, making it ideal for developers who are building modern, microservices-based applications.

Stargate is a modern API layer that enables developers to appreciate the benefits of performance, scalability, and availability of Cassandra without having to suffer the learning curve, and get productive immediately. At the same time, it allows site reliability engineers (SREs) to consolidate different NoSQL workloads — like document and key-value — on Cassandra.

Figure 1: Stargate is a modern API layer that reduces the learning curve and enables developers to become productive with Cassandra immediately.

Stargate also supports another valuable outcome: It puts ops and dev teams back on the same page when making platform choices. Ops teams will like Cassandra as the versatile database that can support not only the bread-and-butter scale-out and fault-tolerant use cases, but also the fast-to-market schemaless applications. They can use Cassandra as a platform to consolidate database sprawl. And, this is an easy decision for dev teams to support because the new freedom of choice Cassandra with Stargate provides allows them to focus on what they do best — creating innovative applications without spending time learning about the ins and outs of NoSQL before they can be productive with the database.

Cassandra today is not the Cassandra of yesterday. Based on its ability to support cloud-native applications and with Stargate to abstract away most of the complexity once associated with its use as well as its commitment to openness, it’s clear that Cassandra continues to innovate. And with the recent release of Cassandra 4.0, it just keeps getting better.

Evaluating Cassandra within the context of the APIs now available to make it easier to use than ever before requires a bit of a paradigm shift — one that redefines the fundamental reality of how developers are using Cassandra today. More and more developers today are finding enormous value in Cassandra, especially when they need to build fast, cloud-native applications.

Follow the DataStax Tech Blog for more developer stories. Check out our YouTube channel for tutorials and here for DataStax Developers on Twitter for the latest news about our developer community.

References

  1. Apache Cassandra Open Source NoSQL Database
  2. Stargate
  3. Get a Head Start on Your App Development with Flexible DataStax Stargate APIs
  4. Accessing Cassandra with the Stargate REST API
  5. Accessing Cassandra with the Stargate Document API
  6. Accessing Cassandra with the Stargate GraphQL API
  7. CQL for Apache Cassandra 3.0
  8. Qualify Your Database Needs with DataStax Astra Stargate REST API
  9. Create and Use a Document Database with Stargate Document API and Astra DB in 15 Minutes
  10. How to get just the data you need with the Stargate GraphQL API in a simple coding scenario
  11. Say Goodbye to Native Drivers with Stargate gRPC API in Java
  12. The Future of Cloud-Native Databases Begins with Apache Cassandra 4.0

--

--

--

We’re huge believers in modern, cloud native technologies like Kubernetes; we are making Cassandra ready for millions of developers through simple APIs; and we are committed to delivering the industry’s first and only open, multi-cloud serverless database: DataStax Astra DB.

Recommended from Medium

How to Integrate Spring Boot ElasticSearch Data with AWS

Adding a Gradient to Text Using CSS

19 Java Collection Classes With Examples

{UPDATE} Vui H?c Ti?ng Vi?t Hack Free Resources Generator

SAIP-0001 Has Passed, The First Sashimi Governance Committee Nomination & Election Starts NOW

Getting Started With Version Control — Part III

Do you know that ATTA_protocol internal test is officially online.We

A Basic Overview of Django, the Python Web Framework

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
DataStax

DataStax

DataStax is the company behind the massively scalable, highly available, cloud-native NoSQL data platform built on Apache Cassandra®.

More from Medium

Hybrid Local Clock in Rust

Configure JanusGraph with Astra DB Storage Backend for Dynamic Workloads

4 Lessons Learned From Optimizing Our 100B-daily-events Web Handlers

How I implemented an ART (Adaptive Radix Trie) data structure in Go to increase the performance of…