Back to Designing Data Intensive ApplicationsTopic 2 of 3
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).