下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DatabaseSystemProblem1Thehashjoinalgorithmdescribedinthetextbookcomputesthenaturaljoinoftworelations.Writepseudocodeforaniteratorthatimplementsahashbasedalgorithmforcomputinganoperation:Ranti-joinScontainsalltuplesinRthathavenomatchingtuplesinS.Althoughanti-joinisnotanoperationthatcanbespecifieddirectlyinSQL,itisimplementedinthequeryprocessortosupportsometypesofqueries.Yourpseudocodemustdefinethestandarditeratorfunctionsopen(),next(),andclose(),andmustfetchtheinputtuplesusingiteratorcalls(inotherwords,RandSmaynotbebaserelations,butmaybeoutputsofotheroperators).Showwhatstateinformationtheiteratormustmaintainbetweencalls.Forsimplicity,youcanassumethatSissmallandeasilyfitsinmemory.Herearemoredetailsonanti-join:/wiki/Relational_algebra#AntijoinProblem2ConsideranindexorganizedasaB+tree.TheleafnodescontainpointerstoatotalofNrecords,andeachblockthatmakesuptheindexhasmpointers.Wewishtochoosethevalueofmthatwillminimizesearchtimesonaparticulardiskdevice.Wearegiventhefollowinginformation:(a)Forthediskthatwillholdtheindex,thetimetoreadagivenblockintomemorycanbeapproximatedby(25+.02*m)milliseconds.The25millisecondsrepresenttheseekandlatencycomponentsoftheread,the.02*mmillisecondsisthetransfertime.(Thatis,asmbecomeslarger,thelargertheblockwillbeandthemoretimeitwilltaketoreaditintomemory.)(b)Oncetheblockisinmemoryabinarysearchisusedtofindtherightpointer.Sothetimetoprocessablockinmainmemoryis(a+blog_2m)milliseconds,forsomeconstantsa,b.("log_2m"meanslogbase2ofm.)(c)Themainmemorytimeconstant"a"ismuchsmallerthanthediskseekandlatencytimeof25milliseconds.(d)Theindexisfull,sothatthenumberofblocksthatmustbeexaminedpersearchislog_mN.Questions:(i)Whatvalueofmminimizesthetimetosearchforagivenrecord?AnapproximateanswerisOK.(HINT:Ifyoucomeupwithanequationwhichishardtosolvealgebraically,tryplugginginvaluestolocatetherootoftheequation.)Thevalueyouobtainshouldbeindependentof"b"!(ii)Whathappensastheseekandlatencyconstant(25ms)decreases?Forinstance,ifthisconstantiscutinhalf,howdoestheoptimummvaluechange?Answer:LetTbethetimetakentoreadoneblockintomainmemoryandTbethetimetoprocessthat12blockinmemory.Ifnblocksareexaminedtosearchforagivenrecord,thenthetimetakenforthissearchis:n*(T+T)12Substitutingtheappropriateexpressionsforallthevariables,wegetT(m)=[(25+0.02m)+(a+b]*logN2mIgnoringaincomparisonwith,wegetT(m)=[25+0.02m+b*logN2mSubstitutinglogmbyln(m)/ln(2)andlogNbyln(N)/ln(m),weget2mT(m)=[(25+0.02m)/ln(m)]*ln(N)+b*ln(N)/ln(2)Hence,tominimizeT(m),weneedtominimizef(m)=(25+0.02m)/ln(m.Anumberoftechniquescanbeappliedtodeterminethevalueofmthatminimizesthisexpression.Forexample,takingthederivativeandsettingittozero(f'(m)=),wegetm*(ln(m)-1)=1250Thiscanbesolvedtoyieldanintegralvalueof272.Itiseasytoverifythatthisvaluedoesindeedminimizef(m)andhenceT(m).Seek+latencyconstantdecreases:LetussplitT(m)intothreecomponentsasfollows(here,tistheseek+latencytimeconstantwhichwas30intheabovecase):s=t*ln(N)/ln(m)Ta•••Totalseekandlatencytime=0.02*m*ln(N)/ln(m)sTotaltransfertimeTb=b*ln(N)/ln(2)TotalbinarysearchtimeTcOfthese,Tisindependentof,TisadecreasingfunctionofmwhereasTisanincreasingcabfunctionof.Iftisverysmall,thenTisnegligiblecomparedtoT.Hence,wemustchooseasabsmallvalueofmtominimizethesearchtime.Ontheotherhand,ifTisverylargecomparedtoT,abthentheformerdominatesandwechoosealargevalueofmtominimizesearchtimes.Fromtheselimitingcases,itiseasytoseethatiftdecreases,theoptimumvalueofmdecreases.Insparticular,ift=25/2=12.5,wegetanoptimumvalueof155(byproceedingalongthesameslinesasabove).Problem3Tobuildahashindexforamulti-attributesearchkey,wecanuseanapproachcalledpartitionedhashing.Thepartitionedhashfunctionisreallyalistofhashfunctions,oneforeachattributeinthesearchkey.SupposethatwewishtobuildapartitionedhashindexonR(A,B)with2nbucketsnumbered0to2n1.Inthiscase,thepartitionedhashfunctionconsistsoftwohashfunctionshAandhB.HashfunctionhAtakesavalueofAasinputandproducesaresultwithnAbits,andhBtakesavalueofBasinputandproducesaresultwith(nnA)bits.Thetworesultsareconcatenatedtogethertoproducetheresultofthepartitionedhashfunction,whichisthenusedtoindexthebuckets.TolocaterecordswithA=aandB=b,wesimplygodirectlytothebucketnumberedhA(a)hB(b)(inbinary).(a)WhichbucketsdowehavetoexamineinordertolocateallrecordswithA=a?(b)Supposewearegivenaquerymix.EachqueryinthismixwilleitheraskforrecordswithagivenvalueofA,oritwillaskforrecordswithagivenvalueofB(butneverboth).Withprobabilityp,thevalueofAwillbespecified.Giveaformulaintermsofn,nA,andpfortheexpectednumbe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 游泳馆勘察技术标投标
- 环保工程招投标委托书模板
- 农药原料招投标专员操作指南
- 本溪市供热服务用户体验优化
- 亲子活动中心租赁
- 新能源汽车项目保函策略
- 旅游服务提升工程中心管理办法
- 老旧小区改造评估师招聘协议
- 医疗资源区二手房买卖范本
- 交通运输枢纽站房租赁合同
- 咯血的介入治疗
- 教师专业成长概述教师专业发展途径PPT培训课件
- 球磨机安装专项施工方案
- 阀门压力等级对照表优质资料
- GMP质量管理体系文件 中药材干燥SOP
- YY/T 0874-2013牙科学旋转器械试验方法
- GB/T 25217.10-2019冲击地压测定、监测与防治方法第10部分:煤层钻孔卸压防治方法
- GB/T 21010-2007土地利用现状分类
- 下库大坝混凝土温控措施(二次修改)
- 医药代表初级培训课程课件
- SAT长篇阅读练习题精选14篇(附答案)
评论
0/150
提交评论