Cloudflare D1:免费 5GB SQLite,全球分布
独立开发者最头疼的事之一就是数据库。
租个 RDS?最便宜的 MySQL 也要 $10/月起,还没算存储和流量。自己装?要操心备份、升级、主从复制、连接池……Supabase 和 PlanetScale 很好,但免费套餐一过期就开始烧钱。
D1 是 Cloudflare 的 Serverless 数据库,基于 SQLite。免费 5GB 存储、每天 500 万次读、10 万次写,永久免费。付费后 $0.001/百万次读,存储 $0.75/GB-月,而且出口流量完全免费。
对独立开发者来说,这意味着你可以在 $0 的成本下跑一个正经的数据库,等到真正有用户了再按量付费。
- 免费额度大:5GB 存储 + 500 万行读/天,永久免费
- SQLite 兼容:标准 SQL 语法,迁移零成本
- 全球读副本:自动跨区域复制,延迟低
- 零出口费:数据传出完全免费
- 与 Workers 原生集成:一个 Binding 搞定,不需要连接字符串
D1 是一个 Serverless SQL 数据库,底层基于 SQLite。你可以把它理解为”不用运维的 SQLite”——你写标准的 SQL,D1 帮你处理存储、备份、复制、扩展。
和传统数据库最大的区别是:没有连接池的概念。D1 通过 Workers Binding 直接调用,每次查询都是一个独立的请求,不需要维护数据库连接。这意味着你不用担心连接数耗尽、连接泄漏这些问题。
D1 的架构:
1 | 用户请求 |
写入流程:Worker 通过 Binding 发起写请求 → D1 Primary 节点处理 → 返回结果。写入总是走 Primary 节点,保证强一致性。
读取流程:Worker 发起读请求 → D1 根据 Session 配置路由到最近的 Replica → 返回结果。使用 Sessions API 可以保证读到最新写入的数据(Sequential Consistency)。
D1 vs 其他数据库:到底差在哪?
| 对比项 | Cloudflare D1 | Supabase | PlanetScale | Neon |
|---|---|---|---|---|
| 免费存储 | 5GB | 500MB | 5GB | 512MB |
| 免费读操作 | 500 万行/天 | 无限(有限制) | 10 亿行/月 | 191 小时/月 |
| 免费写操作 | 10 万行/天 | 无限(有限制) | 5000 万行/月 | 191 小时/月 |
| 出口费 | 免费 | 5GB 后收费 | 免费 | 免费 |
| 数据库类型 | SQLite | PostgreSQL | MySQL(兼容) | PostgreSQL |
| 全球分布 | 自动读副本 | 单区域 | 多区域 | 多区域 |
| Workers 集成 | 原生 Binding | 需连接字符串 | 需连接字符串 | 需连接字符串 |
| 付费起步 | $5/月(Workers) | $25/月 | $29/月 | $19/月 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Hexo!




