2026上半年软考已进入倒计时。自系统架构师第二版教程开考以来,案例分析中数据库相关主题的分布如下:
| 年份 |
主题 |
分值 |
| 25下半年 |
Redis互斥锁缓存方案、逻辑过期方案、以及两方案对比 |
25 |
| 25上半年 |
Redis主从同步填空、增量主从同步填空、持久化方式对比 |
25 |
| 24下半年 |
数据库设计-Cache-aside架构、读写、一致性问题 |
25 |
| 24上半年 |
数据库分布式锁、Redis锁、死锁场景、ZSET命令 |
25 |
| 23年 |
数据库持久层,Redis,读写分离 / 大数据架构(必答题) |
25 |
数据库的复习是重头戏,每个人都必须严肃对待,这也是决定能否通过考试的关键因素之一。
- 综合知识:约占 4~5 分。
- 案例分析:基本属于必考内容。
- 基本概念:三级模式-两级映像、关系代数运算。
- 数据库模型:E-R模型、关系模型、关系代数。
- 规范化:函数依赖、键与约束、范式、模式分解。
- 事务并发:并发三种问题、三级封锁协议。
- 数据库的设计:规划、需求分析、概念设计、逻辑设计、物理设计,以及各阶段的交付成果。
- 数据库的性能优化:从硬件、设计、应用软件到系统软件的全方位考量。
- 数据库新技术:数据库安全与备份、反规范化、分布式数据库、缓存数据库、数据库集群、两阶段提交与三阶段提交。
- Redis专题:主从复制、同步机制、锁机制、三种模式、持久化方式。
以上考点内容虽不庞杂,但要求真正融会贯通。这里仅列举部分核心要点,供大家查漏补缺:
1. 封锁技术
处理并发控制的主要手段是采用封锁技术。它主要有两种类型:排他型封锁(X 封锁)和共享型封锁(S 封锁)。
- 排他型封锁(X 封锁):如果事务 T 对数据 A(可以是数据项、记录、数据集,乃至整个数据库)实现了 X 封锁,那么只允许事务 T 读取和修改数据 A,其他事务必须等待事务 T 解除 X 封锁后,才能对数据 A 实现任何类型的封锁。X 封锁只允许一个事务独锁某个数据,具有排他性。
- 共享型封锁(S 封锁):为了允许并发读,但不允许修改,便有了 S 封锁的概念。其含义是:如果事务 T 对数据 A 实现了 S 封锁,那么允许事务 T 读取数据 A,但不能修改数据 A。在所有 S 封锁解除之前,绝不允许任何事务对数据 A 实现 X 封锁。
2. 两阶段提交协议(2PC)
2PC协议将数据提交分为两个阶段,目标是保证分布式事务的原子性。
- 表决阶段:协调者向所有参与者发布“准备提交”指令,各参与者进行表决,且具有一票否决权,目的是形成一个共同的决定。
- 执行阶段:协调者根据表决结果下发指令,参与者据此提交或撤销事务,并向协调者发送确认信息,目的是执行协调者的决定。
- 核心规则:只要有一个参与者选择撤销事务,协调者就必须做出全局撤销的决定;只有当所有参与者都同意提交时,协调者才能做出全局提交的决定。
3. 三阶段提交协议(3PC)
3PC协议在2PC基础上增加了一个阶段,以降低阻塞风险,它将数据提交流程划分为三个阶段:
- 第一阶段:协调者向所有参与者发布“准备提交”指令并进行表决。只有所有参与者都投票“建议提交”,才会进入第二阶段。
- 第二阶段:协调者向所有参与者发送“全局预提交”指令。只有在收到所有参与者“准备就绪”的响应后,才能进入下一阶段。
- 第三阶段:协调者向所有参与者正式发布“全局提交”报文。
在高并发的分布式系统环境下,深入理解2PC与3PC的机制差异和适用场景,对于架构设计至关重要。以上内容你都掌握了吗?现在正是查漏补缺的好时机。
|