Cassandra, a Strong Alternative to SQL Server, MySQL, and RDBMS

 In Software Development

Are you buying into the open source and/or anti-relational database movement? Recently, the interest in the database technology “Cassandra” has produced a metaphorical wind for the NoSQL movement sailboat. Apache’s product Cassandra DB is the direct result of the developers at Facebook open-sourcing their proprietary database model. Simple usage of Facebook immediately reveals that their developers must have solved the following issues:

  • How can we efficiently scale our database servers?
  • How can we effectively and efficiently deal with different types and formats of data users give us
  • How can we provide true redundancy versus simple
  • How can we implement a model in which the servers may be decentralized?

Instead of blindly seeking an alternative to the relational model, it is important to first investigate if the model of your choosing will wind up creating more headaches than it solves. Should you be leaning towards Cassandra, you must be able to relate to one of the following three statements

My data is somewhat schema-less, may not be able to always fit the same relational column structure, and, more importantly, follows a name-value-pair format better

Name(Key)-Value-Pairs(VP or KVP)
My system requires a very high volume of writes and I always need the database to be capable of accepting writes without the problem of read/write locks in traditional Relational Database Management Systems

High write volume
A single database server does not provide enough redundancy or will not be capable of appropriately handling the load.

Distributed Model

If you can relate to one of these, you may be on the right track.If you can relate to all of these statements, an alternative data storage approach is likely a better fit. Simple arguments for these statements, wih respect to an RDBMS, the following should be generally accepted:

  • Representing schema-less or NVPs in the relational model is hard to query, requires multiple joins to the same table, and is not very efficient.
  • High volume of writes to an RDBMS will create locking issues if that data is also being intensely acted on.
  • There are no distributed capabilities in RDBMS. The closest function is “Replication” and this does not guarantee data, accuracy, distributed load, and requires a lot of management.

Check back later for the comparison of keywords, features, and functions between traditional RDBMS and Cassandra!

Recent Posts