大连理工大学软件学院分布式数据库考试题目重点.docx
《大连理工大学软件学院分布式数据库考试题目重点.docx》由会员分享,可在线阅读,更多相关《大连理工大学软件学院分布式数据库考试题目重点.docx(12页珍藏版)》请在冰豆网上搜索。
大连理工大学软件学院分布式数据库考试题目重点
2012年分布式数据库考试内容:
按照大连理工大学软件学院2012年分布式数据库(朴勇老师)的考试题目的出题点,陈列如下。
一,查询树优化
建立查询树,优化过程及结果
二,根据日志来恢复(活动事务集,undo,redo建立过程)(相似题目见下面1.1的例子)
要弄清楚
活动事务是什么
undo,redo怎么初始化。
Abort禾口complete是否是一回事儿
三,给出两个表,做分片
连接图的建立,简单图,分区图
水平分片
水平分片下的导出分片
四,给出调度4个,进行判断(见下面的例子)
冲突等价调度,可串行化调度。
五,3个站点半连接优化(见下面的例子,格式不好所以就截图了)val(B[s])的计算,是连接属性,不是连接属性的时候,两种。
图的建立
一遍一遍的循环
配套的例题:
1.1.下面是当一个数据库系统出现故障时,日志文件中的信息
E厂
°;
a3
K
A,
Crash
根据上述log信息,完成下面的处理:
答:
说明:
D:
:
D为数据记录,下标i表示事务号,上标表示对数据的第j步操作;
B。
:
表示事务i开始执行;
C:
表示事务i提交;
A:
表示事务I废弃;
K:
是检查点。
系统发生故障时,造成数据库不一致状态的原因为:
一些未完成的事务对数据库的更新已经写入外存数据库;一些已经提交的
事务对数据库的更新还没写入外存。
因此,基本的恢复操作分为两类,即反做
(undo)和重做”£edo)。
反做”也称撤消。
反做”Undo):
是将一个数据项的值恢复到修改之前的值,即取消一个事务所完成的操作结果。
当一个事务尚未提交时,如果缓冲区管理器允许该事务修改过的数据写到外存数据库,一旦此事务出现故障需要废弃时,就需对被这个事务修改过的数据项进行反做”Undo),即恢复到其前像。
反做”(undo)保持数据库的原子性。
重做(redo):
是将一个数据项的值恢复到其修改后的值,即恢复一个事务的操作结果。
当一个事务提交时,如果缓冲器允许该事务修改过答数据不立刻写到外存数据库,一旦事务出现故障,需对被这个事务修改过的数据项进行重做(redo),即恢复到其后像。
反做”(undo)保持数据库答永久性。
故障恢复的步骤:
恢复子系统首先从重启动文件中取得最近的检查点的地址,然后建立
两个表:
重做表和反做表”。
初始化两表,重做表初始状态为空;反做表”初始状态为检查点上的活动事务。
活动事务是指检查点上还没有结束答事务。
确定反做事务表”Undo):
在日志中从检查点向前搜索,直到日志结尾。
找出只有B记录没有C记录的事务,即在系统故障时未结束的事务,写入反做事务表”。
确定重做事务表(redo):
从检查点向前搜索,找出既有B记录又有C记录的事务,直到日志结尾,在系统故障时已经提交但部分结果未写入外存的事务,写入重做事务表。
反做”Undo)反做事务表”中的所有事务。
根据日志,反向进行撤消操作,直到相应事务的B(Begintransaction)。
重做(redo)重做事务表中的所有事务,根据日志从检查点正向进行
重做操作,直到相应的事务C(Committransaction)
1.1.1.画出对应的事务并发执行图。
Crash
Checkpoint
II
丁:
bJ
C1(不需undo>|
丨
t2
D:
|D;
丨
Tf比
A〔不靑undo}|
16氏
1:
T,
Ib5Cj
1
1.1.2.找出发生故障时系统中的活动事务,确定反做”和重做”事务集
分析:
T、T在检查点以前已经结束。
故不用考虑。
T、T在检查点前没开始不算作活动事务。
D;
b2
ct
A遇
K
c5
Ciash
活动事务是指检查点上还没有结束答事务,即T。
由于T在检查点上时已
经A^,故算作结束。
初始化redo表和undo表,redo表={},undo表={T}在日志中从检查点向前搜索,直到日志结尾。
找出只有B记录没有C记录的事务,即在系统故障时未结束的事务,写入反做事务表”。
Undo表={T
2}U{L}={TJ口}
从检查点向前搜索,找出既有B记录又有C记录的事务,直到日志结尾,在系统故障时已经提交但部分结果未写入外存的事务,写入重做事务表。
Redo表={V}
1.1.3.指出需要undo的和redo的数据记录。
根据undo表和redo表
需要undo的数据记录为:
D:
、D:
。
需要redo的数据记录为:
D:
。
调度相关问题
指出下面的冲突等价调度(忽略提交C和夭折A动作)
S1=
W2(X),Wi(X),R3(X),Ri(X),Cl,W2(y),R3(Z),C3,R2(X),C2
S2=R3(z),R3(y),W2(y),R2(z),W1(x),R3(x),W1(x),R1(x),C1,C2,C3
S3=
R3(z),W2(x),W2(y),Ri(x),R3(x),R2(z),R3(y),C3,Wi(x),C2,Ci
S4=
R3(z),W2(x),W2(y),C2,Wi(x),Ri(x),Ai,R3(x),R3(z),R3(y),C3
1.冲突等价调度如下
S1'=
W2(x),Wi(x),Ri(x),R3(x),Ci,W2(y),R3(z),C3,R2(x),C2
S2'=
R3(z),R2(z),R3(y),W2(y),Wi(x),R3(x),Wi(x),Ri(x),Ci,C2,C3
S3'=
W2(x),W2(y),R2(z),C2,Ra(z),R3(x),R3(y),C3,Ri(x),Wi(x),Ci
S4'=
W2(x),W2(y),C2,Wi(x),Ri(x),Ai,R(z),R3(x)R(z)吋)©
2.上题Si-----S4中,哪个是可串调度?
S3和S4为可串调度
Si:
Ti等待T2,T2等待Ti(W2(x),Wi(x),R2(x))
S2:
T3等待Ti,Ti等待T3(Wi(x),R3(x),Wi(x))
54按如匚给岀的条件’求岀半连接优化计划和执彳预地,并作后优化处理
E
厂
T
ENO
JNO
总图)
I
Ee
G3Q
J
关系
序数加■!
元组tzN皿
属性
大小
特性值両1
E
500
50
E王NO
4
500
G
4000
30
G.EXO
4
2000
G.JNO
4
1000
J
200
40
J.JNO
4
200
已利
DOMCEENO)^DOM(G.ENO)DOM(JJNO)cDOM(GJNO)
特性值:
就是不同值的个数;序数;就是元组的个数。
第一,可能的半连接集合
Pl^ocE
PS^GacJ
F5=EocG
P4=JM
第二t初的利益代忻表
假设苴中CCpL;
廿算选择厦;
P1(GocE)=Val(E,ENO)/Vai(G,EUD)=500/2000=0,25.
基中羽1CG,巧阳[足在关系G中JSfcWO的齐同追的牛数也就是本题所说的特性值)同理Val(E»EIC0).
P:
(GulJ)-Vai(LJND)/Vai直中ValCG.JHD)是在关系G中届性JNO的不同值的个数也就是本题所说的特性值盘
B^IOQOo
同理谄1(J’JNJO).
P5(EacG)^Val(G,ENO)/Vai(E,END)^2000/500=4s注黄t当p>irt^$p=1:
同理;卜4(JkC二丄;
计算收益I
BenefitlCGxE)=(l-p孔(G)*Card(G)吒:
二(1-0・35)^0+4000=90000;其中SizeCG)^关系G的宽度又称为元组的大小,这里是30。
其中CarMG)是关索G的元组的个数又称序数,遗里是4000.
Benefit2CGxJ)=(1-p2)*Size(G)*0^4(0)^^(1-0.2)*30*4000=96000;Benefit^(ExG)=D;
Benefit4Q^G)=O;
计算代价(或称费用):
Costl(GocE)=Cc+C^SizeCE,EN0)*VaL(E,ENO)-4*500=2000;
其中Sizcffi,ENQ)是属性EPK的大小,这里是4,
其中阳1(兀ENO)是属性ENO在关系E中的干同值的个数』这里是50入
Cost2(GkJ)=Si2e(LJNO)*Val(1JMO)=4*200=800
Cost3ttxG)=十x(无穷大)
Cost4(JxG)=+力(无穷大)
因为收益为0*所以代价很大t以至于不能计算t故+芒(无穷大)o
为取益为D.断以代朴很大.以至于不龍汁算,故-J无穷大k
RxS
选择忤
收益
帝用
F1:
GSJE
ESO
500/2000=0.25
(1^0.25)*30*4000=90000
由于沁话G的哉汗的次■>,干可谊责右弓P严址总
4*500=2000
--
P已G&/J
AG
200-1000=0.2
(1-0.2)*30*4000=96000
4*200=800
P3:
E5JG
£W
20002000-1
0
+OD
MD
10001000=1
0
+«■
垠基初始为制益代价表.得到受益M详怙屋P只PLPJ
第三・逸择半谆接
4)拇珠1
从受益半连接集P中选杼代价最小的P2
令G=G得到关系G[ENO.JNO}淫接團(E®G®J)
■■■■■■事■且■■■■N■■■■AK.・rw■■■■■-K-K■4■■■■■*
ENOmo
务D)重薪计算&的概耍图:
Card(G>P:
*Cor£(G上H2+4000卿0D;
va(G
■/ENO不属于选择谓词
Val[G王K0)=2000;
Card(G*=、F(G,ENOyh
..<:
Val(GtENO>P.+Val(G.ENO>0.2*2000=4DOVal(G\JNO)
INO属于选择谓词
Val(G=JNO>0Vil(G=JNO>0.2*1000-200
因此,楓要图扣下匸
5)循环2
E=ExG得;E{E.ENO}
〔因为,P2=C^J已经处蹙述无需作P2=G'灯的半连援)個为,P3=EocGr已经处理述无壽作P2=ExG的半连接)P4=JmGr
C)重新计算利益代价
P1=G工E'
P^Val(Er£NO)/Val(G.ENO)^400/400=1Bencfit=C;
CdEtl二
P4=JacG
P4=VaL(G*fJNO)/Val(LJMD)=200/200=1;Benefit4=0;
Ccst4=+x
EQ
ENOJNO
概要鬥;
根培连接图及概要團s代价计算:
Cost(Sl)=Co5t(GRCo5t(J)
=Card(G)*Size(G)+CardCj)*SizeCj)
=800*3Cbb200*40=2+(»0+800C^32000=32K
Cost(S2)=Cost(E)+Cost(J)
=Card-400*50+200*402®K
Cfl5t(S3)=Co5t(Ey*-C95t(G>
=Cud(E>*Size(E)KardCGJ^Size(Gr)
=400*50+800*30=UK
対比以上各执行场地的代价,可知:
场地Z的代OCo5t(S2)最小。
所以,最后执行场地选为2(S2)。
在执行策略集中,消去用于缩诫处于执行场地上的关系的半连接操作。
执行策略集P={PLP2}M中含别为'
G«J=P1(在场地克上执行)
E=ExG二P2(在场地別上执行)
如果在场地51上执彳亍
因为;P2在场地Sit执行,可以从策略集合中消去P2所儿PTP1}
因此’
总代价=Con(Sl>HCost(Pl)
=Cost(Sl)+Val(J.JNO)*Size(J.JNO)
=32K+200*4=32.8K
如果在场地S2上执彳亍
因为’P1在场地绘上执行,可以从策略集合中消去Ph所以.P={P2}
因此-
总代价工Cost(S2}^Ccst(P2)
=Cast(S2)+Val(GGNO)*SizeCG.GNO)
=22K+-400*4=29.6K
如果在场地甜上执行
所儿P={P1J>2}
因此,
总代价=Cost(S3)+Cost(Pl>K:
ost(P2)
=Cast(S2)-Vil(;J.JNO)*Size(J.JNO)+Val(;GGNOJ^SizetG.GNO)-44K+200*4+400*4-46.4K:
所以最终选择在总代价最新的场地£2上执行°
G=GxJ
E=ExG
如图