长期免费的数据库方案——零成本基建系列
长期免费的数据库方案——零成本基建系列做完前面几篇零成本 API 的整理后数据库这一块花了更久。原因很简单很多“免费数据库”的介绍只写了注册时送多少额度却没写清楚额度会不会重置、闲置会不会暂停或者把缓存服务也算成数据库。服务类型当前免费规则这次测试Cloudflare D1SQLite / SQL5 GB总计每天 500 万行读取、10 万行写入完整 CRUD 通过SupabasePostgreSQL500 MB 数据库、2 个活跃项目本机完整 CRUD 通过MongoDB Atlas M0文档数据库512 MB、共享实例本机完整 CRUD 通过Firebase Firestore文档数据库1 GiB、每天 5 万读 / 2 万写 / 2 万删完整 CRUD 通过TiDB Cloud StarterMySQL 兼容前 5 个实例各有 5 GiB 行存储和每月 5000 万 RU能连接但默认用户无建表权限这里的“长期免费”指的是服务商目前有可反复使用的免费档不是承诺永远不改价。个人博客、小工具、原型验证先用这些方案问题不大业务跑起来以后还是要盯一下控制台里的用量和邮件。先按数据长什么样来选如果数据是用户、订单、文章、权限这类有明确关系的东西优先从 SQL 数据库里挑。以后要补查询、统计和关联省得把原本简单的关系拆成一堆文档。MongoDB Atlas 和 Firestore 更适合结构变化频繁的文档数据例如聊天记录、表单内容、设备状态。Firestore 还和 Firebase Auth、移动端 SDK 接得很近已经在 Android 或 Firebase 生态里做东西时会省掉不少接线工作。Redis 也常出现在免费数据库清单里。Upstash Redis 的免费档目前是 1 个库、256 MB、每月 50 万命令。它适合缓存、限流、短期状态不能替代上面这些用来长期存业务数据的库所以没有把它放进正文的主选项。Cloudflare D1已经在 Cloudflare 上时少折腾一套账号D1 是 SQLite和 Cloudflare Workers、Pages Functions 放在同一个体系里。免费计划现在给 5 GB 总存储每天 500 万行读取和 10 万行写入流量不收费配额在 UTC 零点重置。D1 定价说明 写得比较细。我创建了一个临时数据库依次执行建表、插入、查询、更新、删除全部返回正常后立刻删库。D1 不提供给普通 Node 程序直接连的 TCP 地址它更适合把查询放在 Worker 或 Pages Function 里exportdefault{asyncfetch(request,env){awaitenv.DB.prepare(CREATE TABLE IF NOT EXISTS notes (id INTEGER PRIMARY KEY, body TEXT)).run();awaitenv.DB.prepare(INSERT INTO notes (body) VALUES (?)).bind(D1 CRUD test).run();const{results}awaitenv.DB.prepare(SELECT * FROM notes).all();returnResponse.json(results);}};已经在用 Cloudflare Pages 的网站后面真要加一个留言、订阅或访问统计的小接口D1 是我会先试的选项。数据量很大、查询很重或者程序根本不跑在 Cloudflare 上就别为了 D1 绕路。看过前面几期使用过Cloudflare并创建过token的可以在原来的token上增加D1的权限来复用这个token。PostgreSQLSupabase 能直接用Supabase 免费项目给 500 MB PostgreSQL、共享 CPU、5 GB 出站流量和 2 个活跃项目一周没有活动的免费项目可能会暂停免费档也没有自动备份。Supabase 价格页 的限制比较直白。注册的死后注意选择Free。这次用 Node 的pg连 Supabase完整 CRUD 在本机 PowerShell 里通过。中间碰到过一个容易误判成网络故障的问题项目直连地址是 IPv6 优先的在没有 IPv6 的网络里会超时。换成控制台给的 Session Pooler5432 端口后才正常。官方的连接说明也把这两种连接方式分开写了。importpgfrompg;constclientnewpg.Client({connectionString:process.env.SUPABASE_DATABASE_URL});awaitclient.connect();awaitclient.query(CREATE TABLE IF NOT EXISTS codex_db_test (id SERIAL PRIMARY KEY, body TEXT));const{rows:[note]}awaitclient.query(INSERT INTO codex_db_test (body) VALUES ($1) RETURNING id,[Supabase CRUD test]);awaitclient.query(SELECT body FROM codex_db_test WHERE id $1,[note.id]);awaitclient.query(UPDATE codex_db_test SET body $1 WHERE id $2,[updated,note.id]);awaitclient.query(DROP TABLE codex_db_test);awaitclient.end();MongoDB Atlas 和 Firestore文档数据各有各的顺手处MongoDB Atlas 的 M0 仍是免费共享集群容量 512 MB最高 100 次操作/秒。连续 30 天没有连接的免费集群会自动暂停需要时再恢复。Atlas 定价页和闲置集群说明都提到了这一点。注册创建相对简单就不赘述了。测试时用了独立集合插入文档后做了查询、更新、删除最后把集合删除。本机的结果是通过的import{MongoClient}frommongodb;constclientnewMongoClient(process.env.MONGODB_URI);awaitclient.connect();constcollectionclient.db(codex_test).collection(crud_${Date.now()});awaitcollection.insertOne({body:MongoDB CRUD test,version:1});awaitcollection.findOne({version:1});awaitcollection.updateOne({version:1},{$set:{version:2}});awaitcollection.deleteOne({version:2});awaitcollection.drop();awaitclient.close();Firestore 的免费额度是 1 GiB 存储、每天 5 万次读、2 万次写、2 万次删每个项目只能有一个免费数据库。它的计量日按太平洋时间过零如果打开 TTL、PITR 或备份等功能则需要启用计费。Firestore 价格页把这些边界写得很清楚。我用服务账号通过 Admin SDK 写入和删除了一个临时文档CRUD 通过。下面这段是最小的写入、读取和删除import{cert,initializeApp}fromfirebase-admin/app;import{getFirestore}fromfirebase-admin/firestore;constappinitializeApp({credential:cert(JSON.parse(process.env.FIREBASE_SERVICE_ACCOUNT_JSON))});constdbgetFirestore(app);constrefdb.collection(codex_tests).doc(crud_${Date.now()});awaitref.set({body:Firestore CRUD test,version:1});awaitref.get();awaitref.update({version:2});awaitref.delete();TiDB Cloud Starter连上了卡在权限上TiDB Cloud 的免费 Starter 计划在 2025 年已经改名为 Serverless。一个组织前 5 个 Starter 实例各有 5 GiB 行存储、5 GiB 列存储和每月 5000 万 RU额度用完且消费上限为 0 时连接会被拒绝或限流等下个自然月恢复不会直接自动扣费。Starter FAQ有完整说明。注册创建相对简单注意选择Starter。它用的是 MySQL 协议公网连接要求 TLS。我这次的连接、TLS 和认证都成功了真正执行CREATE TABLE时返回了下面这个错误CREATE command denied to user 3z7**********y71.root%也就是说问题不在连接串或防火墙而是默认prefix.root用户没有建表权限。控制台里没看到SQL Users也不是漏找菜单这个页面目前还是 public preview要从右下角?进入 Support Tickets 申请开通默认 root 用户的角色不能修改。细节见 SQL Users 文档。importmysqlfrommysql2/promise;constconnectionawaitmysql.createConnection({uri:process.env.TIDB_CONNECTION_URL,ssl:{rejectUnauthorized:true}});awaitconnection.query(SELECT 1);// 这一步通过awaitconnection.query(CREATE TABLE codex_db_test (id INT PRIMARY KEY));// 默认用户在这里被拒绝awaitconnection.end();TiDB 的 MySQL 兼容性对已有项目很友好但这次的结果不能写成“CRUD 已通过”。等 SQL Users 申请下来创建一个有 DDL 权限的测试用户再补一次完整测试。注意实际使用时公网白名单不要长期放0.0.0.0/0测试结束后应收回到自己的出口 IP。怎么选要给 Cloudflare 上的小功能加数据选 D1需要 PostgreSQL 又想顺手把登录、文件存储一起处理选 Supabase移动端项目已经在 Firebase 里Firestore 更自然。MongoDB Atlas 适合明确想用文档模型的场景。免费额度能让人少花一笔钱注意做好数据备份切用且珍惜如果你觉得文章对你有用可以关注我获取更多的零成本基建资讯。

