系统设计一些个人小结

一些要记得的数字
关于时间
1天 => 86400秒

关于存储
跟存储有关的K是1024,其它都是1000。下面的数字忽略1000和1024的区别。
1T => 10^12
1G => 10^9
1M => 10^6
1K => 10^3
1B => 10^9

一张hard disk 的MTTF (mean time to failure) 是10到50年。一个storage cluster (10000张硬盘),可以估算平均大约1天坏一张硬盘。

关于网页
1个网页大小按10K估算。下载一个网页按2s估算。

关于数据库
MySQL 读写效率 单机约1KQPS
MangoDB - 读写效率 单机约10QPS
Cassandra - 读写效率 单机约10QPS
Redis - 内存数据库 Key-Value 读写效率 单机约100KQPS
Memcached - 内存数据库 单机约1MQPS ?

关于视频

算法和系统设计的对应
算法里面用queue, 系统设计就用message queue (Redis, Kafka, RabbitMQ等),因为要持久化。
算法里面用hash set,系统设计就用KV的NonSQL数据库。

通常系统设计第一要求的是效率高,即延时低。而精度还是其次。