NoSQL Data Modeling

This is a comparison of NoSQL databases from the data modeling point of view. There are many NoSQL system families, namely, Key-Value stores, BigTable-style databases, Document databases, Full Text Search Engines and Graph databases. He explains that NoSQL data modeling is typically driven by application-specific access patterns, i.e. types of queries to be supported. NoSQL data modeling often requires deeper understanding of data structures and algorithms than relational database modeling does.

Data duplication and denormalization are the first-class citizens. Relational databases are not very convenient for hierarchical or graph-like data modeling and processing, but actually most of NoSQL solutions are surprisingly strong for such problems. That is why the article devotes a separate section to hierarchical data modeling. 17 basic principles of NoSQL data modeling are presented.