3 min read

#8 SQLite 的复兴是巨浪还是浪花

#8 SQLite 的复兴是巨浪还是浪花
来自 https://blog.cloudflare.com/introducing-d1/ 封面图

一直以来,SQLite 被当作嵌入式数据库,普遍用在 Mobile App 里。现在,貌似开始流行在服务端使用 SQLite,乍看可能是一种反模式。

我觉得吹这阵风可能有以下三方面原因。

第一是 Serverless 和 Edge Computing 逐渐成熟,催生了 VercelCloudflare Pages 等体验较好的产品。传统数据库(Postgres、MySQL等)通常是单地区部署,不同地区访问单点数据库的时延肯定是有差距,虽然现在有分布式数据库的解决方案(CockroachDB、TiDB等),不过考虑到成本高、维护难等特点,不适合大部分中小应用。所以在这种场景下,使用 SQLite 这类嵌入式数据库是个看起来比较合理的选择。当然,不是所有的场景都适用,可能比较适合读多写少的场景。

其次是应用的全球化趋势。得益于全球网络的完善,全球化是个不可避免的趋势,只做单地区的应用天花板实在有限。想起之前 CEO 面对面上一鸣提到的“火星视角”,意思是要站在更大的视野看问题。做应用也是一样,局限于全国只会导致最终的内卷,全球化才是星辰大海。

最后是 SQLite 的生态在变好。SQLite3 本身好用了很多,支持 Upsert、CTE、存储 JSON、全文搜索、WAL 等常见功能。此外,Fly 收购了流式复制 SQLite 工具 Litestream,Cloudflare 发布了基于 SQLite 的 D1 数据库,这些事件都在推动 SQLite 生态稳中向好。

回首技术潮流里,有些技术真的改变了时代进程,比如 Docker 和 Kubernetes 开启了云原生浪潮,也有些技术在历史的长河里只是昙花一现,溅起一阵浪花。SQLite 的复兴是巨浪还是浪花?目前我认为场景有限,不足以掀起巨浪,仍需要大规模的应用来证明,不过我很乐意在业余项目里探索 SQLite 结合 Serverless 的创新玩法。

今天北京的天气很好,祝周末愉快!

好文推荐

你能看到多远的历史,就能看到多远的未来 — 文章标题出自丘吉尔,很有道理。作者讲述了美国零售业发展历史,印证了零售行业从来没有离开多快好省,只不过在不同阶段有不同的优先级这句话。每个阶段的进化往往是环境和技术在背后推动。

Fallacies of distributed systems — 列举了分布式系统里的几个常见误区。

THE GOOD, THE BAD, AND THE UGLY OF MOBY/BUILDKIT — 学习了 buildx,升级对 dockerfile 的认知。作者现在创业,打造面向算法工程师的开发工具 envd,已开源在 GitHub 上。

我的商业思维的变迁 — 很赞同作者的观点,作为程序员,不要只专注在技术上,也需要学习商业思维。当然,发展副业除了赚钱,做一款伟大的产品取悦自己同样重要。

Startups, Write Changelogs — 作者提出并论证了创业公司为什么要持续写 changelog。

产品和工具

Tools for better thinking — 辅助思考的框架。

Umbrel — 适合喜欢自己托管服务爱折腾的人,btw,landing page 设计是真的好看。

404 Illustrations — 有趣的 404 插图。

Every Default macOS Wallpaper — 作者收集了 macOS 历代系统壁纸,我最喜欢 Big Sur 的壁纸。

A list of new(ish) command line tools — 不同用途的小工具,总有几个称手的。