Understanding NoSQL for Product Owners
If the product you manage requires content aggregation you may have heard your dev team say “we need to go with a NoSQL storage solution”. Below is a summery of key points about NoSQL I found through some basic research.
How does NoSQL differ from SQL?
“Not only SQL”
NoSQL is a database movement which promotes non-relational data stores that do not need a fixed schema.
There are several primary storage techniques or “implementations” used by the NoSQL approach:
- Document store – MongoDB, CouchDB
- Eventually‐consistent key‐value store (“ColumnFamily”) – Cassandra
- Graph – Neo4j
- Key/value store on disk – Amazon’s SimpleDB
- Key/value cache in RAM – Redis, memcached
Taken from this Wikipedia article on NoSQL databases
An introduction to NoSQL on Hacker News
A 10 minute talk from Brian Aker bashing NoSQL
What is MapReduce?
MapReduce is a framework for processing huge datasets on certain kinds of distributable problems using a large number of computers (nodes), collectively referred to as a cluster.
“Map” step: The master node takes the input, chops it up into smaller sub-problems, and distributes those to worker nodes. A worker node may do this again in turn, leading to a multi-level tree structure. The worker node processes that smaller problem, and passes the answer back to its master node.
“Reduce” step: The master node then takes the answers to all the sub-problems and combines them in a way to get the output – the answer to the problem it was originally trying to solve.
“GROUP BY” in SQL is very similar to “Map Reduce” in NoSQL.
Taken from this Wikipedia article on MapReduce
What is a Graph db?
A graph database is a database that uses graph structures with nodes, edges and properties to represent and store information.
Example:
Node firstNode = graphDb.createNode();
Node secondNode = graphDb.createNode();
Relationship relationship = firstNode.createRelationshipTo( secondNode, MyRelationshipTypes.KNOWS );
firstNode.setProperty( “message”, “Hello, ” );
secondNode.setProperty( “message”, “world!” );
relationship.setProperty( “message”, “brave Neo4j ” );
We now have a graph that looks like this:
(firstNode )—KNOWS—>(secondNode)
A popular vendor is Neo4j
Taken from this Wikipedia article on Graph Databases
What is a Document db?
As opposed to relational databases, document-based databases do not store data in tables with uniform sized fields for each record. Instead, each record is stored as a document that has certain characteristics. There is no real hierarchy of data; just a collection of documents which may contain virtually any kind of data. The documents may not necessarily be the same length, as some documents may contain details of fields that other documents do not need to store. In other words, you are not constrained by a database schema.
Example:
FirstName=”Bob”, Address=”5 Oak St.”, Hobby=”sailing”.
Another document could be:
FirstName=”Jonathan”, Address=”15 Wanamassa Point Road”, Children=(“Michael,10″, “Jennifer,8″, “Samantha,5″, “Elena,2″).
Notice that both documents have some similar information and some different – but unlike a relational database where each record would have the same set of fields and unused fields might be kept empty, there are no empty ‘fields’ in either document (record) in this case. This system allows information to be added any time without using storage space for “empty fields” as in relational databases.
A popular vendor is MongoDB.
MongoDB manages collections of JSON-like documents. This allows many applications to model data in a more natural way, as data can be nested in complex hierarchies and still be query-able and indexable.
{
“username” : “bob”,
“address” : {
“street” : “123 Main Street”,
“city” : “Springfield”,
“state” : “NY”
}
}
Another popular vendor is CouchDB (Apache) as it works well with Rails.
Taken from this Wikipedia article on Document-Oriented Databases

Nothing against the article, but I disagree with a couple of points to some extenct. I’m probably a minority though, lol. Thanks for sharing.
I’m quite about to make this step. This post got me thinking whether i should do it. Again. And thank you very much!
Free WoW – If you’re a World of Warcaft Gamer, I’m sure you don’t want to spend money on WoW Game Cards when you can get Free World of Warcraft, Free World of Warcraft 60 day Game Cards/Free Time Cards. I mean, $30 just for 60 days? This is a lot of money if you plan on playing for a while. 1 year of WoW Cards and that’s about $180! Save your wallet from burning a hole in your pocket and get Free WoW Cards just by doing surveys, offers, playing games, or getting referrals. It is super easy to sign up and only takes minutes. Then you can get your Free World of War craft Cards sent to your email all 100% Free! Yes, 100% Free! So what are you waiting for? Get your Free World of Warcraft today in just 3 super easy steps!Get Free WOW cards
I’m impressed, I need to say. Really not often do I encounter a weblog that’s each educative and entertaining, and let me inform you, you’ve gotten hit the nail on the head. Your concept is outstanding; the problem is one thing that not sufficient individuals are speaking intelligently about. I am very pleased that I stumbled across this in my search for something relating to this.
FYI, your website doesn’t appear proper in Opera.
You need to take a lesson from my Canadian-born father and start rooting for the country of your citizenship: America. Few things are more annoying than someone who becomes a citizen on paper, but not with their heart.
Good post, always a pleasure reading something you wrote.
Hello! your site’s stylesheet is cracked in my Opera. I think you should fix it. great post tho.
How did you get to have this extremely? Its great to determine someone put so much passion into a subject. Im glad I came across this. Im glad I took the time to read on previous the extremely paragraph. Youve attained a lot to say, considerably to provide. I hope men and women realise this and seem into your page.
Really a nice website! Just came across this today and will going to look for updates.
I’m so happy i found your blog. You are huge an motivation!
Hmmm for some reason only half the submit could be seen. I tried reloading but still exact same.
The next time I learn a weblog, I hope that it doesnt disappoint me as much as this one. I imply, I know it was my choice to learn, but I really thought youd have something attention-grabbing to say. All I hear is a bunch of whining about something that you could possibly fix when you werent too busy in search of attention.
Once I initially commented I clicked the -Notify me when new feedback are added- checkbox and now each time a remark is added I get four emails with the same comment. Is there any means you’ll be able to take away me from that service? Thanks!
I used to be questioning need to ever considered altering the layout from the blog? Its genuinely correctly created; I really what youve acquired to say. But maybe you might tiny a lot more inside the way of subject matter so people could connect with it much better. Youve obtained an terrible fantastic of text for only having only one or two images. Perhaps you might space it out much?
Hello there, I found your site via Google while looking for a related topic, your website came up, it looks great. I have bookmarked it in my google bookmarks.
FYI, your web site doesn’t appear right in Opera.
I cannot say that I totally with all that was said, but very good info overall
There’s a vast amount of information on the blog you’ve began. Thanks.
Is that true? I’ll spread this facts. Anyway, awesome write-up
Just desire to say your article is as astounding. The clarity in your post is just nice and i could assume you’re an expert on this subject. Fine with your permission let me to grab your RSS feed to keep up to date with forthcoming post. Thanks a million and please keep up the enjoyable work.
very nice submit, i definitely love this website, carry on it
Hi, The above articles is very impressive,
You should take part in a contest for one of the best blogs on the web. I will recommend this site!
I am glad to be one of several visitors on this outstanding web site (:, thanks for posting .
Sweet site, I think that it’s awesome
I don?t know if greatest practices have emerged round issues like that, however I’m positive that your job is clearly recognized as a good game. Both boys and girls really feel the impact of only a moment’s pleasure, for the remainder of their lives.
Pretty creative write-up, always keep up the good work.