As a heavy user of SQL relational databases for the past 25 years, I log into databases like MS SQL Server, MS Access, Oracle, and MySQL every single day when I’m at work. However over the past couple of years I’ve become aware that there’s a new kind of database called NoSQL which apparently are the database of choice in Big Data applications.
So earlier this year I was excited when I came across the announcement of an all day event to be held at the Galleria called Cassandra Day Atlanta. Fortunately I was able to attend this free event on March 19th and learn a few things about one of the more popular NoSQL databases, Apache Cassandra.
The event was sponsored by Datastax, a company selling an enterprise version of Cassandra along with consulting and support services. As an Apache open source project Cassandra can also be downloaded for free at http://cassandra.apache.org/. But with the free version you don’t get the enterprise features provided by Datastax or the support.
Walking into the event on a rainy day at the Galleria I was initially impressed by the large turnout. I don’t know the exact count but would guess several hundred in attendance. The event was divided into three tracks for beginners, advanced users, and business executives. I stuck to the beginner track where the large room I was in was packed by at least a couple hundred people.
I attended the sessions, “Getting Started with Cassandra and Datastax”, “Getting Started with Cassandra and Python”, and “Apache Cassandra Data Modeling 101”; all of which provided an excellent introduction into the technology.
My main takeaway was that since in Cassandra there are no joins and no aggregations, you have to design the database backwards from what I’m used to in the relational model. First considering the queries needed by your application and then designing schemas to fit the queries….the opposite of relational where you first design the schema to 3rd normal form and then create queries based off the well designed schema.
All very interesting I’m glad I had the opportunity to attend.
According to DB-Engines rankings, the three most popular NoSQL databases are MongoDB, Cassandra, and Redis.
Read more about NoSQL databases here.