📄 一句话概括
DBMS 分商用与开源两大阵营——一个花钱买省心,一个免费换自主;没有最好的,只有最合适的。
📝 本节和前面几节的关系
1-3 点过几个 DBMS 的名字(MySQL、Oracle……);本节把这份名单按【商用/开源】铺成一张家谱,并回答一个实际问题:【真要做个系统,我该挑哪个?】
一、两大阵营是什么意思
按源代码和收费方式分:
| 阵营 | 特点 | 类比 |
|---|---|---|
| 商用 | 收费、源码不公开、厂家提供全套服务 | 请专业物业的商品房 |
| 开源 | 免费使用、源码公开、社区维护 | 自家小院自己打理 |
- 商用:花钱买的与其说是软件,不如说是服务——出问题有人 24 小时接电话、有人赔、有人上门。银行、电信这类【不能出事】的单位最认这个。
- 开源:软件本身免费,源代码人人可看可改;代价是出了问题主要靠自己(或购买第三方的技术服务)。互联网公司几乎全是开源阵营。
二、认脸清单
| 名字 | 阵营 | 一句话特点 | 典型用户 |
|---|---|---|---|
| Oracle | 商用 | 贵、稳、功能全,老牌旗舰 | 银行、电信 |
| SQL Server | 商用 | 微软家,和 Windows 配合顺滑 | 用微软技术栈的企业 |
| DB2 | 商用 | IBM 家,大型机老将 | 银行核心系统 |
| MySQL | 开源 | 全世界用得最多的开源库 | 网站、App 后台 |
| PostgreSQL | 开源 | 功能最全的开源库,标准最守规矩 | 对数据质量要求高的系统 |
| SQLite | 开源 | 不用安装、单文件、小到几百 KB | 手机 App、微信、浏览器 |
三行商用、三行开源——本课后面的示例全用 SQLite/MySQL 风格(因为免费、随手就能练)。
三、怎么选:四个看
- 看预算:买得起服务又出不起事故 → 商用;预算有限 → 开源
- 看规模:个人项目、小 App → SQLite 就够;网站后台 → MySQL/PostgreSQL;银行核心 → 商用
- 看人:团队会什么就用什么——熟悉 Windows 全家桶 → SQL Server 顺手
- 看生态:用的语言、框架对哪个库支持最好(招人好不好招、资料多不多)
记住结论:数据库没有【最强】,只有【最配】。 微信用 SQLite 跑得好好的,不代表它比 Oracle 差——场景不同。
四、动手 Demo:给三个项目选数据库
只做决策,不写代码。给下面三个假想项目选 DBMS,并写出一句话理由:
| 项目 | 你的选择 | 理由要点 |
|---|---|---|
| 个人记账 App(单机) | ? | 数据量小、就自己用、不值得花钱 |
| 公司官网后台(日活一万) | ? | 免费开许可、资料多、好招人 |
| 银行核心账务系统 | ? | 出不起事故,买服务买保障 |
参考答案:SQLite / MySQL(或 PostgreSQL)/ Oracle 等商用库。核心不是答案本身,是每个选择都能说出【看预算/看规模/看人/看生态】里的哪一条。
五、30 秒实验
打开招聘网站,搜【后端开发】,翻几个职位要求:
- 几乎每一条都写着 MySQL、Redis、PostgreSQL 之类的名字
- 观察:开源库的出现频率远高于商用库——这就是当下互联网的主流格局
六、常见误区
- "开源=不安全、低端" —— 恰恰相反:开源意味着全世界的人都能审查代码,漏洞藏不住;MySQL/PostgreSQL 撑着大半个互联网。
- "商用的一定更好" —— 商用买的是服务和责任兜底,不是性能碾压。论新功能,开源库常常跑得更快。
- "学了 MySQL 就只会 MySQL" —— 各家 DBMS 说的都是同一门语言 SQL(下一节的主角),学的是【方言 differences】之外的大同。
自测三问(点开对答案)
1. 商用与开源最核心的区别是什么? **是否收费、源码是否公开**——商用买服务,开源换自主。 2. 微信手机 App 里用的是哪个 DBMS? **SQLite**——单文件、免安装、几百 KB 也照样是正牌数据库。 3. 选型的【四个看】是什么? **看预算、看规模、看人、看生态**;没有最强,只有最配。- ☐ 下一节(1-6 SQL-用于操作数据库的命令)
相关笔记
- 数据库管理系统、DBMS-运行数据库的系统 —— 本节名单在上一节已露过脸
- 🗄️ 数据库基础 · 索引 —— 全课路线图