Chapter 2: Data Models and Query Languages

Relational vs Document Models

Data models are perhaps the most important part of developing software, because they affect not only how the software is written, but also how we think about the problem we are solving.

Key Takeaways:

  • Relational model: Normalizes data, uses SQL, great for many-to-many relationships.
  • Document model: Denormalizes data, JSON-structured, great for one-to-many relationships where data is read together.
  • Graph model: Excellent when relationships between items are key to your domain (e.g. social networks, fraud detection).