Two DBAs walk into a NoSQL bar

 Feb 13, 2015

Two DBAs walk into a NoSQL bar and leave rather hurriedly when they can’t find a table. Insert geek laugh here. Weak, isn’t it? Well at least it gives me an opening to discuss NoSQL with you. I’m sure you’ve heard of NoSQL at this stage, it’s popping up everywhere. Google, Amazon, Facebook, LinkedIn and Twitter all use it. You may have heard names like MongoDB, CouchDB, Cassandra and Riak. There are lots of articles and blogs about it/them too, just like this one. It’s even been forecasted, another geek laugh if you please – we all know how wildly inaccurate those things can be, that the NoSQL market could reach $3.4 Billion in 2020; that represents an annualised growth of 21%. Rather impressive, if you ask me. Okay, so what the heck is it? Well, there really isn’t a formal definition of NoSQL, but there are some things we can say about it. It doesn’t use SQL or a relational model. GASP!!! They’re also designed to run on clusters and they tend to be Open Source. EEK!!! And most significantly, they don’t have fixed schemas. ARGHhhhhh…!!! The insanity of it… the utter chaos… my inner control freak is FREAKING OUT…! So why is this whole NoSQL thing getting traction? Why is it growing so rapidly, and is it doing that at the cost of regular DBA jobs? Let’s consider Facebook. Wait, I know that serious folks never consider Facebook; I’m just asking you to consider Facebook from a technical perspective, OK? OK, good. Facebook started just 10 years or so ago, it now has over a billion (that’s with a b) users worldwide that access it every second of every day. They add data, change data, update data. Now think about Google, Twitter, LinkedIn and Amazon. They’re in the same position. The challenge is that they need to constantly scale out to handle rapidly changing usage patterns. Relational databases are a poor fit in this environment. They’ll scale up rather than out, they don’t do dynamic scalability particularly well. Scaling up requires a bigger machine, scaling out needs more nodes in the cluster; it’s much cheaper and can be done very rapidly. If you’ve got a new website or app that launches and grows to a million users in a short time (entirely feasible), your relational database would have trouble coping. A NoSQL database could scale easily by adding more machines to the already existing cluster. The movement to NoSQL has been led by developers largely. They crave change whereas DBAs err on the side of caution. With giants like Amazon adopting NoSQL, developers had the ammunition they needed to remove themselves from the structural constraints of DBAs. NoSQL is a fundamental enabler for Agile practices as opposed to the long cycles of DBAs. So, does this mean your job is at risk and that you should jump to NoSQL now? Well, like a good DBA, you should exercise some of that trusted caution. In September 2014, only two NoSQL databases, MongoDB and Cassandra, ranked in the top ten. There are a LOT more jobs out there for Microsoft SQL Server and other vendors than NoSQL. In fact, another survey indicated that 75% of respondents were using Microsoft SQL Server while only 5% were using MongoDB. In fact, even FileMaker is ahead of newcomers Cassandra and Riak. Many companies will continue to keep their relational databases for OLTP where the level of data persistence is very high. At the same time, where the need arises, they will adopt non-relational models for Big Data. It’s not a matter of SQL or NoSQL; it’s more like SQL and NoSQL. It’s probably a good idea to start learning about it because sooner rather than later, you’ll have both types of databases sitting alongside each other in your company. “See” you next time. Cheers.

How do your Excel skills stack up?   

Test Now  

About the Author:

Adam Keats  

With over 25 years of real-world IT experience Adam is one of New Horizons’ most senior Database and Software Development trainers. Starting out as a physics teacher Adam displayed exceptional mathematical and technical capabilities early on in his career. He went on to work in a variety of programming and technical management roles within several government agencies including the Department of Defence and Maritime Patrol. In 1998 Adam found his true calling, gaining MCT status and thus beginning his technical training career specialising in SQL Server administration, development, BI, and .NET development. Since then he has worked for several training organisations and found a home at New Horizons where he is now our resident Database and Development specialist. Throughout his tenure at New Horizons, Adam has assisted over 500 students in their endeavours to improve their skills, knowledge, and to achieve industry certifications.