3.1.2 数据库体系结构
本课核心知识点整理
本节导学
数据库体系结构讲的是“数据库、应用程序、客户端、服务器和数据位置如何组织”。字幕里先讲集中式,再讲 C/S、B/S,最后延伸到分布式数据库。软考近年常把分布式数据库的透明性拿来考,因此不要只停留在“多台机器”这个表面。
体系结构的演进可以理解为:从单机集中处理,到客户端/服务器分工,再到浏览器/服务器降低客户端部署成本,最后到数据物理分布但逻辑统一的分布式数据库。
常见体系结构
| 结构 | 核心特点 |
|---|---|
| 集中式数据库 | 数据集中存放,处理也主要集中在中心主机 |
| C/S 结构 | 客户端负责界面和部分处理,服务器负责数据库服务 |
| B/S 结构 | 浏览器作为客户端,通过 Web 服务器访问数据库 |
| 分布式数据库 | 数据物理上分布在多个场地,逻辑上表现为一个整体 |
C/S 强调客户端和服务器分工,客户端通常需要安装专门程序。B/S 强调浏览器访问,客户端更轻,适合 Web 应用。
为什么技术会演进
| 结构 | 优势 | 局限 | 后续结构解决什么 |
|---|---|---|---|
| 集中式 | 简单,数据和管理集中 | 单点压力大,扩展和远程访问不灵活 | C/S 分离客户端和服务器职责 |
| C/S | 客户端交互能力强,服务器集中管理数据 | 客户端安装维护成本高 | B/S 用浏览器降低客户端部署成本 |
| B/S | 客户端轻,便于跨平台访问 | Web 层压力、网络依赖更明显 | 分布式进一步解决地域、扩展和可用性 |
| 分布式 | 物理分布、逻辑统一、可提高可用性 | 一致性、透明性和事务管理更复杂 | 通过透明性和分布式事务机制协调 |
分布式数据库的透明性
分布式数据库不是简单把文件复制到多台机器,而是在物理分布的基础上提供统一访问。用户或应用理想情况下不需要知道数据在哪个场地、是否有副本、如何分片。
| 透明性 | 解决的问题 |
|---|---|
| 位置透明 | 用户不必知道数据存放在哪个节点 |
| 分片透明 | 用户不必知道表被如何水平/垂直拆分 |
| 复制透明 | 用户不必知道数据有几个副本 |
| 故障透明 | 某些节点故障时系统尽量继续服务 |
做题路线
| 题干关键词 | 判断方向 |
|---|---|
| 浏览器访问、Web 服务器 | B/S |
| 专用客户端程序、数据库服务器 | C/S |
| 数据物理分散、逻辑统一 | 分布式数据库 |
| 某场地故障后其他副本继续服务 | 分布式数据库可用性 |
| 用户不需要知道数据在哪个场地 | 位置透明 |
做题时先判断访问方式,再判断数据是否物理分布。C/S、B/S 主要是应用访问结构;分布式数据库强调数据物理分布但逻辑上统一。
例题
数据物理上分布在多个场地,逻辑上又表现为一个整体,这类系统通常称为:
用户通过浏览器访问 Web 应用,再由 Web 应用访问数据库,通常属于:
自查要点
- C/S 和 B/S 的客户端形态有什么区别?
- 分布式数据库为什么强调“物理分布、逻辑统一”?
- 位置透明解决的是什么问题?