DEV Community

Cover image for Foundations of data systems for system design interview
Daniel Lee
Daniel Lee

Posted on Edited on

Foundations of data systems for system design interview

The following content is my own note from the book, "Designing Data-Intensive Applications". The writing is intended for people who want to dash through the book quickly.

Generally, data-intensive app require the following:

  • database
  • cache
  • search index (search by keyword or filter)
  • batch processing
  • stream processing

To identify load parameters for scalability and performance, ask the following:

  • request per second to a web server
  • ratio of reads to writes in a database
  • number of simultaneously active users (aka. peak time traffic)
  • hit rate on a cache
  • bottleneck dominated by a small number of extreme cases

Top comments (0)