Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SQL and NoSQL Analogy for the Non-Technical [closed]

I am working with a third client that will be using both a SQL and NoSQL solution (often SQL Server and Mongo). The last two clients I worked with understood a great deal of technical information, so phrases like relational database or document storage made sense to them. I tend to use bank processing as a SQL example and blogging storage as a NoSQL example, which - up to this point - have made sense to my clients. When clients think of examples like transactions and "live feeds" that can be hundreds of thousands of characters, they can sometimes prefer both solutions.

This other client, who's brilliant in his business, doesn't have that technical edge (he's an outstanding charismatic leader, so in no way shape or form am I disparaging him, as we all have our strengths). I'm curious if anyone here has had to explain these database concepts to people unfamiliar with them from a technical angle and what analogies you used to explain how each process works separately and how they would work together?

like image 554
Kprof Avatar asked Jan 20 '13 19:01

Kprof


1 Answers

There is no such thing as noSQL. There is only a whole bunch of new database technologies with completely different philosophies and use-cases, and all they have in common are things they also have in common with SQL databases. But when what you really mean to ask is "how can I explain a heterogeneous storage strategy to a non-technical person", I would use the office metaphor.

Your office is full of sheets of paper with different kinds of information. But you don't store it all in the same way:

  • Some is stored in your file cabinet
  • Some is laying around on your desk
  • Some is pinned to your pin board

Why do you do that? Because each kind of information has different access characteristics. Your pinboard is full of data you need quick access to (like memcached). Your cabinet is full of data which you rarely look at or change, but which could become very important sometime in the future. It's also very organized to optimize searching (like a relational database). Your desk is full of data you currently need quick access to. There isn't much order, because a strict order of things on your desk would inhibit your productivity (like a document storage).

Just like you choose a different storage method for each kind of data in your office, we use a different storage method for each kind of information in our computer system.

like image 150
Philipp Avatar answered Sep 20 '22 19:09

Philipp