Educative Course:
Grokking the System Design Interview - Learn Interactively
PDF Version:
grok_system_design_interview.pdf
Choose the Right Database
- Caching
- Store in the form of key value store (key as a parameter in where clause and value as a response)
- e.g. Redis
- File Storage
- Blob storage → for storing image, videos, files
- We generally serve the content as it is without querying
- e.g AWS S3
- To server it to various geo locations we need to Use CDN (content delivery network)
- Time Series Databases
- helpful in application metrics tracking system like Amplitude, Firebase analytics
- it is extension of relation databases, we append more frequently and read for a time period let say metric for last 3 months data
- e.g. OpenTSDB (TSDB→Time series Databse), influxdb
- Apache Hadoop
- used to query largely distributed databases, it is kind of a Wearhouse we dump all the data and query for analytical purposes
- Text Search
- Systems like amazon (search product using title, description), netflix (movie genre, title, actor)
- e.g. Elastic Search or Solr (these both search engines are based on Apache Lucene)
- Fuzzy Search
- If user spells out wrongly then we need to figure out and show results