本资料汇集了研究生分布式数据库课程的经典考题与详尽解析,旨在帮助学生深入理解分布式系统的架构、原理及其应用实践。
4.1.1 分布库管理系统主要包括哪些功能模块及其作用。
4.1.2 半连接方法与枚举法分别适用于哪类查询优化情况。
4.1.3 请列举分布式事务的基本性质有哪些。
4.1.4 解释什么是两阶段提交协议(2PL)。
4.2 下面展示了一个公司的人事关系数据库的全局模式:
4.2.1 对该全球模式进行分片,并给出分片定义和条件说明。
4.2.2 指出所确定的分片类型,画出示意图表示这些分片的关系(即所谓的“分片树”)。
4.3 基于题4.2中设定的分割方案,要求查询所有级别高于6级的职员的名字和工资。请写出在全局模式上的SQL查询语句,并将其转换为关系代数表达式,同时绘制出对应的全局查询图。
4.3.1 对上述查询进行全球优化处理,请画出示意图表示每一步优化后的全局查询树的变化情况。
4.3.2 进行分片级的优化操作,同样需要展示每个步骤后分片查询树的变化示意图。
4.4 当数据库系统遭遇故障时,在日志文件中记录了以下信息:
4.4.1 请识别出发生故障时刻正在运行的所有事务,并确定哪些是需要回滚和重做的事务集合。
4.4.2 定义并描述用于表示数据库记录(D记录)与检查点记录(K记录)的数据结构。
4.5 假设数据项x、y存放于S1场地,而u、v则存放在S2场地。对于分布式事务T1和T2,在各个场地上的操作如下:
- T1在S1的操作为:R(x), W(x), R(y), W(y)
- T2在S1的操作为:R(x), R(y), W(y);
- T1在S2的操作为:R(u),R(v),W(u)
- T2在S2的操作则为:W(u),R(v),W(v)
对于以下两种情况,分别给出可能的局部执行序列(H1和H2),并解释原因:
4.5.1 局部操作可串行化但整体不可串行化的例子。
4.5.2 同时满足局部与全局可串行化的情况。