FChao
发布于 2026-05-10 / 1 阅读
0
0

数据库系统工程师⑰:数据库运行与管理

按考察知识点分类:

数据库应用系统体系结构

1.在C/S 体系结构中,客户端执行的操作是()。

A触发器

B嵌入式SQL

C存储过程

D扩展存储过程

触发器、存储过程、扩展存储过程都是在后台数据库中执行的操作,属于数据库对象。

运行在客户端的程序通常由高级语言编写,可以使用接口技术或嵌入式SQL等方式访问数据库。

分布式数据库

2.在分布式数据库系统中,应用程序直接使用本结点数据的性质称为()。

A共享性 数据在多个节点之间可以被共同访问和使用,强调的是全局数据的统一访问

B自治性

指每个节点对自己的数据具有独立的控制权和处理能力,本地应用程序可以不依赖其他节点直接访问本地数据。

C可用性 系统在面对故障时仍能提供服务的能力

D分布性 数据物理上分散存储在不同节点上

两阶段提交协议(2PC)

3.根据分布式数据库系统中的两阶段提交协议(2PC),有如下操作指令:

① 协调器向参与者发prepare消息;

② 参与者向协调器发回ready消息;

③ 参与者向协调器发回abort消息;

④ 协调器向参与者发commit消息;

⑤ 协调器向参与者发rollback消息;

满足2PC 的序列是 () 。

两阶段提交协议(2PC)的目的是保证分布式事务的原子性,即所有参与者要么全部提交(commit),要么全部回滚(rollback)。

第一阶段:准备阶段

  1. 协调器向所有参与者发送 prepare 消息(操作①),询问是否可以提交事务。

  2. 每个参与者执行事务操作,但不真正提交,然后根据自身情况向协调器回复:

    • 如果执行成功,回复 ready 消息(操作②),表示“准备好提交”。

    • 如果执行失败,回复 abort 消息(操作③),表示“无法提交”。

第二阶段:提交阶段

  • 如果所有参与者都回复了 ready:协调器决定全局提交,向所有参与者发送 commit 消息(操作④)。

  • 如果任意一个参与者回复了 abort(或超时无响应):协调器决定全局回滚,向所有参与者发送 rollback 消息(操作⑤)。

A. ①②⑤:这个序列是 prepare → ready → rollback。在所有参与者都回复 ready 的情况下,协调器正确的决定应该是 commit 而不是 rollback,因此该序列不符合2PC的正确逻辑。

B. ①②④:这个序列是 prepare → ready → commit。这正是2PC协议成功提交的标准流程。所有参与者都准备好后,协调器通知它们统一提交事务。

C. ②③⑤:这个序列以 ready 开头,缺失了第一阶段的 prepare 指令,因此不完整且不符合协议规定的消息顺序。

D. ②③④:这个序列混合了 ready 和 abort 这两个互斥的回复,逻辑上不可能发生。一个参与者不可能同时对同一个事务既回复 ready 又回复 abort。


评论