VILNIAUS GEDIMINO TECHNIKOS UNIVERSITETAS Fundamentinių mokslų fakultetas Informacinių sistemų katedra Referatas Paskirstytosios duomenų bazių sistemos Atliko: Priėmė: dr. O.Vasilecas Vilnius 2010 1. Turinys 1. Turinys 2 2. Įvadas 3 3. Paskirstytosios DBS 3 3.1. DBVS architektūros 4 3.2. Paskirstytųjų DBS privalumai 4 3.3. Sėkmingo DBVS veikimo faktoriai 4 3.3.1 Duomenų organizacija 5 3.3.2 Užklausų apdorojimas paskirstytose DB 9 3.3.3 Semantinė duomenų kontrolė 10 3.3.4 Paskirstytas transakcijų valdymas 11 3.4. Paskirstytosios ir lygiagrečios DB sistemos 13 3.5. Taikymai 13 3.5.1 Mobilios paskirstytosios DB 13 3.5.2 Paskirstytų duomenų saugyklos 13 4. Išvados 14 5. Literatūra 15 2. Įvadas Pasaulyje kaupiamų duomenų vis daugėja. Tam reikia ir vis didesnių duomenų kaupyklų. Nors galioja įvairūs kompiuterinių resursų indeksavimo dėsniai, tačiau saugojimo poreikis didėja didesniu greičiu. Kita vertus organizacijos irgi plečiasi geografiškai, apsijungia, o atstovybėms duomenų reikia ne mažiau nei centrinei būstinei. Tenka spręsti duomenų paskirstymo problemas – ar duomenis siuntinės brangesniais tolimais kanalais, ar turėti dažnai naudojamus duomenis pas save? Šio referato tikslas ir bus duomenų bazių paskirstymo aptarimas. Referatas apima tokius klausimus, kaip paskirstytųjų duomenų bazių kūrimo principai, esybių-ryšių fragmentacija ir paskirstymas. Taip pat – paskirstytas transakcijų vykdymas ir užklausų apdorojimas bei patikimumas. Šiek tiek apžvelgiamos lygiagrečiosios DBS. Pabaigoje trumpai panagrinėjami paskirstytųjų DBS taikymai ir perspektyvos. 3. Paskirstytosios DBS Paskirstytąsias duomenų bazes (PDB) galima apibūdinti kaip kelių logiškai susijusių duomenų bazių, paskirstytų kompiuterių tinkle, junginį. Savo ruožtu paskirstytų duomenų bazių valdymo sistema (PDBVS) – tai programinė įranga, valdanti PDB ir suteikianti prieigos mechanizmą, nuslepiantį nuo vartotojų tokį DB paskirstytumą. Taigi remiantis ankstesniais dviem apibrėžimais galima apibrėžti paskirstytąsias duomenų bazių sistemas (PDBS) – tai paskirstytų duomenų bazių ir paskirstytų duomenų bazių valdymo sistemos junginys. Formulių mėgėjams galima pateikti išraišką: PDBS = PDB + PDBVS. Tikslumo dėlei reiktų pabrėžti, kad PDB tai ne šiaip kompiuterių tinkle padėta DB (tai būtų centralizuota DB tinklo mazge). PDB būtinas susijusių duomenų paskirstymas kompiuterių tinkle. Taip pat pažymėtina, kad PDBVS turi tokias pat savybes (neskaitant paskirstymo, kaip savybės), kaip ir paprasta DBVS – tai ne šiaip nutolusi failų sistema. Bendru atveju PDBS galima pavaizduoti taip: 1 pav. Bendra paskirstytųjų DBS schema 3.1. DBVS architektūros Kadangi duomenų bazės tiesiogiai susijusios su duomenų saugojimo įrenginiais, tai galima išskiriamos 3 pagrindines architektūras pagal duomenų saugojimo įrenginių (operatyvinė atmintis ir diskinė (pastovi) atmintis) dalinimąsi tinkle: • Bendros operatyvinės atminties – skaičiavimo įrenginiai dalinasi bendra operatyvine, bet turi atskirus diskinės atminties įrenginius. • Bendros diskinės atminties – skaičiavimo įrenginiai turi savo atskiras operatyvines atmintis, bet bendrą diskinę atmintį tinkle. • Nieko bendro – tinklo mazgai turi savo individualius skaičiavimo, operatyvinės bei diskinės atminties įrenginius. Pastaruoju metu populiariausia pastaroji architektūra dėl galimybės pritaikyti pigias personalinių kompiuterių technologijas. Pirmoji architektūra labiau siejama su lygiagrečiosiomis DB, nes tokia architektūra būdinga simetrinėms daugiaprocesorinėms sistemoms ir DB paskirstymas yra lokalus. Antroji architektūra taip naudojama dideliuose duomenų saugojimo tinkluose (SAN – storage area network). 3.2. Paskirstytųjų DBS privalumai Tikslinga PDBS lyginti su paprastomis DBS. Visi PDBS privalumai yra susiję su DB paskirstymu tinkle. Galima išskirti tokius privalumus: • Skaidrus paskirstytų, fragmentuotų ir replikuotų duomenų valdymas – vartotojas bendraudamas su PDBS nemato paskirstymo. Vartotojui PDBS atrodo kaip viena didelė DB tinkle, nors realiai tinkle yra tinklo mazgai su savo PDBS dalimis. • Potencialiai didesnis patikimumas dėl paskirstytų transakcijų – vieno mazgo išėjimas iš rikiuotės nesugadina visos sistemos (savaime suprantama, jei PDBS atitinkamai suprojektuota). • Potencialiai našesnės (greitesnės) – užklausas galima vykdyti lygiagrečiai skirtinguose tinklo mazguose. Toks lygiagretumas reikalauja kuo didesnės duomenų replikacijos. • Lengvesnis ir pigesnis sistemų plėtimas – personaliniai kompiuteriai pigesni nei dideli ir galingi pagrindiniai serveriai (angl. mainframe). Kaip vieną sėkmingiausių tokių paskirstytų sistemų pavyzdį galima būtų paminėti „Google“ paieškos sistemą, realizuotą daugybės personalinių kompiuterių, paskirstytų po visą pasaulį, pagrindu. 3.3. Sėkmingo DBVS veikimo faktoriai Potencialūs PDBS privalumai savo ruožtu sukelia ir tų privalumų realizavimo problemas. Visas tokias kylančias problemas galima suskirstyti 5 sprndžiamų problemų grupes: • Duomenų organizacija – fragmentacija, paskirstymas, duomenų pertekliškumas (replikacijos). • Užklausų vykdymas – vartotojų transakcijų pavertimas į duomenų manipuliavimo instrukcijas, optimizacijos problemos, duomenų persiuntimo ir apdorojimo kaštų mažinimas. • Duomenų saugumo kontrolė (semantinė duomenų kontrolė). • Daugiasrautiškumo valdymas (konkurencijos kontrolė, transakcijų valdymas) – lygiagrečių transakcijų valdymas, transakcijų izoliacija. Visos šios problemos bei jų sprendimo būdai PDBVS detaliau aptariami toliau šio skyriaus poskyriuose. Konkreti PDBS architektūra priklauso nuo eilės faktorių: • Patikimumo reikalavimų – priklausomai nuo replikavimo lygio ir duomenų fragmentacijos bei paskirstymo, PDBS yra patikimesnės. • Išplečiamumo poreikio – paskirstytų DBS plėtimas lengvesnis ir pigesnis. • Egzistuojančio ar planuojamo geografinio duomenų paskirstymo – egzistuojantis duomenų geografinis pasiskirstymas ar paskirstyta organizacijos struktūra verčia rinktis PDBS architektūrą. • Našumo reikalavimų – turint vietoje dažniausiai reikalingus duomenis galima juos apdoroti greičiau. • Kaštų struktūros – kurie kaštai – duomenų persiuntimo, ar saugojimo – mažesni. Dažniausiai naudojamų duomenų turėjimas vietoje leidžia sutaupyti duomenų persiuntimo brangesniais tolimų ryšių tinklais sąskaita. Duomenų bazių projektavimas sudėtingas procesas, kurio tikslas – nuspręsti kur saugoti duomenis ir programas kompiuteriniame tinkle. Tai kartais apima ir pačio tinklo projektavimą. Išskiriamos dvi PDBS kūrimo strategijos: projektavimas iš viršaus į apačią (angl. Top-Down design) ir projektavimas iš apačios į viršų (angl. Bottom-Up design). Iš viršaus į apačią projektuojama tuomet, kai sistema kuriama nuo pradžios, ar kai turima centralizuota DBS ir ją ruošiamasi paskirstyti, t.y. turimas homogeniškas duomenų modelis analizuojamas ir projektuojant PDBS skirstomas geografiškai. Iš apačios į viršų projektuojama tuomet, kai jau turima kelios išskirstytos duomenų bazių sistemos ir jas norima apjungti į vieną paskirstyta duomenų bazių sistemą. Tuomet duomenų modelis iš pat pradžių sudaromas įvertinant egzistuojančius ribojimus ir tik po to analizuojamas ir optimizuojamas. Paskirstytų duomenų bazių projektavimas turi sėkmingai išspręsti visas skyriaus pradžioje paminėtas problemas. Toliau detalizuojamos šios problemos ir analizuojamos jų sprendimo alternatyvos. 3.3.1 Duomenų organizacija Duomenų organizacija PDBS nagrinėja du uždavinius: • Fragmentaciją – kaip padalinti duomenis, kad juos būtų galima greitai ir efektyviai pasiekti? • Paskirstymą – kur (kurioje vietoje) padėti fragmentuotus duomenis? Šie klausimai labai panašūs ir dažnai nagrinėjami kartu. Verta pažymėti, kad fragmentų skaičius nebūtinai lygus PDBS mazgų skaičiui. Pagrindinė fragmentacijos užduotis – padalinti duomenis į fragmentus taip, kad vėliau fragmentus būtų galima paskirstyti tarp tinklo mazgų taip, kad vienos užklausos vykdymas vyktų viename mazge. Duomenų fragmentaciją reliacijoje galima vykdyti pagal atributus (vertikali fragmentacija (VF)) arba pagal kortedžus (horizontali fragmentacija (HF)): 2 pav. Duomenų fragmentacijos būdai. Savo ruožtu horizontali fragmentacija dar gali priklausyti nuo sąryšių su kitomis esybėmis. Toks variantas vadinamas išvestine horizontalia fragmentacija. Taip pat galimas ir hibridinis fragmentacijos variantas – iš pradžių fragmentuojama viena kryptimi, po to gauti nauji fragmentai – kita. 3.3.1.1 Horizontali fragmentacija. Horizontalios fragmentacijos atveju paskirstomi kortedžai. Tai galima daryti keliais būdais: • Nuosekliai paeiliui (Round robin) – kortedžai paskirstomi nuosekliai paeiliui: R F0 F1 F2 K1 K1 K2 K2 K3 K3 K4 K4 K5 K5 RF={F0, F1, F2}, K – kortedžai. F – fragmentai. 3 pav. HF duomenis paskirstant paeiliui. Tokio fragmentavimo privalumai – tolygiai paskirstomi duomenys, tačiau renkant konkretų kortedžą ar intervalą kortedžų, užklausos vykdymas gali būti ilgas, nes reikės ieškoti ir išrinkti per visus fragmentus. • Pagal rakto „hash“ kodą (Hash partitioning) – kortedžai paskirstomi pagal rako „hash“ kodą: R F0 F1 F2 K1, h(R1)=1 K1 K2, h(R2)=0 K2 K3, h(R3)=0 K3 K4, h(R4)=1 K4 K5, h(R5)=2 K5 RF={F0, F1, F2}, K – kortedžai. F – fragmentai. R – raktai. 4 pav. HF duomenis paskirstant pagal „hash“ kodą Toks fragmentavimas tinka renkant konkretų kortedžą pagal raktą, tačiau netinka intervalinėms užklausoms. Taip pat duomenų paskirstymas priklauso nuo „hash“ algoritmo parinkimo. • Paskirstymas intervalais (Range partitioning) – kortedžai paskirstomi pagal kokio nors atributo reikšmės priklausomybę užduotiems intervalams: R F0 F1 F2 K1, A=1 K1 K2, A=9 K2 K3, A=11 K3 K4, A=3 K4 K5, A=5 K5 R F={F0, F1, F2}, K – kortedžai. F – fragmentai. A - atributas. Intervalai: A(F0) 4 and P.B = 3)) gali būti supaprastinta iki ((D.A = 1 or D.C > 4) and P.B = 3). • Lokalizacija – fragmentų, kuriuose reikia vykdyti užklausą išskyrimas ir nereikalingų operacijų kituose reliacijų fragmentuose atmetimas. Taip atmetami PDBS fragmentai, kuriuose nėra tikslo ieškoti. Proceso eiga būtų tokia: užklausų medžio sudarymas, reliacijų pakeitimas į fragmentus juos apjungiant apjungimo (unijon) operatoriumi (U). Toliau užklausų medyje apjungimo operatorius keliamas į viršų, o visi kiti – leidžiami žemyn. Rezultate gauname užklausų medį su disjunkcija apjungtomis reliacinėmis operacijomis su fragmentais ir galime eliminuoti beprasmes operacijas. Horizontalios fragmentacijos atveju taip atmetami kortedžai kuriuose neverta ieškot, vertikalios – atributai. • Optimizacija. Bendru atveju (tiek PDBS, tiek centralizuotose DBS) optimizacijos uždavinys susideda iš: užklausų vykdymo planų sudarymo, tų planų kaštų įvertinimo bei pigiausio plano pasirinkimo. PDBVS iš esmės skiriasi planų kaštų įvertinimo žingsnis. Vertinant kaštus reikia atkreipti dėmesį ne tik į reliacijų dydį, bet ir į tinklo perdavimo (perdavimo laikas gali būti didelis lyginant su operacijos vykdymo mazge laiku), vykdymo lygiagretumo (lygiagretus užklausų apdorojimas trunka trumpiau nei nuoseklus) ir duomenų paskirstymo bei rezultatų apjungimo kaštus. Galima išskirti du optimizacijos lygius - globali optimizacija (analizuojami duomenų perdavimo, lygiagretaus paskirstymo kaštai tarp PDBS mazgų) ir lokali optimizacija (globalios optimizacijos metu išrinkto plano dalis perduodama konkrečiam PDBS mazgui, kuris savo ruožtu optimizuoja užklausą centralizuotų DBVS metodais). Kitas esminis optimizacijos žingsnis „pigiausio“ plano pasirinkimas. Geriausio plano paieškai vykdyti naudojamos 2 strategijos: ◦ Išsami planų peržiūra su neperspektyvių šakų atmetimu (Exhaustive with pruning). Peržiūrimi visi įmanomi variantai ir įvertinami. ◦ „Kopimas į kalną“ (Hill climbing) – pradžioje pasirenkamas paprastas planas ir kiekvieno žingsnio metu sugeneruojama keli planai ankstesnio plano pagrindu jį sudėtinginant. Kiekvienas naujai sugeneruotas planas įvertinamas kaštų požiūriu. Vertinimas baigiamas, kai tolesnės improvizacijos neduoda ženklių kaštų optimizacijų. 3.3.3 Semantinė duomenų kontrolė Semantinė duomenų kontrolė turi užtikrinti tai, kad autorizuoti vartotojai vykdytų tik tokias operacijas ir gautų tik tokius duomenis, kurių jiems reikia. Tai padeda užtikrinti duomenų saugumą ir darną. Semantinė duomenų kontrolė apima: • Vaizdų (rodinių) valdymą. Vaizdai (rodiniai) – tai virtualios reliacijos, sugeneruotos iš bazinių reliacijų projekcijos, išrinkimo, sujungimo ar kitokiais reliacinės algebros metodais. Rodiniais galima manipuliuoti taip pat, kaip ir su bazinėmis reliacijomis, tačiau tik duomenų gavimo kryptimi. Paskirstytose DBS rodiniai taip pat gali apimti duomenis, saugomus skirtinguose fragmentuose – atsiranda paskirstytų užklausų vykdymo problema. Projektuojant PDBS reikia atsižvelgti ir į rodinių užklausas. • Saugumo kontrolę. Šios kontrolės tikslas – neleisti peržiūrėti duomenų neautorizuotiems vartotojams. Ši užduotis praktiškai nesiskiria nuo centralizuotu DBS. Problema išsprendžiama autorizacijos mechanizmais bei duomenų kodavimo metodais. • Integralumo kontrolę. Integralumas (darna) DBS užtikrinama įvairių ribojimų mechanizmais. Ribojimai gali būti: struktūriniai (pvz. unikalus raktas), elgsenos (sąryšiai su kitomis reliacijomis, antrinio rakto ribojimai, kaskadavimo). Pagrindinė šių ribojimų sukeliama problema – patikrinimų poreikis vykdant užklausą. Šie patikrinimai gali būti vykdomi ir su kitais fragmentais. Integralumo kontrolės ribojimai taip pat turi būti įvertinti paskirstytos DBS projektavimo metu. 3.3.4 Paskirstytas transakcijų valdymas Transakciją galima apibrėžti kaip veiksmų aibę, kuri sistemą perkelia iš vienos darnios būsenos į kitą darnią būseną. Transakcijos vykdymo laikotarpiu sistema gali būti nedarniam būvyje, tačiau pasibaigus transakcijai ar įvykus trikiui ir atstačius sistemą į pradinį būvį, sistemos būna darnioje būsenoje. Transakcijų valdymo mechanizmas turi būti kuriamas įvertinant priėjimo prie duomenų konkurenciją (angl. concurrency transparency) bei atsparumą trikiams (angl. failure transparency). Pagrindinės privalomos transakcijų savybės: • Atomiškumas (Atomicity). Transakcija yra nedaloma – turi būti arba įvykdytos visos transakcijos operacijos, arba nė viena. Atomiškumo savybė reikalauja, kad tuo atveju, kai transakcija yra sutrikdoma, daliniai pakeitimai būtų panaikinti. • Darna (Consistency). Neturi pažeisti duomenų darnos bazėje. Pagrindinis reikalavimas – transakcija turi būti korektiška, t.y. darnioje duomenų bazėje atlikta transakcija turi nepažeisti duomenų darnos. • Izoliacija (Isolation). Lygiagrečių transakcijų rezultatas turi būti toks pats, kaip ir nuosekliai bet kokia tvarka vykdomų tų pačių transakcijų. Neužbaigtos transakcijos rezultatų neturi galėti perskaityti kitos transakcijos. • Patvarumas (Durability). Sėkmingai įvykdytos transakcijos turi išlikti „amžinai“. Dažnai visos šios savybės vadinamos pagal angliškų žodžių pirmąsias raides – ACID. Pagrindinis PDBVS transakcijų valdymo skirtumas nuo centralizuotu DBVS – kiekvienas paskirstytos DBS mazgas turi savo transakcijų valdymo mechanizmą, kuris sąveikauja su kitų mazgų transakcijų valdymo posistemėmis. Vartotojas išoriškai užklausas siunčia vienam transakcijų valdikliui, kuris užklausas optimizuoja ir paskirsto tarp skirtingų sistemų. Bendru atveju transakcijų valdymą centralizuotoje DBVS galima būtų pavaizduoti: 9 pav. Transakcijų valdymas centralizuotoje DBVS. Paskirstytas transakcijų valdymas yra sudėtingesnis. Principinė schema galėtų būti tokia: 10 pav. Transakcijų valdymas paskirstytoje DBVS. Paskirstytų transakcijų atveju iškyla didelė konkurencingumo užtikrinimo kontrolės problema. Idealiu atveju reiktų vienos transakcijos visas operacijas skirtingose PDBVS mazguose vykdyti vienu metu, tačiau taip atsiranda nenaudojamo laiko tarpai belaukiant sinchronizacijos. Paskirstytų transakcijų mechanizmas turi maksimaliai išnaudoti skaičiavimo resursus kartu patikimai išlaikydamas duomenų darną. Šiam uždaviniui spręsti naudojami įvairūs algoritmai. Kelis iš jų galima trumpai apibūdinti: • Duomenų rakinimu grįsti (Lock-based). Transakcijos užprašo skaitymo ar rašymo rakinimą ir su užrakintais duomenimis atlieka reikiamas operacijas. Tuo metu kitos transakcijos prie tų duomenų negali prieiti. PDBVS šioje vietoje gali atsirasti mirties taškas (dead-lock), kai skirtingos transakcijos turi užsirakinusios dalį naudojamų įrašų ir pageidauja dirbti su kitos transakcijos užrakintais įrašais. Tačiau bendru atveju duomenų rakinimas užtikrina paskirstytą transakcijų vykdymą. • Laiko štampų eiliškumu grįsti (Timestamp ordering). Visoms vienos transakcijos operacijoms priskiriamas PDBVS unikalus laiko štampas. Po to visiems transakcijų operacijų naudojamiems duomenims priskiriamas skaitymo ir rašymo laiko štampas, lygus atitinkamą operaciją atliekančios transakcijos laiko štampui. Ankstesnės transakcijos su šiais duomenimis neleidžiamos siekiant užtikrinti duomenų darną. Mirties taško rizika šio algoritmo pagalba sumažinama ar net visai eliminuojama. Kaip jau minėta, nemaža problema PDBVS yra mirties taškas. Egzistuoja kelios mirties taško valdymo strategijos: • Ignoravimas. Mirties taško valdymas paliekamas dalykinės programos, naudojančios duomenis architektui. PDBVS nedaro nieko mirties taško valdyme. • Prevencija. Transakcijų patikrinimas prieš jas vykdant. Potencialiai mirties tašką sudarančios transakcijos vykdomos nuosekliai. • Vengimas. Potencialių mirties taškų nustatymas jau vykdant transakcijas ir atitinkamų veiksmų inicijavimas tikslu išvengti mirties taško. • Nustatymas ir atstatymas. Jau atsiradusių mirties taškų nustatymas ir išėjimas iš amžino laukimo ciklo. Šis metodas reikalauja nuolatinio transakcijų operacijų stebėjimo. 3.4. Paskirstytosios ir lygiagrečios DB sistemos Iki šiol buvo aptarinėjamos paskirstytosios DB sistemos. Ir nors lygiagrečios DBS savo esme panašios, tačiau nagrinėja kiek kitokias problemas. Jei paskirstytose DBS buvo akcentuojamas geografinis duomenų paskirstymas, tai lygiagrečiose DBS akcentas keliamas į duomenų ir skaičiavimo galios paskirstymą siekiant išspręsti duomenų apsikeitimo lėtumo su diskiniais kaupikliais problemas. Tai yra lėčiausiai kintantis parametras iš visų kompiuterinės sistemos parametrų. Lygiagreti DBS paprastai suvokiama kaip daug diskų ir daug procesorių turinti architektūra, tačiau geografiškai esanti vienoje vietoje. Čia taip pat sprendžiamos duomenų fragmentavimo problemos, lygiagretaus užklausų vykdymo ir kitos problemos. Esminis šių uždavinių sprendimo principas – mažesnė komunikacijos kaštų dedamoji. Dėl šių sistemų panašumo atskirai visų aspektų nenagrinėsiu – jie labai panašūs. 3.5. Taikymai Paskirstytos duomenų bazės paprastai taikomos ten, kur yra didelis DBS klientų pasiskirstymas ir visas užklausas siųsti į centrinę duomenų bazę neįmanoma ar yra per brangu. Kaip charakteringus tokių taikymų atvejus galima būt paminėti mobiliąsias paskirstytas duomenų bazes ir globaliai paskirstytų duomenų bazes. Trumpai ir aptarsiu šiuos du taikymus. 3.5.1 Mobilios paskirstytosios DB Pastaruoju metu mobilumas įgauna vis didesnį pagreitį. Savo ruožtu mobilius įrenginius turintys vartotojai turi tokius pačius prieigos prie duomenų poreikius, kaip ir statiškai fiksuotoje vietoje esantys vartotojai. Dabartiniame kontekste mobilumą jau reikia nagrinėti globaliame kontekste, t.y. vartotojas gali judėti po visą pasaulį. Tai reiškia, kad uždavinys pigiausiai ir greitai gauti reikiamus duomenis dar sudėtingėja – sunku prognozuoti, kurioj vietoj ateis užklausa dėl konkrečių duomenų. Taip pat kyla ir kitas uždavinys – nuolatos žinoti vartotojo buvimo vietą (tai ypač aktualu nuo vietos priklausančioms paslaugoms, pvz. vartotojas stovėdamas autobuso stotelėje siunčia užklausa „kada atvažiuos autobusas, vežantis į stotį“. Norėdama pateikti atsakymą informacinė sistema turi ne tik greitai pateikti atsakymą, bet ir nustatyti kur vartotojas yra, koks jam maršrutas tinkamas). Mobilumo kontekste naujais aspektais iškyla užklausų valdymo, transakcijų apdorojimo, reikiamo PDBS segmento dinaminės lokalizacijos problemos. Šios problemos detaliau nagrinėjamos [4] studijoje. Mobilumo aspektai nėra tiesioginis šio darbo tikslas. Šiame skyriuje norėjau supažindinti tik su pagrindiniais mobilumo paskirstytoje DBS aspektais. Šiuo metu jau teikiamos įvairios informacinės mobiliosios paslaugos. Tai leidžia teigti, kad bent dalis šių mobilumo problemų yra išspręstos ar sprendžiamos. 3.5.2 Paskirstytų duomenų saugyklos Kaip tokių saugyklų pavyzdį galima paminėti paieškos sistemą www.google.com. Tai klasikinis paskirstytų DBS sistemų pavyzdys. Šiuo metu sistemoje saugomi 4,285,199,774 (žiūrėta 2004 05 23 dieną) indeksuoti tinklapiai. Tai tikrai didelis duomenų kiekis ir apdoroti užklausas vienu metu vienoje fizinėje vietoje būtų praktiškai neįmanoma. Google naudoja per visą pasaulį paskirstytus serverius. Šiuo metu užklausas apdoroja virš 20000 serverių visame pasaulyje. Taigi akivaizdu, kad esant tokiam paskirstymui reikia naudoti ypatingus duomenų išrinkimo algoritmus, kad atsakymą būtų galima pateikti per sekundės dalį. Geri algoritmai ir tinkamas duomenų paskirstymas ir garantavo tokią šios paieškos sistemos sėkmę. Internetas taip pat yra didelė paskirstytų duomenų saugykla, tačiau jis negali būti traktuojamas kaip PDBS, nes neturi esminės dalies – PDBVS. 4. Išvados Šio referato tikslas buvo įsigilinti į paskirstytų duomenų sistemų veikimo principus, privalumus ir naujai atsirandančias problemas. Referate buvo išanalizuoti paskirstytų duomenų bazių sistemų kūrimo principai, apžvelgtos duomenų fragmentacijos, paskirstytų užklausų, transakcijų vykdymo ir kitokios problemos bei pateikti tų problemų sprendimo būdai. Referato tikslas nebuvo detalizuoti kiekvieno tų būdų, o tik pateikti bendrą situaciją ir kryptis. Pabaigoje šiek tiek apžvelgtos lygiagrečios DBS, pateikti galimi ir esami paskirstytų duomenų bazių taikymai. Reziumuojant galima teigti, kad duomenų bazių sistemų tinkamas paskirstymas leidžia optimizuoti tiek telekomunikacijų kaštus, tiek reikalingų skaičiavimo pajėgumų kainą. Taip pat leidžia naudotis duomenų resursais tarpusavyje net tarp tokių visiškai paskirstytų sistemų, kaip mobilios informacinės sistemos. 5. Literatūra [1]. M.Tamer Ozsu, Patrick Valduriez. „Principles of Distributed Database Systems“, Prentice Hall, 1999. [2]. Prabhakar Raghavan. Kurso CS347 „Information Retrieval and Distributed Databases“ paskaitų medžiaga, Stanfordo Universitetas, JAV, 2001. [3]. David Bell, Jane Grimason. „Distributed Database Systems“, Alison-Wesley, Didžioji Britanija, 1992. [4]. Mohit Gupta, Na Tang, Alejandro Pasos. „Query Processing Issues in Mobile Databases“, Department of Computer Science, Kalifornijos Universitetas, JAV.
Šį darbą sudaro 3566 žodžiai, tikrai rasi tai, ko ieškai!
★ Klientai rekomenduoja
Šį rašto darbą rekomenduoja mūsų klientai. Ką tai reiškia?
Mūsų svetainėje pateikiama dešimtys tūkstančių skirtingų rašto darbų, kuriuos įkėlė daugybė moksleivių ir studentų su skirtingais gabumais. Būtent šis rašto darbas yra patikrintas specialistų ir rekomenduojamas kitų klientų, kurie po atsisiuntimo įvertino šį mokslo darbą teigiamai. Todėl galite būti tikri, kad šis pasirinkimas geriausias!
Norint atsisiųsti šį darbą spausk ☞ Peržiūrėti darbą mygtuką!
Mūsų mokslo darbų bazėje yra daugybė įvairių mokslo darbų, todėl tikrai atrasi sau tinkamą!
Panašūs darbai
Atsisiuntei rašto darbą ir neradai jame reikalingos informacijos? Pakeisime jį kitu nemokamai.
Pirkdamas daugiau nei vieną darbą, nuo sekančių darbų gausi 25% nuolaidą.
Išsirink norimus rašto darbus ir gauk juos akimirksniu po sėkmingo apmokėjimo!