صفحه 1:
‎Veadextaq wad Woshiaq‏ :00 بان

صفحه 2:
حارط :6 سین + ] Oruwepts Ordered dedices: @t-Tree ‏)لها‎ ‎-Vree ‘lerdex Pies Grate Wreeststercy Operas Washers ‏موم(‎ oF Ordered Terdentacy cred Wcrsttercy 4edex DePicaticg tr GGL Outipe-CKepy Borers Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. wo ©Sbervehnts, Cork ced Cnakershe

صفحه 3:
Owe Cowepix BE fexkestny wevkuuisre ‏یه رف لخن بل‎ wy cboied duu. © Gx, author oxide ia troy ۳ Geach (ey - otrbute ty ort of other weed 7 book up records in Pe. BE 1890 ‏بجحل‎ Me ccs of records (called fodex euiiee) of the Pore يا ی | ل باس ‎Be Oe‏ سلس 1 © ‏اه ما تا مر‎ entices? © Ordered ‏له‎ search heys oe stored ia sorted order بحص ساسا مه رام وتات لا ‎Alek tedees? search heys ore‏ © مت اس و 1 Ovweyt- O* Crore, Ours 18, OOOO. wo ©Sbervehnts, Cork ced Cnakershe

صفحه 4:
edex Cuchnios Derics Bl cress res supported efPictealy. Cg. © reves wih 0 speoPied voke tothe utrbute © oe reves wil on otdbute volue Pubog too specPied rrage oP voles. Oovess tere ‏جوا یو‎ Deters tee Gpove pverkeud Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. we

صفحه 5:
حصله) لسن ‎techoiques evolvated oa baste oP:‏ فطل ‎۲ doco ordered todex, idex eutries ore stored sorted va the search hey vohe. ‏نی ری‎ voto to brary. ‎© Creowy tedex! 0-0 sequedichy ordered Pie, the todex whose search hey spevPies: the sequecitd order oP the Pte. ‎© bp vale chetertoy td ‎© Whe search hey of o primary fedex is sucky but at oevessundy he priory hey. ‎© Gevoutey todex: oo dex whose search hey specPies oa order dPPeredt Pro the sequectal order oF the Pie. ‏ای تاه‎ ‏سسوم‎ ‏.عتما تممه لت اوه لطس با اس ۲ ‎1 Ovweyt- O* Crore, Ours 18, OOOO. wo ©Sbervehnts, Cork ced Cnakershe

صفحه 6:
+ ‏بت بت‎ Piss ۱ ‏و لوا ان(‎ uppears Por every seurck-hey vote ‏و‎ the Pile. Brighton Downtown Downtown Mianus Perryridge Perryridge Perryridge Redwood Round Hill wo Brighton Downtown Mianus Perryridge Redwood Round Hill Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO.

صفحه 7:
Gpursve Vadex Pies B Gporse dedext protdus tides records Por voy soe searct-hey vdues. © Oppledble whea revords oe sequedidly ordered va search-hey 19 185 lore ‏سا راو ات لس و‎ we: ۶ Pied fodex record wih largest search-hey voke < ۲ © Geach Me sequecidly startog of the record to uw hick the fades revord pots: © bess spare und lees wore overhed Por fesertoas ond deletion. (Geaerdly slower thoa deuse todex Por bovateey records. © (Boed radevPP: sparse fede uty oo terdex airy Por every block ta Pie, porrespoudiag ty beast searck-hey value to the block. Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. wor ©Sbervehnts, Cork ced Cnakershe

صفحه 8:
Brighton Downtown Downtown Mianus Perryridge Perryridge Perryridge Redwood Round Hill wo Brighton Mianus Redwood Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO.

صفحه 9:
+ امطالل() ۲ 18 ‏ی رو‎ does oot Pit ‏وه زر و‎ bevowes expewwie. BD reduce ‏ره اه‎ dish uovesses ty trdex records, treat priory iedex ‏اس‎ ‏ال من‎ os 0 sequedid Pile oad cocstrunt o sparse todex ‏.لمم‎ © onter dex <u sparse todex oP primary toda © eroer tordex — the privvory tendon Pie BP eveo outer aden ‏وا ما‎ to Pit io woke wewory, vet carter level of ‏له‎ ‎eee be credited, und ‏و‎ Aedes of levels wt be updoted oo iesertiza or deleia Pro the Pile. Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. wo ©Sbervehnts, Cork ced Cnakershe

صفحه 10:
سا0 لح 0 لا سواه 1 QOndevel Vadex (Ovci.) ‘data block 0 index block 0 ‘outer index inner index Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. 10.00

صفحه 11:
0 سب + 1 deleted record wos the oly record fo the Pile wil ts poricular search-hey voter, the search-hey i deleted Proc the tedex cov. 18 ‏اماب(‎ tedex deletion © Deer indices — debivd of seurctehey is skvitor to Ple record deletion. © pase iedves — * Pao ery Por the searck key exists to the todesx, its deleted by rephictery the euiry to the todex wit the cent search-hey ude to the Pe (10 search oo) * OP the ‏مج‎ search hey volue dready has oo todex ur, the roiry te deleted fosteud oP beter rephiced. Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏وه‎

صفحه 12:
+ ‏با‎ “keertoa تم ی اما( ۲ © ‏و روص روط امه عا روف مطلما و ممطبظ)‎ the revord to be ‏اس‎ ۱ — Phe seurciehey vdue does oot upper te the tod, tosert a. © Gpurse tedives — P index stores oo euiry Por cack blocks of the Pie, oo ‏رون‎ weeds ty be cade to the index uoless a oe block ts ‏لصو‎ جك ما دصرت عنامي ترداص هد إصذذا جا لصت ط خاصطاط نيد و 48 ‎١‏ ‏له صما مد لحفوصم دا جامصاط بيج BD devel ‏جه ) بمشحص‎ wel oe deletion) ckprtheos ore skople extesizar of the ‏او ام مومت‎ 1 Ovweyt- O* Crore, Ours 18, OOOO. 40.00 ©Sbervehnts, Cork ced Cnakershe

صفحه 13:
+ Ovoonkey ‘heboww 1 Crequdl), ove une ty Prod of he records whose udker ino certo ‏ای‎ ‎(hick ts ot he searokchey off he primary ‏تاه له‎ secre rec. © Cxaope 0: Ie the arr rebtive sored sequecidy by avout oober, we wey usc to Pod oh aoazucts to particu broads © Greople G2 os ubove, but where we ust to Prod ‏ه كلابب جتسخصص للك‎ ‏ولا اه مت مه ولا امد‎ ۲ ) ‏جد كلابب “جلما توول موه و سم موی‎ des record Por euch seurch-hey uch © fedex record poicis to bucket thot ovotaius poiciers ‏اجه سل له نا‎ records wil that paricuar seurch-key ‏ای‎ Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. 10.00 ©Sbervehnts, Cork ced Cnakershe

صفحه 14:
4 Geovadury ‏لها‎ va bobrace Pekd oP osovuot 750 500 600 700 400 900 700 700 350 Brighton, Downtown Downtown Mianus Perryridge Perryridge Perryriclge Redwood Round Hill A217 2-01 A-110 A215 ۸-2 ۳۳ A-218 A222 A305 Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO.

صفحه 15:
ها رد سوت ای بر و + ۲ ‏و تا وا جوا له لین‎ 4edices OPP er substoctd beoePits wheo searchiag ‏و‎ 19 Whew o Pie tp wodPied, every todex oa the Pe ost be updated, Dpdatiors torches ‏.مص لت ال مه لسن موم‎ © Gequectd scoc usiey pricey index is ePPicieot, ‏یه چیه و لها‎ ust 7 sepoutary todenx ‏و و‎ © cack revord uovess way Prick o ew block Pro cet Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 موم‎

صفحه 16:
جسن تن + ‎tdexed-sequectal Pes.‏ صا وشم جد مد جمد له مب ‎18 ‏ور تا سمل اه منت(‎ deqrades up Pe yous, ‏سا ان مس و۳ لصو بت اما ناه بوون ود‎ required. ‎۲ duane of tree idex Pes! cuiocwaicdly repryaaizes tse wils owl, food, changes, fo the Pace of toserices ond ‏ی همم )تاو‎ Pie te oot required to ‏سوم ی‎ ‎© Osudvootage ‏لاهن ماود له متسه هه )چاه‎ space ‏موی‎ ‎۲ 1 ‏سل(‎ of trees ‏ی‎ disadvantages, vod they ore used exteusively. ‎Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. 10.00 ©Sbervehnts, Cork ced Cnakershe

صفحه 17:
+ ‏)بت ی‎ (Ove) ۵ ‏اوه سا تمسق‎ the Polowiee properties! 08 pas Brow root ty beck ore of ‏ی بط‎ fete (Back are thot i oot arnt or a kek hor between [dQ] ond ochkdres. © beck code ber between [(c 1/2] ocd ‏امج‎ ches ‏سس لس‎ OP the root te oot a eck, thos of bet © ‏ماه‎ OP ke root po ek (bro, here ore wo cher order iw he tree), too rave betes oxnd (ol) cher. Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 جووه‎

صفحه 18:
OT ree Oude Cinwire 8 Vp wde 0 her © @ 9 porters to chides (Por cecrect! cede) or potters ty records or buckets oF records (Por let cater). 19 Phe searches roan ‏مجلس و‎ ‏ب >> کبک‎ 1 Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 هوه‎

صفحه 19:
+ Led Odes ۰ 0 Properties oP ‏یی اه‎ 8 @wi=G,©,..., 2, porter P, ether pots too Ale ‏بوم امعد كلابب لجوج‎ uadue (Cor toa bucket oP potters to Pe records, cack ‏اوه روا لس‎ udue Only ceed bucket structure P searck-hey dees oot Por a priory key. BPD, bore ef ates ot 1S 5, be searthey ches oe less how b's search hey voles 8 OO, porte to cent leo? code to search-hey order Brighton leaf node Brighton Downtown Downtown Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 موم‎

صفحه 20:
+ Ovwled Orde ta 8 Trees B® Occted? andes Por o wultlevel sparse iodex oo the led? odes. (Por a or fed? onde with 07 porters: © Oh ke seartchers in he ebirer to whic P, potas ore ‏مضا دجما‎ © Por © <1 0-0, dhe searchers in he bier to whick ®, porte hove uckes ‏ی‎ thos or expr OC, ord bos tert ‏بي‎ Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 موم‎

صفحه 21:
| | ‏میس‎ Downtowe| [ Mianus © *4ree Por orm He (« = 9) Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 موه‎

صفحه 22:
۳ (© <م) سا مس سب لس ‎obec? ades wnt hue betwerd O od‏ © ‎wits 7 = S).‏ ,4و لمی [/(0عم)]) ‎order cher that root cast have betored © ond 6 chides‏ لب( ‎=S).‏ 7 اس امه [/)]) ‎B Root met howe ‏اه © عدا هك‎ ‎1 Ovweyt- O* Crore, Ours 18, OOOO. ‏موم‎ ‎ ‎

صفحه 23:
لا + عا سوه لها ,حصو روا یل و ون طسو با یت ۲ اه ‎seed wt be “physically”‏ BOD he corded? levels of the Bree Porn o hierarchy oP sparse ‏ی‎ BD be O*ree ‏خن موی | اه مه‎ levels (locemttsoric tc the oP the «voto Pie), thus searches con be coudurted efPiciecly. ‎othe se Bis oom bre Keri enh), or re ker‏ لمم همي لحي یو ‎koe (cr we oho ser).‏ عامج صما جا لو سا موی ‎Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 موم‎ ‎

صفحه 24:
۵ بت سس + ۲۱ Pied oh records wik ‏اه هی ولو و‎ k. ‏لت و با ارت وچ‎ ۱ ‏عا < صم وروی ای با ۲ له با موم‎ AP suck a voke exits, weve tis , Thea Polio P, to the chit ‏علج‎ ‎where here ore a porters in he ode.‏ ری < ۲ مان ‎‘Dhea Polaw @,, to the chk cde.‏ ‎1۴ the code reached by Polputey the potter obove te ont ed? ode, repedt step (oo the ode ‎0 Clee we have reached a leo? onde. ‎(APB Por swe 1 hey = Polo potter P, to he desired record or bucket. ‎(se wo record wih seant-hey vie kextsts. ‎Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 مهمه‎

صفحه 25:
+ Queree va 8" Trees (Ova) da processkny a query, 0 poh is traversed to the tree Proc the root to sve feo ‏.عل‎ 19 ‏تا رامیت )6 و ما‎ tothe Pe, he pok te oy ‏و‎ thas | ‏)دج‎ © 0 cede & eer he soe ste ‏جد‎ 0 dok bick, riod hicbyiew, ood ori ‏امه رد‎ JDO (PO byes per index euiy). Wik d wales searck key vohew ond 7 = (DO, vt soe bra (1,000,000) = @ codes ore coreseed Ka bow. 15 Ovatrest this wk o bukmed brary Pree ik (willed search key vos ‏س7‎ ‎rand 0 codes ore ‏صخاصا د ما لت‎ © ‏سمخ مس‎ fp skeiPicod stave every ode acess way eed o dish VO, ‏امه موم‎ OO wilserveds! Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 موم‎

صفحه 26:
وا ۵ 2 لا + Prod the feo? onde ‏لا مان و‎ searct-hey vohue would uppear OP the ‏ویو‎ voke ts dread) there to the leu vde, record is udded ty Pie cad P cepessry 9 potter te teserted tty the bucket. HP the searct-hey vole ts ont there, thea odd he record ty the ooo Pie ox orede a bucket Poecessary. ”! ‏:مضا‎ 0B here te ron ihe be onde, eet (her-icke, poten) pair ia he be cache © ‏ببستي‎ opt he orde (doo ah he caw (hey-vchue, porter) pci) <r denen ste oa ore, Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 موم‎

صفحه 27:
+ Opies va B*Trews! “keerton (Ooct.) 1" ‏مار‎ 0 ace: © ‏اد‎ he oseurrtchey veh, potion) pairs (lakh the oo beter keseried) fr sorted order. Phere the Pret | ‏ان | له‎ ortcicr ode, ood the rest feo ew ode. © tethe cow ode be p, ood bet Abe the leost key vokue inp. Ieeert (hy) tothe ‏.او رما له با و اور‎ IP the parcot te Pull split ced propagate the split Purter up. BO Vhe splitay of aodes proceeds wpuvards iil a orde thot is ot Pulis Poured. “Ic the worst cose the root ode coy be spit ieareastay the height oP the tree by (1. ۳ Ts 0 1

صفحه 28:
+ Opdkies va 8*-Trees: “keertva (Ova) Perryridge| Brighton] |Downtown| Mianus lRedwood] {Round Hil Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 موم‎

صفحه 29:
+ ‏میت‎ tc ®*Trewe (Ova) Read poeudboode to book! Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 موه‎

صفحه 30:
+ Opdder va ®*Trewe: Ostia Brad the record to be deed, ond recone t Bron the craic Pie ocd Brow he bucket (P prasad) ۲ Reem (peartchey uke, porter) Prow the bef! onde Phere ts oe bucket or she betes ‏سس ما نمی‎ ۳ ‏ارم بط وا سل موه رن ما با تب‎ nnd the euites to he ode od coher ‏مت با‎ a score arte, fe © Newent dhe searchey udker tn he tur codes fir a stice orde (he oe oc A), ocd delete the ober ode. © Debts te par (Ko, P), where Pe the potter to the deleted cede, Prox ‏جا‎ ‎pore, recursively wien the ‏.ص وم موی‎ Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO.

صفحه 31:
+ Opts va B*Trewe: 0 B Otenwise, P the ude hos to Pew eurtes due ty the rewoud), ood the euirier it the oode ood a sibhoy A toy a stage ode, theo © Qedsinbur the poidters betwees the ode ood a sibtay suck thot bik hove ‏ی وه وی موه با ها ون‎ ۶ ‏اوه موه الم(‎ vole in the pareut oP the ade. ke cede deletes way coer upward tla ode whick koe [o/@ | or wore porters ts Pov. Phe root weds kee cy oor potter Per delete, tir cebted cna he ole chi becowes te rot. Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. 10.00 ©Sbervehnts, Cork ced Cnakershe

صفحه 32:
مها او os ood oPier deteto “Dewsirua” “Dowrtousa” ded ot result i Clearview لا Mianus BV he reward of the le? ode ovatataiery * ts poreat kavien; tov hile potters. (Gu the cascode deletices stopped tly the deleted leo ‏وس لو‎ Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. 666

صفحه 33:
+ Oxaopes oP O'-Tree Osletra (Ova) لا 355 Brighton] |Clearview| Mianus او ‎Proc result oP previo‏ لوط و مت( ‎Bede with “Peryrike” beovay venerPull (ached) exopy, ta ther special exer) od‏ ‎werd ut ty tbh.‏ Be arena "Peryrtke” ade’ parca bevewe vederPd, cod wes weryed wits ‏ص‎ ober ] eciny une deleted Prow fete pared) BH Root unde hea hod poly vee ob, ood way debted oad ity hdd bevuwe the caw root are Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 ه66‎

صفحه 34:
انا Bae [Downton ‎esrview‏ | | لین ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎(ePore and Pier deletion of "Perryrke” Prow eorer exarple Bored of eck ‏پم‎ Peruri ‏ره اما امه ی سا‎ Bron te Ie blr ‎© Geantehey ude tothe poreo!s parrot chouges os a result wor ‎ ‎ ‎ ‎ ‎ ‎Ceedrwe Oyetrer Ovweyt- O* Orare, Ours 1, OOOO. ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎

صفحه 35:
+ ©*-Vree Pie Orqrtzcioa ۲ dadex Fle degradation probiew is svlved by ustay (B*-Tree iodices. (Dutt Pike deyradaiza proble ts svlved by ustey (B*-Tree Pte Orcacization. BOD he leo? urdes tao "tree Pile oryocizaiva store records, icstewd oP potters. © Gre reves ore hever tho potters, the worxrue ouober oP records thot wan be stored too led? omde ts tess thao the cucrber of potters ‏لت و و‎ amd. © Lech odes ore sil required ty be ho Pub. Bose ood deleiog ore hooded fo the sare way us tesertiog ood deletion oF ‏له )و ما ی‎ 1 Ovweyt- O* Crore, Ours 18, OOOO. 666 1 ‏سا0 لح 0 لا سواه‎

صفحه 36:
(GST) (KD [Le (MATIN Po) (AD] BS) (CHO [Ey a) TOS) Cxanple of tree Pte Orceaizatica © Gord spore uilzaiva keportod stare records use wore spore thot poiiers. 8 Vopr spore uiltzaion, tevolve wore sibbes order fe redistiributica ‏لاد رسد‎ wed wares © avon © ‏باه‎ to redetrbutos (7 word eplt/ were where posable) وج 22/3 Ez vests to each ode bovtagy ot ket Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏موم‎

صفحه 37:
عب متها + واه و را اون 19 ید لبون © حم هی بت امه ‎Ose spare vilzoticg a7 orterica Por‏ © © Prefix cowpressica © (ey uthes ot itera udder coo be prefixes of Pal key: * (Keep swank chores ty detoquick eurries to the subtrees separcied ‏صم بصا صا برط‎ ~ €.x. “Gites” od “Giberschotz” voc be separced by “Gib” Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. wor ©Sbervehnts, Cork ced Cnakershe

صفحه 38:
©O-T ree ‏وعاذ) +جلدا”‎ وه و لس موی موه ‎but‏ ره و ‎Grote‏ © ‎keys.‏ ویو اه موه اذل واه زو راو مه سوه اج اه ون ون ‎andes‏ ات و سا میت ۲ چا اس لت لت و روا سوه وی لا ور ال لاس وم لس اس سا ‎i ore‏ ول( ۲ 1 Ovweyt- O* Crore, Ours 18, OOOO.

صفحه 39:
Round Hil Round Hill bucket ليا / Downtown/ Re bucket bucket | Porryri bucket Mianus Mianus bucket [Clearview \ Clearview bucket

صفحه 40:
+ ©-Tree “kadex Piss (Oou.) B Odvoctaes of @-Pree todos: © Dy se bess ree odes thao ou porrespoadiag Bt-Tree. © Cowetwes possible to Ped search-hey vdue bePore neuchtoy led ode. © Oudvaciages of 0-Tree iedices: © Ody sol Prontod oF ol searctehey voles ore Pourd cory © Wowk? andes oe hover, ov Parva p redued. Thus, “Drees ypc ove qrecier depts than correspoadicy (B*~Pree ‏وت معط له ی و‎ oopliccied thas it (B*-Prees ۱ ‏.جب ]لك +3) مجلا‎ 18 ‏ان ججومسطى ,سجر‎ 3-Prees de oot cut weigh disudvoatages. Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. wero ©Sbervehnts, Cork ced Cnakershe

صفحه 41:
+ Dupe Key ‏هت‎ ۲ Ose nips teers Por certs types of queries. ۱ ‏تست‎ ‏همست مور‎ Brow orev where broack_ocnre = "Perryrike” wad bokrare = DOO ۱ ‏محر وت ایو‎ query usta ‏واه و مه‎ ۰ Ose ‏و مه ام مس و من بطم‎ 90000: ‏و سوت اما بسا‎ 8. Ose ‏مسا همطل‎ Prod ascents wk bores of SAD OO; test ‏وس سم‎ 9. ‏صا جمجامم لت بل ولمم مو()‎ dl records pertotcioy ‏ما‎ the Cenurtke brook. Gieolody vee todex oo ‏خام مه ۳ ول‎ bok sets oP potters ‏:لاه‎ Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. 10.60 ©Sbervehnts, Cork ced Cnakershe

صفحه 42:
ره + اف مس بط سوت فجن روها ‎ory seurvk‏ روا یه وین ‎Bl‏ ‎Gx (browh ence, bok)‏ © BE ‏تس مورا‎ (ay, 9) < (by: ba) B ether ear ويطك يه اعد يمح © 1 ‏مسف “9 - حابس سا ساي‎ Ours 18, OOOO. wre ©Sbervehnts, Cork ced Cnakershe

صفحه 43:
+ ‏طرش( مس لب‎ Biriniew روط او اه هط مه ما سب و 0 اه مات با ۳ 0 2 لت سس و سا جوا هجا حسمي رات ‎weed to‏ با مه (ما )من مه با ‎ere‏ ی بای ‎waa records‏ تا رون رن سس تمستاای بیط ۰ حطه یبیل © | ‎BE Oca ube fre) eed‏ ‎where broark_onre = “Perryricke” wad bokrare < (DOO‏ رخا من ۲ 0 2 ی پم و۳ > و و وان ‎Dey Pek uxny revo that subeh) the Prot bul oot the second eventos‏ © Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO.

صفحه 44:
+ ‏وت سر رل و‎ Kags ۲ ‏تسم‎ ‎© Bacher oa separde block (bad ide) © Diet oP tuple porters ‏لابب‎ each ey > Grint code ty browne boo Hot ١ Deletion oF a turks oo be expeceive > bow spare overheard, ‏امه مه و‎ heres © che search hey eign by addon & recorded ١ ‏لاه موه موق‎ Por keys © Gropler code Por ‏وجا وميم‎ > Okkeb wed Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏موی‎

صفحه 45:
سا جیار + ون ۲ © Oxi extra atrbues kk ov (seer) queries ous werd Petchien he utd oa ۲ @orticdady use Por secoadery todos ~ Oh? © Coo store extra otter ody of eo © ‏ی وولو له ما لس‎ ۱ dl seoredary iedices thot store record pointers have tr ‏ال سا‎ © Onde splis ta Bree Pile orguoizaives becowe very expeusive ۱ tosteud oP potater te secoedar torte * @xtea traversd of ‏له نموم‎ te locate record ‏را‎ cost Por queries, but uede spl ane chew * Odd recorded iP prccary-teden search hep is orerucique Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. wero ©Sbervehnts, Cork ced Cnakershe

صفحه 46:
Graco Wesker HO brctet is out oP store couche oe oF wore records (3 bucket ‏ها‎ ‏ار اه رو‎ Bao hook ‏با ماه بت مه طخ‎ bucket of «record drei Brow te ‏وی سل راوید‎ ot hash ‏,یت‎ 60 عصا راو له چاه وه با مت مت مج مد را © ‎set oF of bucket addresses )©.‏ Bosh Puuntivg is used ty lorie records Por access, keertiva os well os detec. © Records wih dPPered seact+hey voles way be wapped to the sue bucket; thus eutre bucket kus to be searched sequecidly te locate o record. Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. wero ©Sbervehnts, Cork ced Cnakershe

صفحه 47:
+ @xavple oP Lesk Pie Orqratzaiva (Ova) ook Bie orgectztiza of arcu He, wk brot_onnre or key (Gee Prqure ta cea okt.) 18 ‏بطساصط (00) حي حصا"‎ “he bicory represectatiog of te i choronter ts ‏.ل عصيجا با مج‎ © Vhe hosk Puontio retires the sunv of the bicory represectativos oF the ‏مدب مور‎ 000 ۰ ‏ام 6 - هب۵‎ =O ») ‏مجم‎ - 6 1 ‏مسف “9 - حابس سا ساي‎ Ours 18, OOOO. wer ©Sbervehnts, Cork ced Cnakershe

صفحه 48:
دی ما اسر تن ماو سنا + | (ee previo side Por detaks). 7 hacker 212 AGT Perryrdge 15 | 33 bracket 23 Manas picket 3 backer 8 22۳ ۳ 2101 395 | Round FL 1 picket 4 ‏تسد‎ ۱ wwe ©Sbervehnts, Cork ced Cnakershe

صفحه 49:
Wek uw B® Worst hosk Puontica wops ll searck-hey voles to the sucve bucket; this coher ‏وا وه‎ proporticgdl to the oucpber of searck-hey uchues ter the Pie. © Qc ded hash Pucniivg is uoPore, ie. pack bucket is ussiqued the sue cuber oP search-hey values Prow the set of oll possible voles. Wed husk Puuntiog ip rondo, 97 euck bucket wil have the suce oveober of records ussiqaed te ilinrespenive oP the ontual detrbutica oP seanck-hey vakues tr the Pie. ما توا موه مه موه وا ‎kek Pumice‏ ۱ ‎oP the searck-hey.‏ © Cor exnople, Por ‏جملا ,رصح جد كماد د‎ bcary represectaicas of ofl the choraders ta the sires ovukd be added ced the suc sarduly the cumber of buckets ood be returced. . Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. wwe ©Sbervehnts, Cork ced Cnakershe

صفحه 50:
+ Abert oP Bictet OverPowe © chet werPow oo voor bernie oF © ‏سا ملس‎ ۶ ‏توص ما طا صل و مه !1" .جلسووم و ماد نجاق)‎ ۱ ‏موی( سا وولو‎ produces orudPorn detdbutod oP key vohues © though the probubttiy of bucket overPlw co be reduced, it core be ‏لها‎ tt ts hooded by ustacy overAeuy buckets. Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 موه‎

صفحه 51:
+ AWandiag oF Bucket OverPlows (Ovd.) Quer Row chotctes — the pverApu buckets of a qived bucket are chotced together ‏الا و و‎ © Oboe ochewe b&b oled closed hohion), © @adtersuive, cdled ‏موه‎ hushiog, whick does wt wee overPpw buckets, ‏جا‎ ‎swt suittble Por dotobose ‏اون‎ مهو packet 2 ۵09 سطه مج -.

صفحه 52:
Wek ‏له‎ ۲ ‏سا ی را‎ weed ont voy Por Pie orysratzation, but doe Por tedex-structure ‏مه‎ ام ام لس ‎the search heps, wih heir‏ موس تا ی ۵ 19 ‎Pile structure.‏ اس و و له وله موس و ی ما له رارق © بل اس روم ع وود و ‎is oryeoized usieg hoshioy,‏ اس عا با ‎ihustey the suxve searctchey ip unecessary.‏ © AWowever, we use the ter kook iodex to rePer to bois seooadory iodex strudtures ood hash orquctzed Pies. Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. 666 1 ‏سا0 لح 0 لا سواه‎

صفحه 53:
‎lerdex‏ بلصهر" و واممبوب) ‎pucker ‎bucket 1 ‎ae Brighton, ‎Downtown‏ جح ‎Downtown)‏ ‎Mianus‏ ‎Perrvridge‏ ‎Pereyeidge‏ ‎pucker 2 2-07 Alo ‎pucker 3 Porryridge ‎227 Redwood ۸-2 1 racket 4 ‎۳3 ‎pucker 5 ‎racket 6 Aa ‎ ‎Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 ه66‎

صفحه 54:
+ DsPorwtes oP Onto Toshio ۱ ‏وا‎ hoshieg, Pucrtioa A waps searckhey volues too Prod set oP @ oF buchet addresses. © QDotbwses grow wit koe. TP toital overber oP buckets te tov sacl, perPorwccce wil degrade cue te to auch overPaws. ©0418 Bie ste of swe pict in he Puture is coipipated ood cucpber of buckets cdhomoted armored), stoiPiccat cc77uct oF space ull be ‏اه وت‎ ©1P dktcbuse shricks, onic spore will be uated. © Ove pion tf periods re-orqsaizatiog oF the Ale wilt 0 aew hash ‏ریخ‎ but Wis very expewsie. 19 Vheee problews coo be avoided by ‏ی‎ tevhotques thot dieu ‏ام امس ها‎ buckets to be sordPied dyaccnicdy. Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. woe ©Sbervehnts, Cork ced Cnakershe

صفحه 55:
Oveuws ‘besa © (Boed Por dotdbose thot rows oad shrtohs to ste 18 @lows the hosk Pucntog to be wodPied ‏رام‎ ‎۲ ‏لب‎ heshiay — 7ae Por ‏او دج‎ © Week ‏موی مش(‎ voues over u hore ree — ippicdly ‏,رکه ماس‎ ‏رد‎ 99۰ © tow thee use odly o prefix oF the hosk Puortion to fades toto a table oP bucket addresses. © Let the ‏سا‎ of the prefix be this, D <1< 98. © @ucket uddress tubke ste =O" “itchy = ۶ ‏ی و عون‎ ocd shriche os he size of the ‏ما‎ gros und ‏.مهاد‎ ‎e ‎۰ Ovtigle eoites to the bucket address toble soy potat ‏صا‎ a bucket. hus, octed auceber of buckets is < C! ۱ "(۳ ouber of buckets dev changes dvoonicdly due ty oodesrtegy ord ‏اه مارد‎ buckets. 4 Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. 666 1 ‏سا0 لح 0 لا سواه‎

صفحه 56:
+ (Beard Casals Lak Gristre hash prefix i 00 bucket 1 01 10 11 bucket 3 bucket address table 415 ‏جا‎ pinche, ‏را را‎ < ۱ whereas = 1A (pee ent oie Por etal) Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 موه‎

صفحه 57:
+ Ove oP Oxteukbe Task Ornotre B Owk hehe jotres uke ff dl he euires hu pot iy he sue bucket hove he exnve Uohew oo the Prot j bis. To bout he bucket ovotacin sewok-hey 4. Onxeprte b(K) = ©. Doe the Prot this order bis of Cae 3 depkrewent ty bucket uklrese ‏,ناما‎ ‎coed Pollo he potter to appropri: bucket Do wert a record wih ‏ی روط‎ © Polow su0e provekee ov boh-up unl bout he bucket, ‏ز روت‎ OP here tp rome ta he bucket jeer reverts ke backer. © Che the bucket wat be oplt ocd keertoc remuitewpted (sient oie.) > OverPiw ‏مامت لت لوط‎ sore copes (ull see shorty) Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. wor ©Sbervehnts, Cork ced Cnakershe

صفحه 58:
+ ‏سل‎ ta Oxterkble Lak Ornctre Do ‏ان وه بت لو یه از امه ود‎ OC: ۲ ‏ی زد‎ thos owe porter ‏ساسا‎ ( © horde ‏سلطا تنج و‎ 2, oud set jon #7 the od 4+ CL. ‎ae be chen arth bbe pone pete rt pee‏ ام تیا ‎he sree‏ ی ‎© rewove ond rekeert pack revord ta bucket i © reer pue sew bucket Por OG aed keer reper he bucket (Ruther split fe required P ke bucket toil Pl) BP 1 =} (ooh ove porter to bucket /) © orewedt fond double the stze of the bucket adhere tobe. © ‏سحام‎ puck euiry fo the toble by tur euites thot potato the sone bucket. ‎ble eciry Por‏ له یط نب موم ‎Wow 1> 1 sv 5 he Prot care oboe.‏ ‎Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. 666 1 ‏سا0 لح 0 لا سواه‎

صفحه 59:
+ Opdktes ta Oxteadable Wok Girwture (Ovd.) © Ohkes ieertoy ovo, P the bucket is Pull oPter several splis (thot is, freuches: swe het 6) orede ost ‏سوه‎ bucket iesteud oF splitay bucket eciry table Purtser. BV delete a hey uch, © toote it ta te bucket aed rewove i. © he buhet tee co be rewoved Pit bevower ewpty (wih oppropricte updates to the bucket uddress table). ۶ Conesriey of buckets moa be dour (coo podesre voly wil o “buddy” bucket ‏بو‎ une dhe oF ‏1ت سود لع‎ prefix, Pit ts preseci) © Devreustey bucket address tuble size is dev possible: ١ ‏روط :ج000‎ bucket address tuble size te on expeusve ‏ای مش‎ should be ‏ما ای اس ما مسا ان اس ۳ رای سول‎ stze oP the table Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. 666 1 ‏سا0 لح 0 لا سواه‎

صفحه 60:
h(branch_name) 0010 1101 1111 10110010 1100 0011 0000 1010 0011 1010 0000 1100 0110 1 1100 0111 1110 1101 1011 1111 1010 1111 0001 0010 0100 1001 0011 01101101} 0011 0101 1010 01101100 1001 11101011] 1101 1000 0011 1111 1001 1100 00000001) bucket address table bucket 1 ‎Wark structure, bucket size 2 0 Ez‏ او ‎Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 همه‎ ‎ ‎ ‎ ‎ ‎

صفحه 61:
+ ‏سس‎ (Ovw.) Block ‏خام میا اه مس‎ coe Brighios ocd two Oowaiow records x A-217 [Brighton 750 1 A-101|}Downtown | 500 A-110|Downtown | 600 ash prefix 1 bucket address table Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏مهو‎

صفحه 62:
@xawple (Ova.) bask structure oPter tesertica of Dieu record Brighton Downtown Downtown bucket address table Mianus Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 موم‎

صفحه 63:
+ ‏سس‎ (Ovw.) 1 A217 [Brighton prefix 2 A-101 [Downtown ۸-110 [Downtown A-215 [Mianus 3 3 A-102[Perryridge] 4 A-218 [Perryridge | 700 ۸-201 [Perryridge lbucket address table ‎structure oPter tosertioa oP three Per yridee records‏ وا ‎Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 موم‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎

صفحه 64:
@xawple (Ovu.) Wok structure Per ‏ما‎ oP (Redwood ood Roued Wil records Pemyridge| ©Sbervehnts, Cork ced Cnakershe [Brighton JRedwood Downtown] [Downtown] Mianus Round Hill Perryridge Perryridge fo a hash prefix pucket addres Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO.

صفحه 65:
+ ‏ساب‎ Lehaqus. Ofer Ortewer BE ‏ام تس‎ hashien © Aceh perPorannce does oot dear wth ruth of Pe © Oricon space overteod ۲ ‏مت‎ of extractable hosiery © Bair bevel of iechrevion to Pied depired record © Bucket address ble way tee becowe very bis (larger hoa wewory) ١ Deed a tree sieht bre desired record ‏اجه سا‎ © keener ste of bucket adress table fs on expeceive opera Bo biceor hoshieg i oo uheroaive werhoaisw whick awoide these deodvactrces ot the possible cost oP wore ‏سای اس‎ Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 موم‎

صفحه 66:
+ Oowpareva oP Ordered tadextay aad Washiag ل سا تا له ی اه روصم ‎(QRetiive‏ مومت و سوت سا و سا و موه و و ای 1 ۲ ‎wrens te?‏ ۲ xpected pe oP queries! © Aheehieg ie yeurrdly beter ol retrieved revords hevien, o speried due of the key. ‎ordered tedives ore to be prePerred‏ و ‎queries ore‏ و 1۳ و ‎Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 موم‎

صفحه 67:
حیمنوا" عومج ةق ۲ ‏لو لت اه عم لس وه له ما‎ ۲ eP Picea! queryiegy om ‏وا ای‎ © Reve oo rektivs oe aenved ty be cubered sequedidly Prow, say, D © @veas wncber ot onet be eu tp retieve record © ۱ ‏رنه رلولو()‎ P records ore oP Pred ste © Oppicable vo ‏ادن اس و سای اوه لها و من له فا ما‎ ۶ ‏رت رت ی و‎ «.. ‎eeeetevel (eeowe brokeo up tiie a sad cuber oP levels suck oe‏ .8.0 و ‎IODOO19999, GOOOO-GOOOO, SOOOO-‏ ,0-9999 ‎eBay) ‎19 0 boop ts stop) oo ory oP bie ‎ ‎Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. wor ©Sbervehnts, Cork ced Cnakershe

صفحه 68:
+ @row “kxbes (Oru) Bate skoplest Pore o bicvop fedex oo oo otibute has o bievag Por eurt votue oP the ‏اس‎ ۶ ‏ما مق‎ oe ery bis oe revo © ‏رز سل بط ما وم‎ the bt Por a record te (the record bros he ‏صخي‎ ‏اه با و زر‎ ord i ober Tncome| Bitmaps for gender Bitmaps for address | _level ‏[و1001] هه‎ Perry! 10100 Perryridge| LI 2 7 Brooklyn | ‏شا‎ 01000 Jonestown | LI 0 0 1 Brooklyn | L4 Perryridge | 13 Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏موم‎

صفحه 69:
Oro ‘ketoes (Ovw.) ‎airbus‏ جارج من ‎kop ides oe We Por queries‏ الا ‎eet erent oe ce pert)‏ ‎Bl Qeeres oe crewered very bisvoy operciene ‏ی‎ ‎© wn (or) © Completion (ce) ‎Gack thes tun btonays oP he sxnie size nd opptens the operate ox ‏ملم بسحت‎ bis to vet he rel bia ‎© Ex. 00000 ۵00 000000 ۶ 0000 ‎100004060 00 00000000 - 0 MOT 000060 < 0 ‎8 ‏.را مرها سس کات عطه()‎ 1000060 BODO 00600 ۶ 00 Ooo thea retrieve required tuples. ۲ ‏اه امه ممو()‎ crotchtery tuples ts eved Poster ‎Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. 666 1 ‏سا0 لح 0 لا سواه‎

صفحه 70:
+ @row “kxbes (Oru) § Otrup titers ‏موی اه بر را‎ wih reba size © Gx. Prevod & (OO byes, spare Por a sede bieoay i WOOO oP spare ‏مصتساد بو لصا‎ یه ما اه 19۵ رای تا ما ,0 ها عطق سط خاه طلسم 1۳ + بلجوصم للم ان یت مها ۲ ‎bisa to ante B here i a uckd revord of o record foro‏ © معد اوسن ‎Deeded Por‏ © ‎(P=): (DOP bicrre-P-v) POO Brite Prem‏ > ‎uch‏ له مه ری با متا با الما ۲ ‎DOT (P=‏ ۳ مه له ا۵ سط اه و © (0 سم 001 لابب شججم سجاه سس« 1 Ovweyt- O* Crore, Ours 18, OOOO. 20 ©Sbervehnts, Cork ced Cnakershe

صفحه 71:
+ GPPoed hope weciaiva oP ia Opertiows Bl Oke ore packed hiv words; 9 oko word ond (a bse OPO keet-urton) ‏امه ویو‎ oP OC or OF bie ot ore مقصصصا (901,6©0 ‎it‏ نت ال سا من سوت سمل بر © ‎trick?‏ ه ‎oP (ls cao be door Post by‏ اه رن ۲ © Ose euck byte to aden ioe 0 precowpied ara oP CGO eleweruis ruck stortay the coud of Us to the ‏بصصطط‎ represectaiva ۲ ‏ول‎ use pairs of bytes to speed up Pudher of a higher wewory ost © Odd up the retrieved coun © @ikoops coo be used iestead of Mupte-10 tists ‏او را یا و‎ O*trees, Por vdues thot hove a horge cueber oP aotchieg records © Worhwhie P > WOR of the records hove thot ude, esucvieny 0 fuple-id is OF bite © Cbove teckoque werces bevehis of bia ond ree techies Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 موه‎

صفحه 72:
adex OePiciva ١ OGL © Creo on dex <صم تاک ‎pa‏ موی لک بط و (<ساصحاه»>) ‎brouk(browk_ance)‏ من امتح جلما ی نوج ‏لا لت سا وتا اجه راد رال نا بل هو حفص ‎Ose‏ ‏وا دمج هط بصا عند موی و روا او ‏فک © ‎wo ied‏ و ۲ ماک لها سل ‎1 Ovweyt- O* Crore, Ours 18, OOOO. 70 ©Sbervehnts, Cork ced Cnakershe

صفحه 73:
Gad oP Okaper

صفحه 74:
اس سا میم مها ۱ ‏ای مه لول ره ره و اس را‎ utiibute oF the ‏سور‎ بو مه اه و و( ‎(Py, ay...‏ ما روط سوه 0و سس ۲ ‎eee)‏ م ‏سا بلس( سای لاور ‎(Oca, Lareva) 0000‏ 40 0000 (ماسظ) ‎(Oca,‏ ‎(Pak, Pdr Pr) OAD OAD‏ ( ‎(Grin, Brockia) — DOA DOA (®kra, Poe Blo) ID 0 ‎© ‏وه و‎ equip query co stage atibute, ved ty look uy cuticle buckets. Gteddar io eP Pert to ortd Pies. ‎Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 موی‎

صفحه 75:
Brighton Downtown Downtown Mianus Perryridge Perryridge Perryridge Redwood Round Hill 70 Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO.

صفحه 76:
he Ostetoa oP “Pevryrike” Crow te 0'-Tree oP Pique 06.06 1 ‏مسف “9 - حابس سا ساي‎ Ours 18, OOOO. 70 ©Sbervehnts, Cork ced Cnakershe

صفحه 77:
Brighton Downtown Downtown Mianus Perryridge Perryridge Perryridge Redwood Round Hill Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO.

صفحه 78:
750 500 600 700 400 900 700 700 350 Prue 16.8 Brighton Downtown Downtown Mianus Perryridge Perryridge Perryridge Redwood Round Hill وجوه Brighton Downtown Mianus Perryridge Redwood Round Hill Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO.

صفحه 79:
Clearview Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. 70 ©Sbervehnts, Cork ced Cnakershe

صفحه 80:
+ que 10.60 227 730 201 AAO Mianus 400 ۸201 | Perryridge | 900 | 700 A-305 | Round Hill | 350 he Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. woo ©Sbervehnts, Cork ced Cnakershe

صفحه 81:
1 Pre 16.99 Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 موه‎

صفحه 82:
Ord Piss § Gtrwtwre used ty speed the provessiny oP year wuliple search-hey queries: fevolvies) ‏وس‎ 9 operons. © ODhe rtd Pie hos o stage grid ray ood coe fora sole Por pack search-hey ‏ماش‎ The ord array hes cucober of ‏اس و اجه حول‎ of seartchey ubibutes. ‎array cam pot to senor bucket‏ لحي ‎vals oP‏ ان( نا ‎Do Pied the bucket Por a search-hey ‏تا رصان‎ the row ced oobi oF tie ell wetog the toear scutes ood Polos potter ‎Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 موم‎

صفحه 83:
Bi ali ۱ 1 Townsend / ۱ ۱ ‏زو عوهت‎ Mianus ۱ ۱] 1 2 5 Bi inear scalefor ft 3 ‏ای‎ ‎ik [3K [5k | 104 | 506 0 Buckets 1 2 3 4 5 6 Linear scale for halance Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. ‏سا0 لح 0 لا سواه 1 موم‎

صفحه 84:
+ Gave bad Grad Oi BO ortd Ae oo tr ‏اه‎ @ oad @ coo hood queries oF oll Poliowtey Pores ‏رای ارم تلا‎ (» > © > ,ه) ۰ (وط > © > ) ۶ .,(يط > © > رط * يه > © دو) * 11 Ox, cow (q < O< ay * hy < OX b,), we bee oockes Pied ‏اس مسا مد بو با او معي بوجوو تجو ای ماس موم‎ oy ‏یم میا بو‎ 1 Ovweyt- O* Crore, Ours 18, OOOO. woe ©Sbervehnts, Cork ced Cnakershe

صفحه 85:
Orid Plow (Ova) © Ouray iesertiva, Po bucket bevowes Bul, cew bucket coc be ‏لصو‎ P ore thea vor cell potas tot. © deo stvior tp exteudable hashioy, but oa wutiple deoeusion © AP ody vue vel poids 7 1, ether on overPow bucket wet be crested or the ord stze wet be rece BE bre ‏ويه‎ anet be chosen ty Pore dette records carves orks. ۶ ‏شمان‎ there wil be too aay over Bow buckets. 8 Cenede re-onprintion i kere oid size wal help. © Oct reonnntzdion cas be very expose. BG peer overhead of ord array con be kick, Be Rts (Okwter C9) or on ‏هم‎ Ceedwe Oyetre Ovweyt- O* Crore, Ours 18, OOOO. 666 1 ‏سا0 لح 0 لا سواه‎

Chapter 12: Indexing and Hashing Database System Concepts, 5th Ed. ©Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use Chapter 12: Indexing and Hashing  Basic Concepts  Ordered Indices  B+-Tree Index Files  B-Tree Index Files  Static Hashing  Dynamic Hashing  Comparison of Ordered Indexing and Hashing  Index Definition in SQL  Multiple-Key Access Database System Concepts - 5th Edition, Aug 12, 2005. 12.2 ©Silberschatz, Korth and Sudarshan Basic Concepts  Indexing mechanisms used to speed up access to desired data.  E.g., author catalog in library  Search Key - attribute to set of attributes used to look up records in a file.  An index file consists of records (called index entries) of the form  pointer search-key Index files are typically much smaller than the original file  Two basic kinds of indices:  Ordered indices: search keys are stored in sorted order  Hash indices: search keys are distributed uniformly across “buckets” using a “hash function”. Database System Concepts - 5th Edition, Aug 12, 2005. 12.3 ©Silberschatz, Korth and Sudarshan Index Evaluation Metrics  Access types supported efficiently. E.g.,  records with a specified value in the attribute  or records with an attribute value falling in a specified range of values.  Access time  Insertion time  Deletion time  Space overhead Database System Concepts - 5th Edition, Aug 12, 2005. 12.4 ©Silberschatz, Korth and Sudarshan Ordered Indices Indexing techniques evaluated on basis of:  In an ordered index, index entries are stored sorted on the search key value. E.g., author catalog in library.  Primary index: in a sequentially ordered file, the index whose search key specifies the sequential order of the file.  Also called clustering index  The search key of a primary index is usually but not necessarily the primary key.  Secondary index: an index whose search key specifies an order different from the sequential order of the file. Also called non-clustering index.  Index-sequential file: ordered sequential file with a primary index. Database System Concepts - 5th Edition, Aug 12, 2005. 12.5 ©Silberschatz, Korth and Sudarshan Dense Index Files  Dense index — Index record appears for every search-key value in the file. Database System Concepts - 5th Edition, Aug 12, 2005. 12.6 ©Silberschatz, Korth and Sudarshan Sparse Index Files  Sparse Index: contains index records for only some search-key values.   Applicable when records are sequentially ordered on search-key To locate a record with search-key value K we:  Find index record with largest search-key value < K  Search file sequentially starting at the record to which the index record points  Less space and less maintenance overhead for insertions and deletions.  Generally slower than dense index for locating records.  Good tradeoff: sparse index with an index entry for every block in file, corresponding to least search-key value in the block. Database System Concepts - 5th Edition, Aug 12, 2005. 12.7 ©Silberschatz, Korth and Sudarshan Example of Sparse Index Files Database System Concepts - 5th Edition, Aug 12, 2005. 12.8 ©Silberschatz, Korth and Sudarshan Multilevel Index  If primary index does not fit in memory, access becomes expensive.  To reduce number of disk accesses to index records, treat primary index kept on disk as a sequential file and construct a sparse index on it.  outer index – a sparse index of primary index  inner index – the primary index file  If even outer index is too large to fit in main memory, yet another level of index can be created, and so on.  Indices at all levels must be updated on insertion or deletion from the file. Database System Concepts - 5th Edition, Aug 12, 2005. 12.9 ©Silberschatz, Korth and Sudarshan Multilevel Index (Cont.) Database System Concepts - 5th Edition, Aug 12, 2005. 12.10 ©Silberschatz, Korth and Sudarshan Index Update: Deletion  If deleted record was the only record in the file with its particular search-key value, the search-key is deleted from the index also.  Single-level index deletion:  Dense indices – deletion of search-key is similar to file record deletion.  Sparse indices –  if an entry for the search key exists in the index, it is deleted by replacing the entry in the index with the next search-key value in the file (in searchkey order).  If the next search-key value already has an index entry, the entry is deleted instead of being replaced. Database System Concepts - 5th Edition, Aug 12, 2005. 12.11 ©Silberschatz, Korth and Sudarshan Index Update: Insertion  Single-level index insertion:  Perform a lookup using the search-key value appearing in the record to be inserted.  Dense indices – if the search-key value does not appear in the index, insert it.  Sparse indices – if index stores an entry for each block of the file, no change needs to be made to the index unless a new block is created.   If a new block is created, the first search-key value appearing in the new block is inserted into the index. Multilevel insertion (as well as deletion) algorithms are simple extensions of the single-level algorithms Database System Concepts - 5th Edition, Aug 12, 2005. 12.12 ©Silberschatz, Korth and Sudarshan Secondary Indices   Frequently, one wants to find all the records whose values in a certain field (which is not the search-key of the primary index) satisfy some condition.  Example 1: In the account relation stored sequentially by account number, we may want to find all accounts in a particular branch  Example 2: as above, but where we want to find all accounts with a specified balance or range of balances We can have a secondary index with an index record for each search-key value  index record points to a bucket that contains pointers to all the actual records with that particular search-key value. Database System Concepts - 5th Edition, Aug 12, 2005. 12.13 ©Silberschatz, Korth and Sudarshan Secondary Index on balance field of account Database System Concepts - 5th Edition, Aug 12, 2005. 12.14 ©Silberschatz, Korth and Sudarshan Primary and Secondary Indices  Secondary indices have to be dense.  Indices offer substantial benefits when searching for records.  When a file is modified, every index on the file must be updated, Updating indices imposes overhead on database modification.  Sequential scan using primary index is efficient, but a sequential scan using a secondary index is expensive  each record access may fetch a new block from disk Database System Concepts - 5th Edition, Aug 12, 2005. 12.15 ©Silberschatz, Korth and Sudarshan B+-Tree Index Files B+-tree indices are an alternative to indexed-sequential files.  Disadvantage of indexed-sequential files: performance degrades as file grows, since many overflow blocks get created. Periodic reorganization of entire file is required.  Advantage of B+-tree index files: automatically reorganizes itself with small, local, changes, in the face of insertions and deletions. Reorganization of entire file is not required to maintain performance.  Disadvantage of B+-trees: extra insertion and deletion overhead, space overhead.  Advantages of B+-trees outweigh disadvantages, and they are used extensively. Database System Concepts - 5th Edition, Aug 12, 2005. 12.16 ©Silberschatz, Korth and Sudarshan B+-Tree Index Files (Cont.) A B+-tree is a rooted tree satisfying the following properties:  All paths from root to leaf are of the same length  Each node that is not a root or a leaf has between [ n/2] and n children.  A leaf node has between [(n–1)/2] and n–1 values  Special cases:  If the root is not a leaf, it has at least 2 children.  If the root is a leaf (that is, there are no other nodes in the tree), it can have between 0 and (n–1) values. Database System Concepts - 5th Edition, Aug 12, 2005. 12.17 ©Silberschatz, Korth and Sudarshan B+-Tree Node Structure   Typical node  Ki are the search-key values  Pi are pointers to children (for non-leaf nodes) or pointers to records or buckets of records (for leaf nodes). The search-keys in a node are ordered K1 < K2 < K3 < . . . < Kn–1 Database System Concepts - 5th Edition, Aug 12, 2005. 12.18 ©Silberschatz, Korth and Sudarshan Leaf Nodes in B+-Trees Properties of a leaf node:  For i = 1, 2, . . ., n–1, pointer Pi either points to a file record with search-key value Ki, or to a bucket of pointers to file records, each record having search-key value Ki. Only need bucket structure if search-key does not form a primary key.  If Li, Lj are leaf nodes and i < j, Li’s search-key values are less than Lj’s searchkey values  Pn points to next leaf node in search-key order Database System Concepts - 5th Edition, Aug 12, 2005. 12.19 ©Silberschatz, Korth and Sudarshan Non-Leaf Nodes in B+-Trees  Non leaf nodes form a multi-level sparse index on the leaf nodes. For a nonleaf node with m pointers:  All the search-keys in the subtree to which P1 points are less than K1  For 2  i  n – 1, all the search-keys in the subtree to which Pi points have values greater than or equal to Ki–1 and less than Km–1 Database System Concepts - 5th Edition, Aug 12, 2005. 12.20 ©Silberschatz, Korth and Sudarshan Example of a B+-tree B+-tree for account file (n = 3) Database System Concepts - 5th Edition, Aug 12, 2005. 12.21 ©Silberschatz, Korth and Sudarshan Example of B+-tree B+-tree for account file (n = 5)  Leaf nodes must have between 2 and 4 values ((n–1)/2 and n –1, with n = 5).  Non-leaf nodes other than root must have between 3 and 5 children ((n/2 and n with n =5).  Root must have at least 2 children. Database System Concepts - 5th Edition, Aug 12, 2005. 12.22 ©Silberschatz, Korth and Sudarshan Observations about B+-trees  Since the inter-node connections are done by pointers, “logically” close blocks need not be “physically” close.  The non-leaf levels of the B+-tree form a hierarchy of sparse indices.  The B+-tree contains a relatively small number of levels (logarithmic in the size of the main file), thus searches can be conducted efficiently.  Insertions and deletions to the main file can be handled efficiently, as the index can be restructured in logarithmic time (as we shall see). Database System Concepts - 5th Edition, Aug 12, 2005. 12.23 ©Silberschatz, Korth and Sudarshan Queries on B+-Trees  Find all records with a search-key value of k. 1. Start with the root node 1. Examine the node for the smallest search-key value > k. 2. If such a value exists, assume it is Kj. Then follow Pi to the child node 3. Otherwise k  Km–1, where there are m pointers in the node. Then follow Pm to the child node. 2. If the node reached by following the pointer above is not a leaf node, repeat step 1 on the node 3. Else we have reached a leaf node. 1. If for some i, key Ki = k follow pointer Pi to the desired record or bucket. 2. Else no record with search-key value k exists. Database System Concepts - 5th Edition, Aug 12, 2005. 12.24 ©Silberschatz, Korth and Sudarshan Queries on B+-Trees (Cont.)  In processing a query, a path is traversed in the tree from the root to some leaf node.  If there are K search-key values in the file, the path is no longer than  logn/2(K).  A node is generally the same size as a disk block, typically 4 kilobytes, and n is typically around 100 (40 bytes per index entry).  With 1 million search key values and n = 100, at most log50(1,000,000) = 4 nodes are accessed in a lookup.  Contrast this with a balanced binary free with 1 million search key values — around 20 nodes are accessed in a lookup  above difference is significant since every node access may need a disk I/O, costing around 20 milliseconds! Database System Concepts - 5th Edition, Aug 12, 2005. 12.25 ©Silberschatz, Korth and Sudarshan Updates on B+-Trees: Insertion  Find the leaf node in which the search-key value would appear  If the search-key value is already there in the leaf node, record is added to file and if necessary a pointer is inserted into the bucket.  If the search-key value is not there, then add the record to the main file and create a bucket if necessary. Then:  If there is room in the leaf node, insert (key-value, pointer) pair in the leaf node  Otherwise, split the node (along with the new (key-value, pointer) entry) as discussed in the next slide. Database System Concepts - 5th Edition, Aug 12, 2005. 12.26 ©Silberschatz, Korth and Sudarshan Updates on B+-Trees: Insertion (Cont.)   Splitting a node:  take the n(search-key value, pointer) pairs (including the one being inserted) in sorted order. Place the first  n/2  in the original node, and the rest in a new node.  let the new node be p, and let k be the least key value in p. Insert (k,p) in the parent of the node being split. If the parent is full, split it and propagate the split further up. The splitting of nodes proceeds upwards till a node that is not full is found. In the worst case the root node may be split increasing the height of the tree by 1. Result of splitting node containing Brighton and Downtown on inserting Clearview Database System Concepts - 5th Edition, Aug 12, 2005. 12.27 ©Silberschatz, Korth and Sudarshan Updates on B+-Trees: Insertion (Cont.) B+-Tree before and after insertion of “Clearview” Database System Concepts - 5th Edition, Aug 12, 2005. 12.28 ©Silberschatz, Korth and Sudarshan Insertion in B+-Trees (Cont.)  Read pseudocode in book! Database System Concepts - 5th Edition, Aug 12, 2005. 12.29 ©Silberschatz, Korth and Sudarshan Updates on B+-Trees: Deletion  Find the record to be deleted, and remove it from the main file and from the bucket (if present)  Remove (search-key value, pointer) from the leaf node if there is no bucket or if the bucket has become empty  If the node has too few entries due to the removal, and the entries in the node and a sibling fit into a single node, then  Insert all the search-key values in the two nodes into a single node (the one on the left), and delete the other node.  Delete the pair (Ki–1, Pi), where Pi is the pointer to the deleted node, from its parent, recursively using the above procedure. Database System Concepts - 5th Edition, Aug 12, 2005. 12.30 ©Silberschatz, Korth and Sudarshan Updates on B+-Trees: Deletion   Otherwise, if the node has too few entries due to the removal, and the entries in the node and a sibling fit into a single node, then  Redistribute the pointers between the node and a sibling such that both have more than the minimum number of entries.  Update the corresponding search-key value in the parent of the node. The node deletions may cascade upwards till a node which has n/2  or more pointers is found. If the root node has only one pointer after deletion, it is deleted and the sole child becomes the root. Database System Concepts - 5th Edition, Aug 12, 2005. 12.31 ©Silberschatz, Korth and Sudarshan Examples of B+-Tree Deletion Before and after deleting “Downtown”  The removal of the leaf node containing “Downtown” did not result in its parent having too little pointers. So the cascaded deletions stopped with the deleted leaf node’s parent. Database System Concepts - 5th Edition, Aug 12, 2005. 12.32 ©Silberschatz, Korth and Sudarshan Examples of B+-Tree Deletion (Cont.) Deletion of “Perryridge” from result of previous example  Node with “Perryridge” becomes underfull (actually empty, in this special case) and merged with its sibling.  As a result “Perryridge” node’s parent became underfull, and was merged with its sibling (and an entry was deleted from their parent)  Root node then had only one child, and was deleted and its child became the new root node Database System Concepts - 5th Edition, Aug 12, 2005. 12.33 ©Silberschatz, Korth and Sudarshan Example of B+-tree Deletion (Cont.) Before and after deletion of “Perryridge” from earlier example  Parent of leaf containing Perryridge became underfull, and borrowed a pointer from its left sibling  Search-key value in the parent’s parent changes as a result Database System Concepts - 5th Edition, Aug 12, 2005. 12.34 ©Silberschatz, Korth and Sudarshan B+-Tree File Organization  Index file degradation problem is solved by using B +-Tree indices. Data file degradation problem is solved by using B+-Tree File Organization.  The leaf nodes in a B+-tree file organization store records, instead of pointers.  Since records are larger than pointers, the maximum number of records that can be stored in a leaf node is less than the number of pointers in a nonleaf node.  Leaf nodes are still required to be half full.  Insertion and deletion are handled in the same way as insertion and deletion of entries in a B+-tree index. Database System Concepts - 5th Edition, Aug 12, 2005. 12.35 ©Silberschatz, Korth and Sudarshan B+-Tree File Organization (Cont.) Example of B+-tree File Organization  Good space utilization important since records use more space than pointers.  To improve space utilization, involve more sibling nodes in redistribution during splits and merges  Involving 2 siblings in redistribution (to avoid split / merge where possible) results in each node having at least entries  2n/ 3 Database System Concepts - 5th Edition, Aug 12, 2005. 12.36 ©Silberschatz, Korth and Sudarshan Indexing Strings   Variable length strings as keys  Variable fanout  Use space utilization as criterion for splitting, not number of pointers Prefix compression  Key values at internal nodes can be prefixes of full key  Keep enough characters to distinguish entries in the subtrees separated by the key value – E.g. “Silas” and “Silberschatz” can be separated by “Silb” Database System Concepts - 5th Edition, Aug 12, 2005. 12.37 ©Silberschatz, Korth and Sudarshan B-Tree Index Files  Similar to B+-tree, but B-tree allows search-key values to appear only once; eliminates redundant storage of search keys.  Search keys in nonleaf nodes appear nowhere else in the B-tree; an additional pointer field for each search key in a nonleaf node must be included.  Generalized B-tree leaf node  Nonleaf node – pointers Bi are the bucket or file record pointers. Database System Concepts - 5th Edition, Aug 12, 2005. 12.38 ©Silberschatz, Korth and Sudarshan B-Tree Index File Example B-tree (above) and B+-tree (below) on same data Database System Concepts - 5th Edition, Aug 12, 2005. 12.39 ©Silberschatz, Korth and Sudarshan B-Tree Index Files (Cont.)    Advantages of B-Tree indices:  May use less tree nodes than a corresponding B +-Tree.  Sometimes possible to find search-key value before reaching leaf node. Disadvantages of B-Tree indices:  Only small fraction of all search-key values are found early  Non-leaf nodes are larger, so fan-out is reduced. Thus, B-Trees typically have greater depth than corresponding B+-Tree  Insertion and deletion more complicated than in B +-Trees  Implementation is harder than B+-Trees. Typically, advantages of B-Trees do not out weigh disadvantages. Database System Concepts - 5th Edition, Aug 12, 2005. 12.40 ©Silberschatz, Korth and Sudarshan Multiple-Key Access  Use multiple indices for certain types of queries.  Example: select account_number from account where branch_name = “Perryridge” and balance = 1000  Possible strategies for processing query using indices on single attributes: 1. Use index on branch_name to find accounts with balances of $1000; test branch_name = “Perryridge”. 2. Use index on balance to find accounts with balances of $1000; test branch_name = “Perryridge”. 3. Use branch_name index to find pointers to all records pertaining to the Perryridge branch. Similarly use index on balance. Take intersection of both sets of pointers obtained. Database System Concepts - 5th Edition, Aug 12, 2005. 12.41 ©Silberschatz, Korth and Sudarshan Indices on Multiple Keys  Composite search keys are search keys containing more than one attribute   E.g. (branch_name, balance) Lexicographic ordering: (a1, a2) < (b1, b2) if either  a1 < a2, or  a1=a2 and a2 < b2 Database System Concepts - 5th Edition, Aug 12, 2005. 12.42 ©Silberschatz, Korth and Sudarshan Indices on Multiple Attributes Suppose we have an index on combined search-key (branch_name, balance).  With the where clause where branch_name = “Perryridge” and balance = 1000 the index on (branch_name, balance) can be used to fetch only records that satisfy both conditions.  Using separate indices in less efficient — we may fetch many records (or pointers) that satisfy only one of the conditions.  Can also efficiently handle where branch_name = “Perryridge” and balance < 1000  But cannot efficiently handle where branch_name < “Perryridge” and balance = 1000  May fetch many records that satisfy the first but not the second condition Database System Concepts - 5th Edition, Aug 12, 2005. 12.43 ©Silberschatz, Korth and Sudarshan Non-Unique Search Keys  Alternatives:  Buckets on separate block (bad idea)  List of tuple pointers with each key   Extra code to handle long lists  Deletion of a tuple can be expensive  Low space overhead, no extra cost for queries Make search key unique by adding a record-identifier  Extra storage overhead for keys  Simpler code for insertion/deletion  Widely used Database System Concepts - 5th Edition, Aug 12, 2005. 12.44 ©Silberschatz, Korth and Sudarshan Other Issues  Covering indices  Add extra attributes to index so (some) queries can avoid fetching the actual records    Particularly useful for secondary indices – Why? Can store extra attributes only at leaf Record relocation and secondary indices  If a record moves, all secondary indices that store record pointers have to be updated  Node splits in B+-tree file organizations become very expensive  Solution: use primary-index search key instead of pointer in secondary index  Extra traversal of primary index to locate record – Higher cost for queries, but node splits are cheap  Add record-id if primary-index search key is non-unique Database System Concepts - 5th Edition, Aug 12, 2005. 12.45 ©Silberschatz, Korth and Sudarshan Static Hashing  A bucket is a unit of storage containing one or more records (a bucket is typically a disk block).  In a hash file organization we obtain the bucket of a record directly from its search-key value using a hash function.  Hash function h is a function from the set of all search-key values K to the set of all bucket addresses B.  Hash function is used to locate records for access, insertion as well as deletion.  Records with different search-key values may be mapped to the same bucket; thus entire bucket has to be searched sequentially to locate a record. Database System Concepts - 5th Edition, Aug 12, 2005. 12.46 ©Silberschatz, Korth and Sudarshan Example of Hash File Organization (Cont.) Hash file organization of account file, using branch_name as key (See figure in next slide.)  There are 10 buckets,  The binary representation of the ith character is assumed to be the integer i.  The hash function returns the sum of the binary representations of the characters modulo 10  E.g. h(Perryridge) = 5 Database System Concepts - 5th Edition, Aug 12, 2005. h(Round Hill) = 3 h(Brighton) = 3 12.47 ©Silberschatz, Korth and Sudarshan Example of Hash File Organization Hash file organization of account file, using branch_name as key (see previous slide for details). Database System Concepts - 5th Edition, Aug 12, 2005. 12.48 ©Silberschatz, Korth and Sudarshan Hash Functions  Worst hash function maps all search-key values to the same bucket; this makes access time proportional to the number of search-key values in the file.  An ideal hash function is uniform, i.e., each bucket is assigned the same number of search-key values from the set of all possible values.  Ideal hash function is random, so each bucket will have the same number of records assigned to it irrespective of the actual distribution of search-key values in the file.  Typical hash functions perform computation on the internal binary representation of the search-key.  For example, for a string search-key, the binary representations of all the characters in the string could be added and the sum modulo the number of buckets could be returned. . Database System Concepts - 5th Edition, Aug 12, 2005. 12.49 ©Silberschatz, Korth and Sudarshan Handling of Bucket Overflows   Bucket overflow can occur because of  Insufficient buckets  Skew in distribution of records. This can occur due to two reasons:  multiple records have same search-key value  chosen hash function produces non-uniform distribution of key values Although the probability of bucket overflow can be reduced, it cannot be eliminated; it is handled by using overflow buckets. Database System Concepts - 5th Edition, Aug 12, 2005. 12.50 ©Silberschatz, Korth and Sudarshan Handling of Bucket Overflows (Cont.)  Overflow chaining – the overflow buckets of a given bucket are chained together in a linked list.  Above scheme is called closed hashing.  An alternative, called open hashing, which does not use overflow buckets, is not suitable for database applications. Database System Concepts - 5th Edition, Aug 12, 2005. 12.51 ©Silberschatz, Korth and Sudarshan Hash Indices  Hashing can be used not only for file organization, but also for index-structure creation.  A hash index organizes the search keys, with their associated record pointers, into a hash file structure.  Strictly speaking, hash indices are always secondary indices  if the file itself is organized using hashing, a separate primary hash index on it using the same search-key is unnecessary.  However, we use the term hash index to refer to both secondary index structures and hash organized files. Database System Concepts - 5th Edition, Aug 12, 2005. 12.52 ©Silberschatz, Korth and Sudarshan Example of Hash Index Database System Concepts - 5th Edition, Aug 12, 2005. 12.53 ©Silberschatz, Korth and Sudarshan Deficiencies of Static Hashing   In static hashing, function h maps search-key values to a fixed set of B of bucket addresses.  Databases grow with time. If initial number of buckets is too small, performance will degrade due to too much overflows.  If file size at some point in the future is anticipated and number of buckets allocated accordingly, significant amount of space will be wasted initially.  If database shrinks, again space will be wasted.  One option is periodic re-organization of the file with a new hash function, but it is very expensive. These problems can be avoided by using techniques that allow the number of buckets to be modified dynamically. Database System Concepts - 5th Edition, Aug 12, 2005. 12.54 ©Silberschatz, Korth and Sudarshan Dynamic Hashing  Good for database that grows and shrinks in size  Allows the hash function to be modified dynamically  Extendable hashing – one form of dynamic hashing  Hash function generates values over a large range — typically b-bit integers, with b = 32.  At any time use only a prefix of the hash function to index into a table of bucket addresses.  Let the length of the prefix be i bits, 0  i  32.  Bucket address table size = 2i. Initially i = 0  Value of i grows and shrinks as the size of the database grows and shrinks.  Multiple entries in the bucket address table may point to a bucket.  Thus, actual number of buckets is < 2i  The number of buckets also changes dynamically due to coalescing and splitting of buckets. Database System Concepts - 5th Edition, Aug 12, 2005. 12.55 ©Silberschatz, Korth and Sudarshan General Extendable Hash Structure In this structure, i2 = i3 = i, whereas i1 = i – 1 (see next slide for details) Database System Concepts - 5th Edition, Aug 12, 2005. 12.56 ©Silberschatz, Korth and Sudarshan Use of Extendable Hash Structure  Each bucket j stores a value ij; all the entries that point to the same bucket have the same values on the first ij bits.  To locate the bucket containing search-key Kj: 1. Compute h(Kj) = X 2. Use the first i high order bits of X as a displacement into bucket address table, and follow the pointer to appropriate bucket  To insert a record with search-key value Kj  follow same procedure as look-up and locate the bucket, say j.  If there is room in the bucket j insert record in the bucket.  Else the bucket must be split and insertion re-attempted (next slide.)  Overflow buckets used instead in some cases (will see shortly) Database System Concepts - 5th Edition, Aug 12, 2005. 12.57 ©Silberschatz, Korth and Sudarshan Updates in Extendable Hash Structure To split a bucket j when inserting record with search-key value Kj:   If i > ij (more than one pointer to bucket j)  allocate a new bucket z, and set ij and iz to the old ij -+ 1.  make the second half of the bucket address table entries pointing to j to point to z  remove and reinsert each record in bucket j.  recompute new bucket for Kj and insert record in the bucket (further splitting is required if the bucket is still full) If i = ij (only one pointer to bucket j)  increment i and double the size of the bucket address table.  replace each entry in the table by two entries that point to the same bucket.  recompute new bucket address table entry for Kj Now i > ij so use the first case above. Database System Concepts - 5th Edition, Aug 12, 2005. 12.58 ©Silberschatz, Korth and Sudarshan Updates in Extendable Hash Structure (Cont.)  When inserting a value, if the bucket is full after several splits (that is, i reaches some limit b) create an overflow bucket instead of splitting bucket entry table further.  To delete a key value,  locate it in its bucket and remove it.  The bucket itself can be removed if it becomes empty (with appropriate updates to the bucket address table).  Coalescing of buckets can be done (can coalesce only with a “buddy” bucket having same value of ij and same ij –1 prefix, if it is present)  Decreasing bucket address table size is also possible  Note: decreasing bucket address table size is an expensive operation and should be done only if number of buckets becomes much smaller than the size of the table Database System Concepts - 5th Edition, Aug 12, 2005. 12.59 ©Silberschatz, Korth and Sudarshan Use of Extendable Hash Structure: Example Initial Hash structure, bucket size = 2 Database System Concepts - 5th Edition, Aug 12, 2005. 12.60 ©Silberschatz, Korth and Sudarshan Example (Cont.)  Hash structure after insertion of one Brighton and two Downtown records Database System Concepts - 5th Edition, Aug 12, 2005. 12.61 ©Silberschatz, Korth and Sudarshan Example (Cont.) Hash structure after insertion of Mianus record Database System Concepts - 5th Edition, Aug 12, 2005. 12.62 ©Silberschatz, Korth and Sudarshan Example (Cont.) Hash structure after insertion of three Perryridge records Database System Concepts - 5th Edition, Aug 12, 2005. 12.63 ©Silberschatz, Korth and Sudarshan Example (Cont.)  Hash structure after insertion of Redwood and Round Hill records Database System Concepts - 5th Edition, Aug 12, 2005. 12.64 ©Silberschatz, Korth and Sudarshan Extendable Hashing vs. Other Schemes   Benefits of extendable hashing:  Hash performance does not degrade with growth of file  Minimal space overhead Disadvantages of extendable hashing  Extra level of indirection to find desired record  Bucket address table may itself become very big (larger than memory)    Need a tree structure to locate desired record in the structure! Changing size of bucket address table is an expensive operation Linear hashing is an alternative mechanism which avoids these disadvantages at the possible cost of more bucket overflows Database System Concepts - 5th Edition, Aug 12, 2005. 12.65 ©Silberschatz, Korth and Sudarshan Comparison of Ordered Indexing and Hashing  Cost of periodic re-organization  Relative frequency of insertions and deletions  Is it desirable to optimize average access time at the expense of worst-case access time?  Expected type of queries:  Hashing is generally better at retrieving records having a specified value of the key.  If range queries are common, ordered indices are to be preferred Database System Concepts - 5th Edition, Aug 12, 2005. 12.66 ©Silberschatz, Korth and Sudarshan Bitmap Indices  Bitmap indices are a special type of index designed for efficient querying on multiple keys  Records in a relation are assumed to be numbered sequentially from, say, 0  Given a number n it must be easy to retrieve record n    Particularly easy if records are of fixed size Applicable on attributes that take on a relatively small number of distinct values  E.g. gender, country, state, …  E.g. income-level (income broken up into a small number of levels such as 0-9999, 10000-19999, 20000-50000, 50000infinity) A bitmap is simply an array of bits Database System Concepts - 5th Edition, Aug 12, 2005. 12.67 ©Silberschatz, Korth and Sudarshan Bitmap Indices (Cont.)  In its simplest form a bitmap index on an attribute has a bitmap for each value of the attribute  Bitmap has as many bits as records  In a bitmap for value v, the bit for a record is 1 if the record has the value v for the attribute, and is 0 otherwise Database System Concepts - 5th Edition, Aug 12, 2005. 12.68 ©Silberschatz, Korth and Sudarshan Bitmap Indices (Cont.)  Bitmap indices are useful for queries on multiple attributes    not particularly useful for single attribute queries Queries are answered using bitmap operations  Intersection (and)  Union (or)  Complementation (not) Each operation takes two bitmaps of the same size and applies the operation on corresponding bits to get the result bitmap  E.g. 100110 AND 110011 = 100010 100110 OR 110011 = 110111 NOT 100110 = 011001  Males with income level L1: 10010 AND 10100 = 10000  Can then retrieve required tuples.  Counting number of matching tuples is even faster Database System Concepts - 5th Edition, Aug 12, 2005. 12.69 ©Silberschatz, Korth and Sudarshan Bitmap Indices (Cont.)  Bitmap indices generally very small compared with relation size  E.g. if record is 100 bytes, space for a single bitmap is 1/800 of space used by relation.   Deletion needs to be handled properly  Existence bitmap to note if there is a valid record at a record location  Needed for complementation   If number of distinct attribute values is 8, bitmap is only 1% of relation size not(A=v): (NOT bitmap-A-v) AND ExistenceBitmap Should keep bitmaps for all values, even null value  To correctly handle SQL null semantics for NOT(A=v):  intersect above result with (NOT bitmap-A-Null) Database System Concepts - 5th Edition, Aug 12, 2005. 12.70 ©Silberschatz, Korth and Sudarshan Efficient Implementation of Bitmap Operations  Bitmaps are packed into words; a single word and (a basic CPU instruction) computes and of 32 or 64 bits at once   E.g. 1-million-bit maps can be anded with just 31,250 instruction Counting number of 1s can be done fast by a trick:  Use each byte to index into a precomputed array of 256 elements each storing the count of 1s in the binary representation    Can use pairs of bytes to speed up further at a higher memory cost Add up the retrieved counts Bitmaps can be used instead of Tuple-ID lists at leaf levels of B+-trees, for values that have a large number of matching records  Worthwhile if > 1/64 of the records have that value, assuming a tuple-id is 64 bits  Above technique merges benefits of bitmap and B +-tree indices Database System Concepts - 5th Edition, Aug 12, 2005. 12.71 ©Silberschatz, Korth and Sudarshan Index Definition in SQL  Create an index create index <index-name> on <relation-name> (<attribute-list>) E.g.: create index b-index on branch(branch_name)  Use create unique index to indirectly specify and enforce the condition that the search key is a candidate key is a candidate key.   Not really required if SQL unique integrity constraint is supported To drop an index drop index <index-name> Database System Concepts - 5th Edition, Aug 12, 2005. 12.72 ©Silberschatz, Korth and Sudarshan End of Chapter Database System Concepts, 5th Ed. ©Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use Partitioned Hashing  Hash values are split into segments that depend on each attribute of the search-key. (A1, A2, . . . , An) for n attribute search-key  Example: n = 2, for customer, search-key being (customer-street, customer-city ) search-key value (Main, Harrison) (Main, Brooklyn) (Park, Palo Alto) (Spring, Brooklyn) (Alma, Palo Alto)  hash value 101 111 101 001 010 010 001 001 110 010 To answer equality query on single attribute, need to look up multiple buckets. Similar in effect to grid files. Database System Concepts - 5th Edition, Aug 12, 2005. 12.74 ©Silberschatz, Korth and Sudarshan Sequential File For account Records Database System Concepts - 5th Edition, Aug 12, 2005. 12.75 ©Silberschatz, Korth and Sudarshan Deletion of “Perryridge” From the B+-Tree of Figure 12.12 Database System Concepts - 5th Edition, Aug 12, 2005. 12.76 ©Silberschatz, Korth and Sudarshan Sample account File Database System Concepts - 5th Edition, Aug 12, 2005. 12.77 ©Silberschatz, Korth and Sudarshan Figure 12.2 Database System Concepts - 5th Edition, Aug 12, 2005. 12.78 ©Silberschatz, Korth and Sudarshan Figure 12.14 Database System Concepts - 5th Edition, Aug 12, 2005. 12.79 ©Silberschatz, Korth and Sudarshan Figure 12.25 Database System Concepts - 5th Edition, Aug 12, 2005. 12.80 ©Silberschatz, Korth and Sudarshan Figure 12.33 Database System Concepts - 5th Edition, Aug 12, 2005. 12.81 ©Silberschatz, Korth and Sudarshan Grid Files  Structure used to speed the processing of general multiple search-key queries involving one or more comparison operators.  The grid file has a single grid array and one linear scale for each search-key attribute. The grid array has number of dimensions equal to number of search-key attributes.  Multiple cells of grid array can point to same bucket  To find the bucket for a search-key value, locate the row and column of its cell using the linear scales and follow pointer Database System Concepts - 5th Edition, Aug 12, 2005. 12.82 ©Silberschatz, Korth and Sudarshan Example Grid File for account Database System Concepts - 5th Edition, Aug 12, 2005. 12.83 ©Silberschatz, Korth and Sudarshan Queries on a Grid File   A grid file on two attributes A and B can handle queries of all following forms with reasonable efficiency  (a1  A  a2)  (b1  B  b2)  (a1  A  a2  b1  B  b2),. E.g., to answer (a1  A  a2  b1  B  b2), use linear scales to find corresponding candidate grid array cells, and look up all the buckets pointed to from those cells. Database System Concepts - 5th Edition, Aug 12, 2005. 12.84 ©Silberschatz, Korth and Sudarshan Grid Files (Cont.)   During insertion, if a bucket becomes full, new bucket can be created if more than one cell points to it.  Idea similar to extendable hashing, but on multiple dimensions  If only one cell points to it, either an overflow bucket must be created or the grid size must be increased Linear scales must be chosen to uniformly distribute records across cells.   Otherwise there will be too many overflow buckets. Periodic re-organization to increase grid size will help.  But reorganization can be very expensive.  Space overhead of grid array can be high.  R-trees (Chapter 23) are an alternative Database System Concepts - 5th Edition, Aug 12, 2005. 12.85 ©Silberschatz, Korth and Sudarshan

51,000 تومان