长期免费的数据库方案——零成本基建系列
长期免费的数据库方案——零成本基建系列做完前面几篇零成本 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/8/16 6:26:57 阅读更多 →
基于Obsidian与Codex构建本地AI知识库:实现自动化笔记管理与智能摘要

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

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

2026/8/16 6:25:57 阅读更多 →
Python数据处理练习:Pandas与Matplotlib实战

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

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

2026/8/16 6:25:57 阅读更多 →

最新新闻

重装系统后黑屏全攻略:从硬件排查到驱动修复的完整解决方案

重装系统后黑屏全攻略:从硬件排查到驱动修复的完整解决方案

1. 问题现象与初步排查:从“黑屏”到“有迹可循” 刚给电脑重装完系统,满心欢喜地按下重启键,结果屏幕一片漆黑,只有风扇在转,指示灯在亮。这种从希望到失望的落差,相信不少朋友都经历过。这不仅仅是“黑屏…

2026/8/16 8:32:46 阅读更多 →
C++初始化列表:高效对象构造的必知技巧

C++初始化列表:高效对象构造的必知技巧

在 C 中,对象的初始化是每个开发者都必须掌握的基础能力,也是面试中高频考察的知识点。很多初学者在编写构造函数时,常常混淆「初始化」与「赋值」的区别,导致代码存在隐藏的性能开销,甚至因为 const 成员、引用成员或…

2026/8/16 8:32:46 阅读更多 →
操作系统用户态与内核态:从隔离原理到性能优化实战

操作系统用户态与内核态:从隔离原理到性能优化实战

1. 从一次“程序无法运行”的报错说起最近在社区里看到一个挺有意思的求助帖,一位开发者朋友在尝试运行一个名为claude.exe的程序时,系统弹出了“指定的可执行文件不是此操作系统平台的有效应用程序”的错误。这个看似简单的报错,其实背后牵扯…

2026/8/16 8:32:46 阅读更多 →
外景 白色城堡 建筑模型

外景 白色城堡 建筑模型

本项目为前几天收费帮学妹做的一个项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 白色城堡 建筑模型 地址:本地PC端运行(或WebGL端部署链接&a…

2026/8/16 8:32:46 阅读更多 →
运动相机|秋冬户外相机续航雪崩?拆解锂电池低温衰减原理 + 量产优化方案 + 户外省电技巧

运动相机|秋冬户外相机续航雪崩?拆解锂电池低温衰减原理 + 量产优化方案 + 户外省电技巧

上一篇我们聊完了运动相机防水避坑和镜头凝雾问题,今天进入一个新的板块:秋冬低温续航缩水。 很多户外拍摄爱好者、硬件研发工程师都会发现,运动相机在冬天户外使用时,续航表现会明显变差。同样一块电池,常温下可以连续…

2026/8/16 8:32:46 阅读更多 →
OpenClaw与OpenRouter集成:一站式大模型API聚合与智能路由实践

OpenClaw与OpenRouter集成:一站式大模型API聚合与智能路由实践

1. 从“单打独斗”到“一钥通达”:为什么我们需要模型聚合层 如果你和我一样,在过去一年里深度折腾过各种大模型,那你一定经历过这种“甜蜜的烦恼”:ChatGPT的对话逻辑严谨,Claude的文档分析能力出众,DeepS…

2026/8/16 8:31:45 阅读更多 →

日新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/16 6:00:23 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/16 6:00:24 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/16 6:00:27 阅读更多 →