分片键选错的代价有多大:从Foursquare宕机到美团实践的技术复盘

2010年10月,位置社交应用Foursquare经历了一场持续17小时的宕机。当时这家创业公司拥有300万用户、2亿次签到、每天新增1.8万用户,业务正处于快速增长期。导致宕机的直接原因并不复杂:分片数据分布不均,一个分片的数据量达到67GB,超过了节点66GB的内存容量,系统开始疯狂地将内存页面换入换出,整个数据库被拖慢到磁盘速度。 ...

12 min · 5584 words

分布式ID生成:为什么你的主键选择正在毁掉数据库性能

当一个128位的随机值作为B-tree索引的主键时,每一次插入都像是在图书馆的随机位置放一本书——图书管理员疲于奔命,书架越来越乱。这不是夸张的比喻:PostgreSQL的基准测试显示,使用UUID v4作为主键时,索引体积膨胀22%,插入速度下降34.8%。 ...

10 min · 4682 words