What is “Cassandra”, these Days?
Note, I’m using the term “Cassandra” as a bucket of all flavors/derivatives of the Apache Cassandra project. When referring to the individual products, I use their trademarked names.
I was looking at my calendar last week and felt like something was missing. After a little bit of contemplation, I figured out what that emptiness was. There is no Apache Cassandra user Summit this year. Conferences are expensive and complex to organize. Couple that with last year’s Apache Foundation and Datastax row, it’s no surprise we don’t have a user conference this year.
I started thinking about all the news I’ve been hearing on the ground about which companies were moving towards the OSS version (Yahoo, Netflix, etc) and who is doubling down on forked and enterprise versions of the database (NYSE, Macy’s, etc). This brought up the question… what is “Cassandra”, these days?
Basic Tenets and API
Is “Cassandra” the sum of the basic tenets of this distributed database? Shared nothing, eventually consistent, AP with tunable C, and the API? The 3 major flavors (Apache Cassandra, Datastax and ScyllaDB) all share those tenets and have enough API overlap that many consider them basically the same to develop with.
Where they differ is the emphasis each flavor focuses on and how they implement those tenets and APIs. Apache Cassandra is pure and forward thinking, with all the implications that go along with being cutting edge and community supported. Datastax is focused on enterprise needs, security, and stability. ScyllaDB is focused on speed and efficiency.
Similar diversions happened in the MySQL community, where the “pure/official” version is now owned by Oracle and 2 derivatives have their own following: MariaDB and Percona Server. Except for some subtle API additions, they are all, for all intents and purposes, MySQL. Is this the fate of “Cassandra”?
The Purists’ Answer
Purests will argue that Apache Cassandra is the only real flavor of “Cassandra”. From a naming standpoint, they would be right as the Apache Foundation does own the trademark and one can trace it’s lineage all the way to the Open Source project started by Avinash Lakshman and Prashant Malik.
It’s the Community
When I asked some colleagues the same question, they said it is the community. At first I thought this was a cop-out-feel-good answer. The more I thought about it, though, the more it made sense. A product is shaped by the needs of the users who use it. This community of users and their needs define what “Cassandra” is. Companies, and the Apache Cassandra project, are all trying to figure out the direction of “Cassandra” based on those users’ feedback.
It is inevitable that we will soon see more noticeable diversions in the flavors of “Cassandra”. My hope is that, over time, all “Cassandra” flavors converge back to a basic set of APIs/features.
What do you think?
What is “Cassandra” to you?