Do I need relational or NoSQL?
How does NoSQL help me scale?
Will I get paid better with NoSQL or relational?
Does NoSQL make my butt look big?
OK, maybe I made up that last one. However, the others are all variations of questions I’ve been seeing a lot of recently. I don’t know if I’m just noticing them a lot more or there are more of them, but I’m sick of seeing NoSQL on my computer screen.
I love the DB-Engines Ranking page. We can argue over their methods and whether or not Vertica should be ranked above Filemaker all we want. However, what we have is both a very thorough collection of all the different data management systems out there and a great set of definitions for the types of database management systems.
Go and search through it for a NoSQL data management system. I’ll wait.
You found one that was named NoSQL didn’t you. Oracle NoSQL, because Oracle. Of course. However, under the Database Model what did it say? Document Store. Why?
BECAUSE NOSQL IS NOT A DATA STORAGE ENGINE!
There is not a NoSQL thing to use. You can’t compare NoSQL to anything because NoSQL is just a different screed, a rant, a tantrum. A bunch of influential developers threw themselves on the floor, screaming and kicking, spittle flying everywhere, because they didn’t want to eat their broccoli.
Wait, that was my kids when they were three.
I meant to say that a bunch of influential developers threw themselves on the floor, screaming and kicking, spittle flying everywhere, because they didn’t understand how to write SQL queries.
Actual film footage of NoSQL developers at work (not for the faint of heart):
Yeah, the phrase NoSQL came about because people were ignorant, not because they actually knew better.
Don’t believe me? Well, what did these same people say a couple of years later? Oh yeah, I remember:
NoSQL doesn’t mean No to SQL in any form. Oh no. Of course not. We never meant that. Don’t be silly. Everyone knows that NoSQL just means “Not Only SQL”.
What happened was, someone actually had to write a report on one of the systems these oh-so-brilliant-tantrum-throwers developed and suddenly… Wait, that SQL thing, it kind of works.
No kidding? Really? Well sheesh, will wonders never cease. We’ve only been using SQL quite successfully for 60 *@&$@#)$*& YEARS!
So, you want to use a document store like CosmosDB because we have to collect data in a global fashion at very high volume… OK. Makes sense. We need to run searches across documents and spreadsheets and log files and any number of other structured and unstructured storage, so we’re going to implement a search engine? Awesome. Let’s do that. However, know this, what we’re doing, it’s not NoSQL. It’s a document store or it’s a search engine or it’s a key-value store or it’s a… what is a wide-column store anyway… Sorry. Using the right tool for the job is a great choice.
All of these different storage mechanisms are absolutely not NoSQL because there is no such thing as NoSQL. Let’s toss this term.
Oh, yeah, and to answer the last question; Yes, NoSQL does make your butt look big. Best not to use it.