相关新闻

Claude Code部署与实战指南:从零搭建AI编程助手到企业级应用

Claude Code部署与实战指南:从零搭建AI编程助手到企业级应用

如果你是一名开发者,最近一定在各种技术社区和社交平台上频繁看到“Claude Code”这个名字。它被描述为“下一代AI编程助手”、“代码生成的革命”,甚至有人宣称它将彻底改变开发工作流。但当你真正想去尝试时,却发现信息极其混乱&#xff1a…

2026/10/11 1:28:41 阅读更多 →
基于Obsidian与Codex构建本地AI知识库:实现自动化笔记管理与智能摘要

基于Obsidian与Codex构建本地AI知识库:实现自动化笔记管理与智能摘要

还在手动整理海量笔记、为写摘要发愁?每天花几小时整理资料,最后发现信息还是零散不成体系?如果你正在寻找一个能自动整理、智能摘要、真正帮你沉淀知识的本地化方案,那么 Obsidian Codex 的组合绝对值得一试。本文将从零开始&am…

2026/10/8 16:32:37 阅读更多 →
Python数据处理练习:Pandas与Matplotlib实战

Python数据处理练习:Pandas与Matplotlib实战

由于您提供的输入内容过于简略(仅有一个标题"day 16练习"),缺乏必要的项目描述、关键词和背景信息,我无法生成符合要求的5000字深度技术博文。为保障内容质量,请您补充以下关键信息:项目领域&…

