Database Reference
In-Depth Information
Use Cases for Cassandra
We have now unpacked the elevator pitch and have an understanding of Cassandra's advantages.
Despite Cassandra's sophisticated design and smart features, it is not the right tool for every job.
So in this section let's take a quick look at what kind of projects Cassandra is a good fit for.
Large Deployments
You probably don't drive a semi truck to pick up your dry cleaning; semis aren't well suited for
that sort of task. Lots of careful engineering has gone into Cassandra's high availability, tuneable
consistency, peer-to-peer protocol, and seamless scaling, which are its main selling points. None
of these qualities is even meaningful in a single-node deployment, let alone allowed to realize its
full potential.
There are, however, a wide variety of situations where a single-node relational database is all we
may need. So do some measuring. Consider your expected traffic, throughput needs, and SLAs.
There are no hard and fast rules here, but if you expect that you can reliably serve traffic with an
acceptable level of performance with just a few relational databases, it might be a better choice
to do so, simply because RDBMS are easier to run on a single machine and are more familiar.
If you think you'll need at least several nodes to support your efforts, however, Cassandra might
be a good fit. If your application is expected to require dozens of nodes, Cassandra might be a
great fit.
Lots of Writes, Statistics, and Analysis
Consider your application from the perspective of the ratio of reads to writes. Cassandra is op-
timized for excellent throughput on writes.
Many of the early production deployments of Cassandra involve storing user activity updates,
social network usage, recommendations/reviews, and application statistics. These are strong use
cases for Cassandra because they involve lots of writing with less predictable read operations,
and because updates can occur unevenly with sudden spikes. In fact, the ability to handle applica-
tion workloads that require high performance at significant write volumes with many concurrent
client threads is one of the primary features of Cassandra.
According to the project wiki, Cassandra has been used to create a variety of applications, in-
cluding a windowed time-series store, an inverted index for document searching, and a distrib-
uted job priority queue.
Search WWH ::




Custom Search