Database Reference
In-Depth Information
Eventual consistency refers to the concept that once a system stops receiving
input, the data will propagate to wherever else it needs to be in the system sooner
or later. The beauty of this is that the system does not check for consistency on
every transaction as is expected in an ACID-compliant system.
Where Cassandra Fits In
Now that we have a decent idea of the tenets of a distributed system, it's time to
take a look at where Cassandra excels. There are a lot of database systems, and
nearly all of them were designed to handle a particular problem efficiently and
effectively. But the most important thing that you need to know when deciding
whether Cassandra is the right tool for the job is the goal of the job. In other words,
if you can illustrate what it is you are trying to accomplish, you'll be able to de-
termine if Cassandra is what you need to be successful.
In the context of the Web analytics application that we are building, Cassandra
is suitable for a variety of reasons. One of the most common use cases for Cas-
sandra is dealing with time-series data. What this means is that there is a sequence
of successive data points that are all related to the same topic. For example, every
time a page view happens on your Web site, an entry is made into the logs with
the time of the event (page view), including some metadata around that event (IP,
browser, URL, etc.).
Now let's say your Web site isn't made up of just one or two Web servers, but
a whole cluster of Web servers is required to support your traffic. And let's also
say that you want to store the resulting Web server data in a database and not just
aggregate logs on a log server. How is Cassandra well suited for that? Before you
can answer whether or not Cassandra is the right tool to help you solve your prob-
lem, we should talk about what Cassandra is and where it came from.
What Is Cassandra?
Cassandra is an open-source distributed database management system. It is de-
signed to handle large amounts of data spread across many commodity servers
while remaining highly available. Cassandra is loosely defined as a key/value store
where one key can map to one or more values.
Although early in its life Cassandra was just a key/value store, it has evolved
into much more. It is now commonly seen as a hybrid containing common prop-
erties of two types of databases: a key/value store and a row store. Unlike a rela-
tional database management system (RDBMS), Cassandra ColumnFamilys (sim-
Search WWH ::




Custom Search