2026/10/1 12:40:04 阅读更多 →

最新新闻

二手车交易数据分析与可视化:从清洗到交互看板的完整实践

二手车交易数据分析与可视化:从清洗到交互看板的完整实践

简介:二手车交易数据分析与可视化系统是一份面向数据分析学习者与前端开发者的综合实战资源。项目整合网络爬虫、前后端分离架构、MySQL数据库存储以及Pandas/NumPy数据分析流程,最终通过Echarts、Plotly等交互式图表呈现二手车价格、里程与市场趋势&…

2026/10/11 2:25:01 阅读更多 →
LOL数据集与YOLOv8实战:从格式转换到小目标检测避坑指南

LOL数据集与YOLOv8实战:从格式转换到小目标检测避坑指南

简介:面向LOL英雄联盟角色检测任务,数据集包含3000张对局截图,提供Pascal VOC与YOLO两种标注格式,覆盖己方小兵、敌方小兵、己方防御塔、敌方防御塔、LUX、VAYNE共6类目标,总计24665个标注框,适合训练YOLO系…

2026/10/11 2:25:01 阅读更多 →
API测试的数据管理:从分类、隔离到清理的系统化实践

API测试的数据管理:从分类、隔离到清理的系统化实践

对不少做API测试的人来说,工作里最磨人的其实不是怎么写脚本,而是“用什么数据去跑脚本”。我参与过好几个接口自动化测试项目,真正让用例反复失败、需要半夜爬起来重跑、甚至让测试结果被质疑的,十有八九都跟测试数据有关。明明接…

2026/10/11 2:25:01 阅读更多 →
Python深度学习CNN水果识别系统实战:从数据集到部署全流程

Python深度学习CNN水果识别系统实战:从数据集到部署全流程

简介:这份资源是面向计算机相关专业学生与项目实战学习者的深度学习实战项目,以Python结合CNN卷积神经网络实现水果图像识别,可直接用于毕业设计、期末大作业或课程实践,难度适中,适合具备一定Python与机器学习基础、希…

2026/10/11 2:25:01 阅读更多 →
百家CMS黑盒测试实战:从用例设计到缺陷提交全流程

百家CMS黑盒测试实战:从用例设计到缺陷提交全流程

接到“百家cms 黑盒测试”这个任务时,我第一反应不是翻源码,而是把系统装进测试环境,像普通网站管理员一样从登录页开始点。黑盒测试说白了,就是不关心系统内部用的是什么语言、表结构怎么设计、代码里有没有注释,只看…

2026/10/11 2:25:01 阅读更多 →
通达OA 2017授权机制解析与合法注册重建指南

通达OA 2017授权机制解析与合法注册重建指南

简介:本资源提供通达OA 2017版本的注册与授权支持文件,面向企业信息化管理员、OA系统实施人员及二次开发技术人员,用于解决正版授权受限、部署次数受限或功能模块被锁定等实际运维问题。压缩包共5个文件,含2个关键.dat授权数据文件…

2026/10/11 2:24:01 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →