Thi Notes
AboutNotesBlogTopicsToolsReading
About|Sketches |Cooking |Cafe icon Support Thi

Database / System Design 101

Database / System Design 101

Anh-Thi Dinh
draft
Database
Data Engineering
Computer Science
Best Practices
MOOC
Reading
⚠️
This is a quick & dirty draft, for me only!
Do the best to learn about Database / System Design from nothing!

Refs

  • Start with "Database System Concepts" by Silberschatz, Galvin & Sudarshan
    • The gold standard textbook that covers everything from relational theory to advanced topics
    • Goes deep into the "why" behind design decisions, not just the "how"
  • Following with "Designing Data-Intensive Applications" by Martin Kleppmann
    • Bridges database theory with real-world distributed systems
    • Essential for understanding modern data challenges you'll face as a data engineer
  • "SQL Antipatterns" by Bill Karwin
    • Teaches you what NOT to do through common mistakes
    • Invaluable for avoiding pitfalls in real projects
  • System design
    • Foundation: "Designing Data-Intensive Applications" (yes, it covers both!)
      • Best single book for understanding how large-scale systems actually work
      • Perfect bridge between your web dev background and system design
    • Architecture patterns: "Building Microservices" by Sam Newman
      • Since you're coming from web dev, this connects familiar concepts to distributed systems
      • Shows how to think about system boundaries and data flow
    • Scalability deep-dive: "Scalability Rules" by Abbott & Fisher
      • Practical rules for scaling systems
      • Great reference as you grow into data engineering
  • MIT 6.824: Distributed Systems videos