📄 一句话概括
数据库装在哪台机器上,决定了谁替你操心它的死活——内部部署(On-Premises)=自己买服务器自己管,云服务=租别人的机房按月付钱。
📝 本节和前面几节的关系
第五章我们纸上谈兵:把书评网站的设计图(E-R 图、规范化、DDL)画完了。设计完的表总要找个地方住——这一章整章都在回答「住进去之后怎么让它安全地活着」。本节先选「住址」:自家机房还是云上;后面八节再谈水电(电源)、保安(权限)、监控、备份、搬家、保险柜(加密)、装修翻新(版本升级)。
一、两种放置方式
| 内部部署(On-Premises) | 云服务(Cloud) | |
|---|---|---|
| 服务器在哪 | 自己公司的机房 | 云厂商(AWS、阿里云等)的机房 |
| 硬件谁买 | 自己买 | 厂商买,你租 |
| 谁负责维护 | 自己的 IT 团队 | 厂商管硬件,你管数据库本身 |
| 花钱方式 | 一次性大投入 | 按月/按用量付费 |
| 数据在哪 | 自己手里 | 厂商那里(合规要确认) |
二、怎么选
- 内部部署适合:数据敏感不能出门、已有机房和 IT 团队、长期稳定用量
- 云服务适合:初创团队没机房、用量波动大、想快速上线
- 两者也能混着用(混合云):核心数据留在家,弹性业务放云上
三、本课的立场
我们课上的 SQLite 就是一个单机内部部署的极端简化版——数据库就是一个文件,住在自己电脑里,不用电、不用网、不花钱。云服务是「规模大了之后」的事。
四、动手 Demo:看清自己的数据库住哪
用前面章节建好的 school 数据库(3-3 创建),回答三个问题:
-- ① 数据库文件在哪?(SQLite 视角)
-- 在线运行器里它在「浏览器内存/云端沙箱」;
-- 本地 SQLite CLI 里它就是一个 .db 文件,躺在你的硬盘上
-- ② 谁在替你管理它?
-- SQLite:不用服务进程,程序直接读文件(无管理员可当)
-- MySQL 等商用 DBMS:有专门的服务进程 + DBA 角色
-- ③ 停电了会怎样?
-- 本地笔记本:电池撑一会儿,没电就停(靠第四章的事务保证不写坏)
-- 云机房:UPS 不间断电源 + 柴油发电机,停电不停机
【准备块】无——只是思考实验,连库都不用开也能答对一半。
五、30 秒实验
把「数据库住哪」想成「钱放哪」:内部部署=家里保险柜(自己管、丢了没人赔);云服务=银行(别人管、出了事有 SLA 赔付条款)。问自己:你现在手机相册的照片属于哪种?(答案:云服务——除非你从没开过自动备份。)
六、常见误区
- 「云=不安全」:大厂机房的物理安全、冗余电源往往比你公司强;真正的风险在「数据出境合规」和「账号泄露」
- 「上了云就不用管了」:云只替你管硬件;权限、备份策略、账号安全还是你的事(这正是 6-4 以后各节的内容)
- 「内部部署=过时」:银行、医院、政府大量系统至今内部部署,不是落后而是合规要求
自测三问
1. 内部部署和云服务最核心的一条区别是什么?(硬件归属与维护责任:自己买自己管 vs 租用厂商管) 2. 云服务模式下,数据库的**权限配置**该谁做?(使用方——也就是你,厂商只管基础设施) 3. SQLite 属于哪种?(极端简化的单机内部部署:数据库就是一个本地文件)- ☐ 下一节(6-2 电源、计算机病毒、成本-公司内部管理数据库服务器的注意事项)
相关笔记
- 步骤的整理-引入系统的流程 —— 引入流程的最后一环:把设计好的库安放进「场所」
- 数据库管理系统、DBMS-运行数据库的系统 —— 本章要保障的对象就是它
- 电源、计算机病毒、成本-公司内部管理数据库服务器的注意事项 —— 下一节:选了内部部署后要操心的具体事
- 🗄️ 数据库基础 · 索引 —— 全课路线图