This video distinguishes between three (main) types of NoSQL databases:

  1. Key/Value store
  2. Tabular
  3. Document oriented

Do these types differ in how they technically store their data or can they be considered all to be key/value stores since even the tabular ones (like Cassandra) may have variable column count and most likely serialize the column values to a string? And the documents (MongoDB) are also only strings in the end... I suppose all types generate an unique id for their "values/data". So are all the 3 types key/value on low level?

closed as off-topic by Max Vernon, dezso, McNets, Colin 't Hart, Marco May 10 '17 at 14:59

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Too localized - this could be because your code has a typo, basic error, or is not relevant to most of our audience. Consider revising your question so that it appeals to a broader audience. As it stands, the question is unlikely to help other users (regarding typo questions, see this meta question for background)." – Max Vernon, dezso, McNets, Colin 't Hart, Marco
If this question can be reworded to fit the rules in the help center, please edit the question.


MongoDB is not a key-value store; its documents are not just strings in the end. MongoDB stores its data in a format called BSON (Binary JSON), which allows for complex structures including various data types, strings being just one of them. See the BSON Spec for more details, for example:

The following are some example documents (in JavaScript / Python style syntax) and their corresponding BSON representations.

Example 1: {"hello": "world"}

\x16\x00\x00\x00                   // total document size  
\x02                               // 0x02 = type String  
hello\x00                          // field name  
\x06\x00\x00\x00world\x00          // field value  
\x00                               // 0x00 = type EOO ('end of object')  

Example 1: {"BSON": ["awesome", 5.05, 1986]}


Not the answer you're looking for? Browse other questions tagged or ask your own question.