https://youtu.be/-W9F__D3oY4
Storage
PATA, SATA, SAS (15,000 rpm), SSD,
RAID0 : striping, double throughput / size, no redundancy; RAID1 : mirror; RAID2 : bit-level striping with parity, not used today; RAID3 : bit-level striping with dedicated parity drive, not used today; RAID4 : block-level striping with dedicated parity ; RAID5 : block-level striping with dedicated parity, single drive failure tolerance; RAID6 : block-level striping with double parity, two drive failure tolerance
NAS, a file server, accessed through NFS, SMB etc.
SAN, a virtual disk, accessed through iSCSI, Fiber Channel etc.
Vertical scaling
Horizontal scaling
DNS round-robin load balancing, heavy vs. light requests
load balancer
Software-based LB: ELB, HAProxy, LVS etc.
Hardware-based : F5, Cisco, Citrix etc.
cookie/session affinity (sticky session)
separate session server (e.g. a redis or MySQL server for hash table)
LB inserts cookie content to remember backend-id
Caching
DNS cache
MySQL Query Cache
memcached
Database Replication
master / slave : and you can make master write-only, and slaves obviously read-only
master / master - slave set up
Database Partitioning
mit.facebook.com.
LB, cross data center, geolocation distribution