按考察知识点分类:
数据库应用系统体系结构
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)。
第一阶段:准备阶段
协调器向所有参与者发送
prepare消息(操作①),询问是否可以提交事务。每个参与者执行事务操作,但不真正提交,然后根据自身情况向协调器回复:
如果执行成功,回复
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。