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)