「数据库不就是增删改查一些数据吗?」——你说得对,一个文本文件就能做到。下面这个 data.txt 就是一个完整支持增删改查的「数据库」,你可以亲手玩它;然后我们把它和 MySQL、Caffeine 缓存、IndexedDB 放在同一条起跑线上,跑同一份数据,看谁先撑不住。
增删改查是数据库的接口,不是它的难度。data.txt 十行代码就有全部四个功能,但数据量涨四个数量级、并发涌进来、机器写到一半断电之后,增删改查还要又快又稳——索引、缓冲池、事务日志、崩溃恢复,每一项都是在给「简单」支付利息。上面的曲线就是第一笔利息的账单。
想继续深挖:数据库怎么用 B 树把查询从「扫全表」变成「跳几步」,见下面的关联演示。