工程

SQLite 没你想的那么「小」:单文件数据库的真实边界

它能扛住每天数十万次读取,也能在一台 5 美元的机器上服务一个中型站点。我们聊聊它适合什么,又在哪里会先碰到天花板。

「SQLite 只适合玩具项目」是流传最广的误解之一。事实上,它每天在数以十亿计的设备上运行,也完全能胜任中小型网站的后端。

并发模型:单写者,多读者

开启 WAL 模式后,读操作不会阻塞写,写操作也不会阻塞读。瓶颈只在于「同一时刻只能有一个写者」——对读多写少的内容站,这几乎不构成限制。

什么时候该考虑别的

  • 需要多台机器共享同一份数据;
  • 写入高度并发且持续;
  • 单库体积逼近数百 GB。

在触及这些边界之前,SQLite 的简单与可靠,是一笔划算到不可思议的买卖。