Show Menu
Cheatography

System Design Template Cheat Sheet by

System design template as published on leetcode

0. Non-fu­nct­ional Requir­ements (NFRs)

Security
Capacity
Compat­ibility (OS, etc)
reliab­ility
Availa­bility
Mainta­inable
Manageable
Scalab­ility
Usability
Perfor­mance
Regulatory
Enviro­nmental

2. Estima­tions

Throughput (QPS, read/w­rite)
Latency
R/W ration
Traffic Estimates - write(QPS, volume of data) and read (QPS volumen of data
Storage Estimates
Memory Estimates (Cache, what kind of data in it)
RAM
SSD or disk

Features and Expect­ation

Use case
Scenarios to not cover
who will use
How many will use
Usage patterns

3. Design Goals

Latency / throughput requests
Consis­tency vs Availa­bility
- weak / strong or eventual consis­tency
- failover / replic­ation availa­bility
 

4. High Level Design

APIs for read write scenario
DB schema
Basic algo
HLD for Read/write scenario

5. Deep Dive

Deep Dive
- scaling algo
- scaling components
- Availa­bility, consis­tency and scale story of each component
- consis­tency and availa­bility patterns
- Components
-DNS - CDN (push vs pull)
- LB (active passive, active active, L4 , L7)
- Reverse proxy
- App layers scaling ( micros­erv­ices, service discovery)
- DB (RDBMS, NoSQL)
- RDBMS ( master­-slave, Master, master, federa­rion, sharding, Denorm­ali­zation, SQL tuning)
- NoSQL ( KV< wide column, graph, document
- fast lookups
- RAM (redis, memcache
- AP - Cassandra, RIAK
- CP - HBase, Mongo
- Caches
- client, CDN, server, DB, applic­aiton, query, object
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          Drupal 6 Theme Variables Cheat Sheet
          LimeSurvery Cheat Sheet
          Template for biochemical pathways Cheat Sheet