数据持久化与数据库
7.3 后端方案选择
Tip
了解不同的后端部署方案,选择最适合独立开发者的"快车道"。
1. 为什么要学这个?
你想做一个 App,功能只是简单的"用户留言"。
如果你选错了路(自建服务器): 你需要买服务器、装 Linux、装数据库、配防火墙、搞域名、申请 SSL 证书、配置 Nginx... 一周过去了,你还在调服务器配置,一行业务代码都没写。
如果你选对了路(BaaS): 注册账号,点击"创建",1分钟获得全套数据库和 API。
选择 BaaS,让你从繁琐的运维泥潭中彻底解脱,把节省下来的那一周时间,用来把你的产品推向市场。
2. 核心概念
📝 核心比喻:部署后端 = 解决了住的问题。
2.1 🛠️ Self-hosted (自建) —— 买地盖房
- 做法:买云服务器 (EC2/阿里云),自己安装 MySQL/Postgres。
- 优点:房子完全属于你,想怎么装修就怎么装修,没有房租(但有地皮费)。
- 缺点:
- 累:接水电、通网线、修屋顶(运维)全得自己干。
- 险:盖不好容易塌(宕机),还容易被贼偷(黑客攻击)。
2.2 🏨 BaaS (后端即服务) —— 五星级酒店
- 做法:使用 Supabase / Firebase。
- 优点:
- 拎包入住:水电网、保洁、安保(扩容、备份、安全)都有专人搞定。
- 极速:你只管住(写业务代码),不用管房子怎么盖。
- 缺点:
- 贵:长期住酒店肯定比自己盖房贵。
- 受限:不能随意砸墙改格局。
Vibe Selection: 本教程推荐 Supabase。因为它底层是标准的 PostgreSQL。这就像是住酒店,但家具都是标准的,万一酒店倒闭了,你可以把家具打包带走(导出数据),无缝搬到另一家。这就叫 "不被锁定" (No Vendor Lock-in)。
决策流程图
graph TD
A[开始新项目] --> B{有专门的运维队友吗?}
B -- 有 --> C[自建 / 云托管 RDS]
B -- 没有 --> D{是简单的Demo吗?}
D -- 是 --> E["SQLite (本地文件)"]
D -- 否 --> F["Supabase (BaaS)"]
style F fill:#c8e6c9,stroke:#2e7d32
3. 适用场景
| 🏷️ 方案 | 🎯 适合谁 | ⭐ 推荐指数 |
|---|---|---|
| Supabase (BaaS) | 独立开发者、创业公司MVP、不想搞运维的人 | ⭐⭐⭐⭐⭐ |
| Docker 自建 | 极客、只有内网环境、预算极其有限 | ⭐⭐⭐ |
| 阿里云 RDS | 中大型公司、预算充足、数据极其重要 | ⭐⭐⭐⭐ |
4. 避坑指南
| ❌ 不要这样做 | ✅ 应该这样做 | 💡 为什么 |
|---|---|---|
| 一上来就买3年服务器 | 先用 BaaS 的免费额度 | 99%的项目活不过3个月,别浪费钱。等用户量大了再迁移也不迟。 |
| 深度依赖 BaaS 的私有功能 | 只用标准的 SQL/Postgres 功能 | 防止厂商跑路或涨价时,你没法迁移数据(被套牢)。 |
| 以为云服务永远不挂 | 即使是云服务,也要定期导出备份 | 亚马逊/谷歌都有挂的时候,数据在自己硬盘里才最安全。 |
5. 真实案例
Story
2016年,Parse.com 的关闭灾难
2013年,Parse 是当时全球最火的 BaaS 平台,被 Facebook 收购后,几十万开发者把身家性命押在它上面。2016年,Facebook 突然宣布关闭 Parse。一夜之间,几十万个 App 被迫在一年内通过极其复杂的流程迁移数据。很多小团队因为技术实力不够,无法完成迁移,直接随着 Parse 的关闭而倒闭。
Vibe心法:效率决定生死,标准决定退路——起步选 Supabase 追求极速,但一定要选基于开源标准 (Postgres) 的技术,确保当巨头离场时,你有随时"搬家"的底气。
6. 本章小结
- 🚀 起步要快:初期不要在运维上浪费一秒钟,首选 Supabase。
- 🔄 退路要稳:选择开源标准 (Postgres),拒绝厂商锁定。
- 💾 数据在手:无论服务商多大牌,定期把数据备份到自己手里。