DB

अब Quizwiz के साथ अपने होमवर्क और परीक्षाओं को एस करें!

Duomenų bazės atstatomumas. Veiksmų žurnalizacija. Atstatymas po trykio. Galimi atstatymo metodai.

DB bazės kopija turi būti saugoma fiziškai, kitoje vietoje. Rezervinė duomenų kopija užtikrina, kad duomenys nebuvo praprasti negrįžtamai. Jei įvyko nedideli trykiai galime pasinaudoti veiksmų žurnalu atstatyti trykiams. Bet kartais dingsta ir patys žurnalai arba yra prarandama daug duomenų. Tada žurnalu atstatyti negalima nes žurnalas apima tik tam tikrą laiko periodą. Backupo panaudojimo atvejai: Paruošiant veidrodinę sistemą; Panaudojant duomenis kaip testinę DB; Kaupiant DB istoriją auditui. Transakcijų žurnalas - log tipo, saugo duomenis apie vykdomas transakcijas, įvykdytas transakcijas. Gali būti panaudotas atstatyti transakcijas, kurios negali būti įvykdytos. Naudojamas atstatyti duomenimis, palaikyti dubliavimą, log shippingui, transakcijų replikavimui.

Duomenų įrašų saugojimas diskuose. Prieiga prie įrašų. Vienalaikė ir pakaitinė konkurencija. Lygiagretaus darbo su duomenimis problemos.

Failas diske išdėstytas blokais iš eilės. Prastos plėtimo galimybės. Failą fragmentuojant (bloko pabaigoje daromos nuorodos, įrašant rodyklę į kito bloko adresą ) geresnis plėtimasis, bei prastesnis greitis. Dažniausiai naudojam mišrų išdėstymo būdą, kai sukuriam atskiras vientisas dalis (segmentus).

Įrašai. Įrašų tipai. Įrašų išdėstymas faile. Nesutvarkytieji ir sutvarkytieji failai (sąrašai).

Failą sudaro įrašai (fiksuoto ilgio (senesnės DB) arba kintamojo(laukas kintamo ilgo)) Įrašą sudaro tam tikro ilgio duomenų tipai (integer (4), double (8)) Kiekvienas įrašo tipas turi savo pavadinimą ir struktūrą. Fiksuoto privalumai: žinome kiek vietos užims diske, norint nuskaityti iš disko galime pasinaudoti formulėmis. Kintamojo ilgio įrašai: · Įrašai to paties tipo, bet keli laukai yra daugiareikšmiai. · Įrašai to paties tipo, bet vienas ar keli laukai neprivalomi. · Failą sudaro skirtingo tipo įrašai. Didelės apimties objektai (binary large object) Blob talpinami atskiruose failuose, ne įraše. Įraše paliekama rodyklė į objektą. TXT tipas labai dideliems tekstams saugoti. Išdėstymas faile: 1. Fiksuotas: ribos tarp atskirų įrašo laukų nėra kažkaip skirtingai pažymėtas, nes yra nustatytą, kiek baitų laukas užima. 2. Kintamojo: Naudojami skirtukai, skaitant iš eilės skirtukas parodo, kad vienas laukas baigiasi ir prasideda kitas. Atmintyje išskiriamas max dydis laukas buferyje. Galime praleisti tuščius laukus. Skirtukai gali būti kelių tipų, galima vietoj pilno lauko vardo įrašyti jo santrumpą. Nesutvarkytų įrašų failai(heap): Sudėliojami taip kaip rašomi (į paskutinę galimą vietą), antraštėje paskutinio bloko adresas, jei reikia pridėti skaitome bloką pagal antraštę ir įrašom. Jei blokas pilnas sukuriam naują bloką pakeičiam antraštę. Problema: paieška neefektyvi be papildomų struktūrų. Jei norim trint tai reikia surast tą bloką, kuriam įrašas įmest jį į buferį, įrašą ištrint, bloką atnaujint, lieka skylė bloke. Kitas būdas palikt papildoma baitą, kuris naudojamas pažymėjimui, kad failas ištrintas. Bloko struktūra nesikeičia. Abiem atvejais reikia reorganizuoti bloką, panaikinant nereikalingas vietas. Dar kitas būdas užpildyti nereikalingus failus naujais. Bet problema jei failai kintamojo ilgio, jei jie pasidarys per ilgi reikės juos permest į kitą vietą. Reliatyvus adresas suprastina paieška. Sutvarkytieji failai: Įrašai išdėstyti tam tikra tvarka pagal laukus, esant vienam rūšiavimo kriterijui. Skaitymas ta pačia tvarka efektyvus nes nereikia rūšiuoti, galima naudoti dvejetaine paiešką. Jei paieška vykdoma ne pagal raktinį rūšiavimo lauką sutvarkymo failo privalumų nelieka. Problemos: įterpiant įrašą, kai nėra tam vietos fizinės. Reikia ją padaryti perrašant failo pabaigą b/2 blokų vidutiniškai. Ištrinant problemos panašios kaip ir nesutvarkytuose failuose. Kitas būdas sukurti pagalbinį nesutvarkytą tos pat struktūros failą ir įrašus rašyti į jį. Jame ieškoti jei nerandame pagrindiniame, sutvarkytame. Sudėtingesnė paieška, lengvesnis įterpimas.

Aukšto prieinamumo sistemos. DB dubliavimas, dubliavimo režimai ir jų savybės. Duomenų šaltinio perjungimas.

DB dubliavimas - jei turim kitą tarnybinę stotį ir abu serveriai dirba panašiu pajėgumu, klientai siunčia duomenis, veiksmai, kurie keičia duomenis yra inicijuojami vienoje DB bazėje, o kita gauna aktyvių transakcijų kopiją ir sinchronizuoja su originalia. Yra originali DB ir kopija. Jei kas nors atsitinka originaliai, gali būti automatiškai arba mechaniškai vartotojai prijungiami prie kopijos. Aukštos saugos režimas - transakcija vykdoma iškart abiejuose serveriuose. Procesas lėtesnis nes transakcija turi baigtis sinchroniškai. Lūžio atveju duomenis neprarandami. Aukšto našumo - tik enterprise versijoje, sistema nelaukia kol dubliuojantis serveris patvirtins transakciją, duomenis gali būti prarandami. DB ribojimai: gali būti tik vartotojo DB, negali būti pervadinti, negalima dubliuoti file stream DB, nepalaikomos paskirstytos transakcijos, turi būti tos pačios versijos. DB paruošimas dubliavimui: pagrindinis ir dubliuojantis serveris turėtų atlaikyti panašią apkrovą, normaliame darbo režime neviršyti 50 procentų CPU. Kitaip tikėtinas lūžis. Prieš konfigūruojant dubliavimą DB turi būti sukonfigūruota pilno atstatymo modeliui. Duomenų šaltinių perjungimai: 1) Automatinis - aukštos saugos režime prarastas ryšys su pagrindiniu serveriu. 2) Rankinis - aukštos saugos režime, kai reikia atnaujinti sistemos PĮ. 3) Priverstinis - aukšto našumo režime, ryšys su pagrindiniu serveriu prarandamas. Administratorius rankiniu būdu perjungia, galimas duomenų praradimas. Galima prie pagrindinės DB rasti mygtuką Mirroring ir ten perjungti DB. DB dubliavimas - jei turim kitą tarnybinę stotį ir abu serveriai dirba panašiu pajėgumu, klientai siunčia duomenis, veiksmai, kurie keičia duomenis yra inicijuojami vienoje DB bazėje, o kita gauna aktyvių transakcijų kopiją ir sinchronizuoja su originalia. Yra originali DB ir kopija. Jei kas nors atsitinka originaliai, gali būti automatiškai arba mechaniškai vartotojai prijungiami prie kopijos. Aukštos saugos režimas - transakcija vykdoma iškart abiejuose serveriuose. Procesas lėtesnis nes transakcija turi baigtis sinchroniškai. Lūžio atveju duomenis neprarandami. Aukšto našumo - tik enterprise versijoje, sistema nelaukia kol dubliuojantis serveris patvirtins transakciją, duomenis gali būti prarandami. DB ribojimai: gali būti tik vartotojo DB, negali būti pervadinti, negalima dubliuoti file stream DB, nepalaikomos paskirstytos transakcijos, turi būti tos pačios versijos. DB paruošimas dubliavimui: pagrindinis ir dubliuojantis serveris turėtų atlaikyti panašią apkrovą, normaliame darbo režime neviršyti 50 procentų CPU. Kitaip tikėtinas lūžis. Prieš konfigūruojant dubliavimą DB turi būti sukonfigūruota pilno atstatymo modeliui. Duomenų šaltinių perjungimai: 1. Automatinis - aukštos saugos režime prarastas ryšys su pagrindiniu serveriu. 2. Rankinis - aukštos saugos režime, kai reikia atnaujinti sistemos PĮ. 3. Priverstinis - aukšto našumo režime, ryšys su pagrindiniu serveriu prarandamas. Administratorius rankiniu būdu perjungia, galimas duomenų praradimas. Galima prie pagrindinės DB rasti mygtuką Mirroring ir ten perjungti DB.

Duomenų bazės fizinis lygmuo. Duomenų saugojimas tiesioginės prieigos (pirminiuose) ir išoriniuose (antriniuose) atminties įrenginiuose.

DB fizinis lygmuo - papildoma DB struktūra leidžianti greitai surasti reikalingą įrašą pagal tam tikras lauko reikšmes. Visi duomenų bazės failai turi būti saugomi kokioje nors laikmenoje; Pirminiai įrenginiai - tai įrenginiai, kuriuos procesorius gali pasiekti tiesiogiai (spartinančioji atmintis ir operatyvioji atmintis). Greita, bet talpa yra riboto dydžio. Antrinės - įrenginiai, kurių procesorius nepasiekia, jie pasiekiame per pagrindines laikmenas. (Diskai, magnetinės juostelės, SSD). Lėtesni, bet atminties pridėti yra lengviau.

DB replikavimas. Replikavimo tipai, palaikomi SQL Server DBVS, ir jų savybės.

DB replikavimas - Replikavimo metu galime replikuoti tiktais dalį duomenų, dalį lentelių, lentelės kelis stulpelius. Snapshot replication - momentinis replikavimas, padaroma nuotrauka DB dalies. Duomenys keičiasi nedažnai, replikuoti reikia nedidelę kiekį duomenų. Transactional replication - kai abonentai turi būti naujausioje leidėjo būsenoje nuolat. Atnaujinimai daromi leidėjo pusėje, vyksta viena kryptini nuo leidėjo į abonenetą. Peer to peer - mazgai gali skaityti/keisti duomenis. Merge - suliejimas naudojamas išskirstytoms serverio programoms. Seka pakeitimus naudodami trigerius. Replikavimo monitorius - pateikia našumo ir kokybės informaciją transakcinio ir merge replikavimo atvejais.

DCL kalbos sakiniai. Vartotojų teisės, jų suteikimo ir atšaukimo aspektai. Rolės samprata.

DCL naudojama nustatyti vartotojams teises, manipuliuoti DB objektais. Grant - suteikia vartotojui teises į tam tikrą objektą tam tikrai operacijai. Revoke - atšaukia vartotojo teisės į tam tikrą objektą tam tikrai operacijai. Teisės gali būti all, execute, select, insert, delete, update. WITH GRANT OPTION - vartotojas gavęs šią teisę gali perleisti kitiems vartotojams šią teisę kitiems grandinėlės principu. RESTRICT jei teisės buvo perleistos grandinėle, negalima atimti teisių iš to vartotojo. Cascade jei vartotojas suteikė prieigas kitiems tai atima ir iš kitų grandinėle. Rolės naudojamos, aprašant teisių rinkinius vartotojų grupėms. Teisės: Sisteminės teisės - leidžia vartotojui kurti ir naikinti objektus (Create, alter, drop); Teisės objektams - suteikia manipuliuoti duomenimis (execute, update, delete, insert, select); Grant all privilege gali perleisti savo turimas teises; With admin option: DB adminas suteikia teisę keisti schemą; Teisių suteikimas sau, sau suteikus negali jų niekas atšaukti.

Dinaminiai failų plėtimo metodai. Bloko ir failo užpildos koeficientai.

Dinaminiai plėtimo metodai: leidžia pradėti nuo nedidelės adresų erdvės ir esant reikalui praplėsti adresų erdvę. Kai blokas užpildomas jis yra skaidomas į du blokus, skaidymo metu įrašai dalinami pagal vyriausiojo bito reikšmę (0 arba 1). Antrojo dalijimo metu vyksta pagal antrą iš kairės bito reikšmę. Galima bloką suskaidyti, sulieti. Naudojamas rezultatas, kurį gražina maišos funkcija. Sukuriame dvejetainio medžio struktūra (katalogas). Mazgai yra vidiniai (išsišakoja į kitus mazgus) ir išoriniai (rodo tiesiai į bloką) Kol katalogas yra nedidelis galime talpinti viename bloke. Išplėstinė dinaminė maiša - sukuriamas katalogas, kurį sudaro masyvas iš d pločio reikšmių su adresais. Jei bloke telpa abiejų žemesnio lygmens reikšmių įrašai tai jie gali būti patalpinti į vieną bloką. Bloke saugomas lokalus jo lygmuo, kuris gali būti mažesnis nei katalogo plotis d. Kai d=d' blokas persipildo ir katalogo indeksas padvigubėja. Tiesinė maiša - nėra katalogo, naudojama hierarchija maišos funkcijų. Iš pradžių naudojama viena maišos funkcija tarkim k mod M, o perpildžius, bet kuriam blokui daliname pirmą bloką naudodami tarkim k mod 2M. Blokai yra restruktūrizuojami į du ir perpildyto bloko įrašas yra talpinamas į papildomą adresų erdvę (chaining). Failo užpildo faktorius - Vidutinė erdvės užpilda. Efektyviausias (70-90%). Pagal jį žiūrima, kada reikia erdvę reorganizuoti. Nuoroda - fizinis adresas.

Duomenų sauga. Duomenų apsaugos metodai. Privalomas ir individualus duomenų apsaugos mechanizmai.

Duomenų apsauga - Reikalinga dėl etikos sumetimų, politinių sumetimų ir sisteminių dalykų. DB saugumo ir autorizacijos posistemė užtikrina, kad prie duomenų gali prieiti tie vartotojai, kuriems yra leista prie jų prieiti. Mechanizmai: Privalomas: nustatomi saugos lygiai grupėms. Įvairūs lygmenys nusako organizacijos saugos politiką. Yra sukurtos saugos klasės ir galima joms priskirti vartotojus. Individualus: Kiekvienam vartotojui suteikiamos skirtingos teisės. Metodai: Bendroji prieigos kontrolė: vartotojas turi būti žinomas sistemai; Statistinės duomenų bazės: duomenys pateikiami agreguotai, gaunami duomenys apie objektus. Duomenų kodavimas: perduodant duomenis, komunikaciniai kanalais reikia juo užkoduoti, kad būtume tikri, kad jie niekas kitas neperskaitė.

Duomenų saugyklų architektūros, jų elementai, pagrindinės savybės. Duomenų saugyklų naudojimas.

Duomenų saugyklos architektūra galima apibūdinti 4 sluoksniais: 1. Operacinis, tranzakcijų duomenų bazės lygmuo: duomenų šaltinis, saugomis pagrindiniai duomenis skirti taikomosioms programoms, 2. Informacinis (duomenų sandėlio) lygmuo: saugomi integruoti duomenys, istoriškai primityvūs duomenys, kurie negali būti atnaujinti. Šiame lygmenyje taip pat saugomi išvestiniai duomenys. 3. Duomenų prieigos (skyriaus, departamento arba vitrinos) lygmuo: saugomi vien tik išvestiniai duomenys. Duomenų prieigos lygmens duomenys yra padalinti pagal atitinkamų skyrių poreikius. 4. Meta duomenų (individualus) lygmuo: direktorija duomenų, kurie dažniausiai naudojami euristinei analizei. Duomenis dažniausiai daug detalesni nei operacinės sistemos direktorijos duomenys.

Transakcijų žurnalo perkėlimas: pagrindinės idėjos ir savybės, proceso kontrolės galimybės.

Idėja - daryti periodines DB transakcijų kopijas. Kopijas sudalinti laiko intervalais ir kopijas kito proceso metu, perkelti į antrinių DB mazgus ir ten jas atstatyti. Vykdomi tokiu eiliškumu, kokie jie buvo padaryti mūsų DB. Procesas vykdomas automatiškai. 3 užduotys: 1) Padaryti žurnalo kopiją pagrindinėje DB; 2) Nukopijuoti kopijos failą antrinėje DB; 3) Paimti tą failą antrinėje DB ir ją atstatyti. Antrinė DB gali būti ne darbinėje būsenoje arba gali būti skirta tik skaitymui. Jei pirmai DB kažkas atsitiks gali antrinė DB perkeliama į darbinę būseną. Joje yra beveik naujausi duomenys. Pirmėje DB turi būti nustatyta transaction log shipping, kokio senumo log failai bus šalinami, nurodomi į kuriuos serverius siųsti

Indeksai. Indeksų tipai. Daugelio lygmenų indeksai.

Indeksas - papildoma DB struktūra leidžianti greitai surasti reikalingą įrašą pagal lauko reikšmę. Atskira struktūra ir gali būti kontruojamas nepriklausomai nuo to kaip saugomi duomenys faile. Indeksų tipai: Pirminis indeksas - indeksas turi būti unikalus ir įrašai sutvarkyti pagal raktą pagal kurį yra sukurtas indeksas. Dažniausias dviejų laukų struktūros. Pirmas laukas indeksuojamo lauko reikšmė antras fizinio bloko adresas. Klasterinis indeksas - jei raktas yra neunikalus, pagal kurį yra sutvarkyti failai. Siūloma į vieną bloką netalpinti įrašų su kita indekso reikšme, kitą indekso reikšmė rašyti kitame bloke. Lengviau įrašyti naujus duomenis bei trinti. Kiti indeksai - skiriasi tuo, kad kiekvienam įrašui faile yra įrašas indekse. Gali būti arba pirminis arba klasterinis indeksas, nes failas gali būti sutvarkytas tik viena tvarka. Daugelio lygmenų indeksai: Panaudoti ne vieną indeksavimo lygmenį, bet keletą lygmenų. Viskas gali būti RAM atmintyje, kuri yra labai greita, paieškos metu mes labai greitai surandam, kokiu adresu reiktų ieškoti iš disko indekse. Įrašų skaičius antrojo lygmens indekse bus bfr kartų mažesnis. Darbo sparta paspartėję, tačiau lieka problemos su įrašų įterpimu ir ištrynimu. Dažniausiai indeksuojama medžio struktūra

Duomenų integravimo servisas, jo paskirtis ir galimybės. Integracinio paketo, kontrolės tėkmės, duomenų tėkmės bei užduoties samprata. SSIS dizainerio aplinka ir galimybės.

Integracinis paketas - realizuoja ETL (extract, transform, load) procesą, kuris yra būdingas integration servisui. Paketą sudaro control flow (kontrolės tekmės elementai, turi būti bent vienas), data flow (duomenų tėkmės elementai, sudaryti iš source (šaltinio), transformation (duomenų transformacijos) ir destination (vieta, kur turi nukeliauti iš source duomenis). Eksplotuojant DB reikia nuolatinių procesų duomenims perduoti iš vieno taško į kitą. Automatinis duomenų eksportas, importas, duomenų suliejimas iš skirtingų šaltinių, duomenų išgryninimas ir standartizavimas. Duomenų tėkmes darbas - tai pvz kaip ir 3 labaratoriniame reikėjo iš excel failo išgauti duomenis ir perkelti juos į DB. Tai reikia iš pradžių tūrėti šaltinį iš kurio norime gauti duomenis, tada reikia tuos duomenys transformuoti, kad jie būtų tokio pat tipo kaip ir DB ir tada reikia juos perkelti į DB. SSIS dizainerio aplinka leidžia kurti control flow darbus, tokius kaip sukurti folderį, pervadinti aplankalą, perkelti failą, galima tūrėti ciklą, kuris gali išgauti visų failų pavadinimus (for each). Taip pat jame galime sukurti data flow taską ir dirbti su duomenimis. Turi event handlerius, kurie stebi paketo metu vykdomus įvykius ir gali reaguoti į juos, connection manageris yra, kuris leidžia tvarkyti prisijungimus (pvz excel connection manager).

Problemos, naudojant užraktus. Aklavietės. Dvifazio rakinimo protokolai.

Jei kita transakcija nori naudoti X, o jis užrakintas (LOCK(X)=1), tai ji priversta palūkėti. Aklavietė pasiekiama tada, kai dvi transakcijos laukia viena kitos, kol bus atrakinti reikalingi įrašai. Nė viena jų neatpalaiduoja savo užrakintų įrašų, taigi laukimas užsitęsia... Vienas iš išsigelbėjimų - konservatyvusis dvifazio rakinimo protokolas. Tačiau jis yra mažai efektyvus dirbant lygiagrečiai. Kitas būdas - kiekvienai transakcijai suteikiamas ID - timestamp, kuris kiekvienai transakcijai unikalus. Problema - galima žudyti transakcijas, nors jos neveda aklavietėn (krenta efektyvumas). Geriausias protokolas, garantuojantis tvarkaraščio nuoseklumo išlaikymą, yra dvifazio rakinimo protokolas (two-phase locking). Atrakinti kokius nors duomenis galima tik tada, kai viskas, ko reikia, jau užrakinta. Pirmojoje fazėje vyksta visų įrašų užrakinimas (tiek skaitymui, tiek rašymui), antrojoje - atrakinimas.

Dinaminiai daugelio lygmenų indeksai. B ir B+ tipo indeksai.

Kad sumazinti iterpimo ir trinimo problemas blokai pildomi nepilnai, indeksai buna medzio pavidalo. B tipo medžiai: Pašalina įprastų medžių trūkumus: 1)Medžiai subalansuoti 2)Trynimo atveju nelieka pustuščių mazgų. Visi lapai tame pačiame lygmenyje, rodyklės į mazgus yra NULL; Užpilda 69 proc. B+ labiau patobulintas B medis: 1) Rodyklių į duomenis nebėra 2) Skirtinga lapų ir mazgų struktūra Kadangi vidiniuose mazguose nebesaugom rodiklių į duomenis, galim sutalpinti daugiau rodiklių į žemesnį lygmenį, didesnis išsišakojimo koeficientas. Užpilda 50proc

Vienalaikio darbo valdymas (konkurencijos kontrolės mechanizmas). Užraktai. Duomenų vieneto sąvoka. Duomenų grūdėtumas ir jo parinkimas. Dvejetainiai, bendro naudojimo užraktai.

Kai kalbam apie vienalaikio darbo valdymą ir sistemos būvio atstatymo mechanizmus, transakcijos privalo turėti keletą savybių: 1. Atomiškumas - transakcija yra nedaloma: atliekama visa transakcija arba neatliekamas joks veiksmas 2. Vientisumo apsauga: transakcija, vykstanti teisingai, turi perkelti DB iš vienos vientisos būsenos į kitą vientisą (darnią) būseną 3. Izoliacija: transakcijos darbas (tarpiniai pokyčiai DB) turi būti nematomas kitoms transakcijoms, kol visa transakcija nepasibaigs 4. Negrįžtamumas: jei transakcija buvo baigta ir padaryti pokyčiai DB, pokyčiai neturi dingti dėl kažkokio trykio 4. Užraktas - vienas iš duomenų vieneto (įrašo) kintamųjų, nusakantis galimybes dirbti su įrašu. Vienalaikio darbo valdyme kalbam apie duomenų vienetą X (buvo dažniausiai minimas įrašas). X gali būti: · Įrašas · Įrašo laukas · Disko blokas · Visas failas · Visa DB Kai grūdėtumas didelis, interferencija tarp transakcijų ryškesnė. Esant mažesniam grūdėtumui, vienalaikio darbo mechanizmas apkraunamas daugelio vienetų kontrole. Optimalus grūdėtumas priklauso nuo vykdomų transakcijų dydžio (kokius duomenų plotus transakcija užgriebia). Įvedamos papildomos operacijos lock_item(X) ir unlock_item(X). Transakcija, naudojanti duomenis, įrašą užrakina, pasinaudojusi - atrakina. Jei kita transakcija nori naudoti X, o jis užrakintas (LOCK(X)=1), tai ji priversta palūkėti. Laukianti transakcija gali miegoti ir būti pažadinta įvykio - kažkas įrašą atrakino. Naudojant dvejetainius užraktus, laikomasi tokių taisyklių: 1. Įrašas užrakinamas, kai transakcija nori duomenis skaityti ar rašyti (prieš skaitymo-rašymo operaciją) 2. Pabaigus skaitymo rašymo operacijas, įrašas turi būti atrakintas 3. Transakcija T negali įrašo užrakinti, jei jis kažkieno jau užrakintas 4. Transakcija T negali įrašo atrakinti, jei jis kažkieno užrakintas

Rezervinio kopijavimo informacija sisteminėse SQL Server duomenų bazėse. Laikmenų rinkinio, veidrodinės kopijos, sesijos sampratos.

Laikmenų rinkinys - kelios laikmenos, kuriuose saugoma kopijavimo sesija. Panašiai kaip raid 0. Negali sudaryti skirtingo tipo laikmenos. Veidrodiniai laikmenų rinkiniai - iki 4 veidrodinės rezervinės kopijos vaizdų. Kiekviena kopija turi būti kopijuojama į tokį patį įrenginių kiekį arba tipą. Sugedus vienam laikmenų rinkiniui galima atstatyti iš kito.

Maišytieji (hash) failai. Maišos funkcija ir jos savybės. Vidinė ir išorinė maiša.

Maiša (hash) - maišos funkcija, kelioms raktinio lauko reikšmės generuoja vieną adresą. Maišos laukas - raktinė reikšmė unikali. Maišos funkcija apdoroja raktinę reikšmę, gauname adresą kur duomenis galime įrašyti arba apadoruoti. Vidinė maiša: kolizija - kai adresas, kurį nurodo hash funkcija yra jau užimtas. Sprendimo būdai: Nuoseklus adresavimas: nuosekliai ieškomi sekantys adresai, kol nebus rastas neužimtas įrašo. Chaining - išplečiama adresų erdvė rodykle. Įrašas rašomas į papildomą adresų erdvę. Multiple hashing - esant kolizijai pritaikoma kita funkcija, jei tada susidaro kita kolizija naudojam kitą maišos funkciją... Išorinė: dirbame ne įrašo lygmenyje, bet tarkim blokais. Žymiai retesnės kolizijos. Maiša greičiausias būdas pasiekti atsitiktinį įrašą. Trūkumai: Kai reikia skaityti/rašyti įrašus iš eilės. Nes kiekvieną naują įrašą turėsim patalpinti į kitą bloką. Galima naudoti kitą maišos funkciją tarkim k div 100; Maišytas failas naudoja fiksuotą didelę erdvę. (neefektyviai naudojama atmintis). Jei naudoja mažą erdvę prasideda kolizijos ir suprastėja greitis. Paieška ne pagal raktinį lauką yra neefektyvi.

Standieji diskai. Jų fizinė ir loginė struktūra, savybės. RAID diskų masyvai, jų veikimo režimai ir savybės.

Nuolatinės prieigos įrenginiai (gali būti rašomi ir skaitomi, bet kuriuo laiko momentu), jų privalumas yra ilgaamžiškumas talpos per informacijos kiekį kaina, įrašymo delsa. Fiziškai išdėstomi įvairiais būdais siekiant, kad failai būtų apdorojami kiek įmanoma greičiau. Loginė: sisteminė sritis ir duomenų sritis. RAID - standžiųjų diskų sujungimas. Raid 0 - Mažiausias galimų diskų skaičius 2; Visų diskų talpa, neatstatomas, duomenys tolygiai paskirstyti tarp diskų, galima rašyti arba skaityti visais diskais vienu metu. Greitas skaitymas, greitas rašymas. Raid 1 - Visi diskai vienas kito kopijos. Mažiausias diskų skaičius 2; Labai geras atsatomumas, talpa yra viena disko, skaitymo efektyvumas greitas, rašymo greitis lėtas arba toks pats kaip vieno disko. Raid 1E (1+0). Bet kuri informacija saugoma bent dvejuose diskuose vienu metu. Puse visu disku talpos, mažiausias skaičius 2 gali būti ne lyginis, duomenys neprarandami sugedus mažiausiai vienam diskui. Skaitymas galima skaityti iš dviejų diskų, įrašymas vidutinis reikia įrašyti į du diskus. RAID 5 - Visi diskai saugo po nedidelę dalį kituose diskuose esančių duomenų. Mažiausias skaičius 3 diskai. Vieno disko mažesnė nei bendra talpa. Duomenys neprarandami sugedus bet kuriam vienam diskui, greitas skaitymas, lėtas įrašymas. Raid 6 - Visi diskai saugo nedidelę dalį kituose diskuose esančių duomenų, daugiau nei RAID 5. Mažiausias diskų kiekis 4, talpa dviejų diskų talpa mažesnė nei bendra talpa, duomenys neprarandami suradus kad ir dviem betkuriems diskams, greitas skaitymas, lėtas rašymas.

Reliacinės algebros operacijų fizinės realizacijos ir jų kaštų įvertinimas. Statistiniai dydžiai, naudojami kaštų vertinimui. Semantinė užklausų optimizacija.

Optimizacija, ne medžio paišymas, bet skaičiavimas. Sisteminis katalogas be visų elementų, kurie yra susiję su pačia DB struktūra tam tikra informacija gali būti saugoma priklausomai nuo DBVS gali būti šiek tiek skirtingas. Tai informacija kuri gali padėti optimizacijos metu atlikti tam tikrus skaičiavimus. Jei norime suskaičiuoti iš renkamumo koeficientas, gali būti statistinės reikšmės tarkim, kiek yra skirtingų reikšmių kažkokiam stulpelyje. Sisteminiam kataloge gali būti saugomi įvairūs papildomi statistiniai dydžiai leidžiantys priimti sprendimus optimizacijos metu. Statistika nėra skaičiuojama kiekviena kartą kai parašome užklausa, ji yra perskaičiuojama nustatytais laikotarpiais. Fizinės operacijos kaip select ir join yra pagrindinės, kurioms galima atlikti optimizacija pasinaudojant maišos funkcijomis, indeksais ir pan. Tiek select tiek join atveju universaliausias metodas yra brute force atvejis, nėra labai gudrus, bet jis naudojamas tada kai negalime panaudoti nei maišos funkcijos nei indeksų. Semantinė užklausų optimizacija: Kai užklausos supaprastėja dėl papildomų DB apribojimų. Veikia efektyviai dedukcinėje DB.

Rezervinių kopijų tipai, jų savybės.

Pilna DB kopija - padaroma kopija, kurią sudaro visi duomenų failai bei žurnalo įrašai, reikalingi DB tam momentui, kai rezervinis kopijavimas buvo baigtas. Atlikti periodiškai, kad žurnalą ištuštintume. Dalinė kopija - naudojama read only DB su simple recovery atstatymu, bet gali būti naudojama ir pilno rezervinio kopijavimo modelyje. Kopijuojama primary group failų grupė. Failo ar failo grupės kopija - naudinga kai DB didelė, kai daug failų grupių, užtrunka mažiau laiko nei pilna kopija, reikalauja mažesnės apimties laikmenos. Naudinga kai keičiam diską, kurį nors vieną ir tada išsaugom iš to disko informaciją. Kopijuojami logai, su pakeitimais failo grupėse. Diferencialinė kopija - kopijuoja duomenis, kurie buvo pakeisti nuo paskutinės bazinės kopijos. Galima ir failų grupei padaryti. Galima kopijuoti dažniau, mažesnėmis porcijomis. Žurnalo kopija - pilno ar bulk atveju žurnalas auga be apribojimų. Simple recovery atveju žurnalas neauga nes po checkpointo žurnalas yra ištuštinamas. Pilnam gerai, negalima atstatyti DB į bet kurį pasirinktą laiko momentą. Neturint žurnalų kopiją galima atstatyti tik į tą momentą, kada buvo padaryti kopija. Copy only backup - nesiskiria turiniu nuo full recovery. Sistemos nuostatuose nepažymi, kad buvo atliktas backupas. Mechaniškai reikia rašyti sql užklausas. Full text catalog backup - atskirai nukopijuoja file text katalogą.

DB rezervinio kopijavimo ir atstatymo planas. DB atstatymo etapai. DB atstatymo tipai, jų savybės. Momentinė DB nuotrauka.

Planas: 1) Kiek svarbūs duomenys? 2) Skaitomi ar rašomi duomenys? 3) Ar yra nedarbingų periodų? 4) Kokio dydžio DB? 5) Kokios laikmenos? 6) Ar reikalingos veidrodinės kopijos? Kritinės duomenų bazės kurias privalu kopijuotis yra master ir msdb. DB atstatymo etapai: · Atstatymo (restore): · Atstatomi duomenys iš rezervinės kopijos. · Redo fazė. Pagal žurnalų įrašus nustatomi duomenys į žurnalo pabaigai numatytą būseną. · Atkūrimo - undo fazė. Leidžiama naudotis duomenimis, pagal žurnalą atšaukiamos nebaigtos transakcijos. Momentinė DB nuotrauka - statinis momentinis DB vaizdas skirtas tiktai skaitymui. Naudojama ataskaitoms. Nėra rezervinės DB kopijos pakaitalas.

Rezervinis DB kopijavimas ir jo priežastys. DB atstatymas. SQL Server DBVS galimi atstatymo modeliai ir jų savybės.

Rezervinę DB kopiją sudaro - pakankamas log įrašų kiekis ir duomenų failai. Skirta atstatyti integralius duomenis. Simple recovery - Žurnalas minimalus, negalime atstatyti DB į senesnį metodą, nelaikomos pabaigtos transakcijos. Žurnalas ištuštinamas checkpointo metu, paliekame tik aktyvių transakcijų įrašai. Naudojama testinėms DB, nekritiniai situacija, read only DB. Full recovery model- Aukščiausio laipnio atstatomumas, galima pasirinkti laiko momentą. Žurnalas ištuštinamas padarius rezervinę kopiją. Auga neribotai. Reguliariai naudoti rezervinį kopijavimą. Bulk modelis - Tarpinis tarp simple ir full. Panašus į full, bet duomenų atnaujinimo operacijos vedamos suprastintai. Naudojamas dažniausiai kartu su full recoveriu modeliu. Nustatyti prieš vykdant didžiąsias grupines operacijas, o kai jos atliktos grįžti prie full recovery režimo.

SSIS aplinkos vedliai. Pagrindiniai integracinio paketo vykdymo konfigūracijos nustatymai. Darbo su integraciniais paketais galimybės SQL Server Management Studio aplinkoje.

SQL server Import and Export wizard - kopijuoja failus iš ir į duomenų šaltinius, tokius kaip (sql server, flat failai, MS excel, MS acess). Integration Services Connections Project wizard - sukuria informaciją prisijungimui, kuris po to suteikia prieigą prie duomenų šaltinių ir paskirties vietų. Package instalation wizard - diegti paketams. Package konfiguration wizard - nustatyti paketų konfiguracijoms. Pagrindiniai konfigūracijos nustatymai - sukuriame integration services projektą. Darbo su integraciniai paketais galimybės: Control flow taske: For loop: ciklas su sąlyga; For each loop: ciklas, kuris kartojasi išvardytam sąrašui. Data flow task: Controle flow galima sukurti duomenų tėkmės užduotį. Execute package task: nukreipimas į kitą integracijos paketą. Execute Process task: sisteminė komanda. File system task: darbas su failu sistema. Send mail task: siuntimas el. laiško. Darbui su DB; Back up database task: sukurti DB kopiją. Check database integrity: patikrinti DB vientisumą.

Užklausos vykdymo optimizacija, optimizacijos principai. Euristinės taisyklės užklausos vykdymo medžiui optimizuoti.

Užklausos optimizavimas - nustatyti optimalų užklausos vykdymo kelią. Kartais gali būti optimizavimui sugaišta daugiau laiko nei neoptimizuotos užklausos vykdymui. Kiekviena DBVS turi komplektą select ir join operacijų, kuriomis gali būti optimizuota sql užklausa. Kiekvienos užklausos metu turi būti peržiūrėtos alternatyvos ir išrinktas geriausias užklausos vykdymo variantas. Euristinės taisyklės: Perdėlioti operacijas tokiu būdu, kad būtų kuo mažiau tarpinių duomenų, jie tilps atmintyje, kelias iš eilės einančias operacijas vykdant nereikės kreiptis į diską, jos bus atliekamos viena paskui kitą naudojant duomenis esančius atmintyje. 1) Pagrindinė - select ir project operacijas atlikti anksčiau nei join operacijas. 2) Restruktūrizacija nepakeis užklausos rezultato.

Vienalaikio darbo valdymo metodai, nenaudojant užraktų.

Vėlgi naudojamas ID - timestamp, kuris bendru atveju gali būti suteikiamas kiekvienai transakcijai kaip pradžios laiko momentas ar serijinis nepasikartojantis numeris (skaitliukas turėtų būti nulinamas, tik kai tuo metu neapdorojama nei viena transakcija). Jei, nutraukiant T paaiškėja, kad jos TS jau buvo panaudotas kitoje transakcijoje, tai reikia nutraukti ir ją. Tokiu būdu gaunamas kaskadinis nutraukimas (cascade rollback) - problema, nes kai kurie tvarkaraščiai gali būti neatstatyti.

SQL Server DBVS saugumo posistemis. Prisijungimo, rolės samprata. Rolės serverio ir duomenų bazės lygmenyje. Sisteminės rolės. Kiti SQL Server saugumo aspektai.

Windows sistemos autentifikacija - kompanijos sukurtas domenas, domene aprašyti windows sistemos vartotojai, kai jis prisijungia prie sistemos jis yra atpažįstamas kaip sistemos vartotojas. Yra perduodama, kuris vartotojas jungiasi prie sistemos. Serveris prijungia jei windows vartotojas turi teisę jungtis prie sistemos. SQL serverio autentifikacija - leidžia 3 šalių vartotojams prisijungti prie sql serverio apeinant windows autentifikacijos sistema, pats serveris nustato, kad vartotojas turi tam tikrą prisijungimo vardą ir slaptažodį ir gali prisijungti jei jis yra aprašytas sistemoje. Kai įjungiam mišrią autentifikaciją, sql serveris sukuria standartinę rolę administratoriui sa, naudojant sql serverio autentifikaciją. Gali būti naudojami įvairūs sertifikatai ir asimetriniai raktai. Administratorius turi turėti alter any login teises, kuriant roles. Galima sukurti naują loginą naudojant sql management studio objektų šaka security - logins. Yra slaptažodžių politika. Sertifikatas ir asimetrinis raktas: užtikrinti saugumą ne vien tiek vartotojo lygmenyje, naudojant asimetrinį raktą yra užtikrinimas duomenų kodavimas keičiantis duomenimis, naudojant sertifikatą, jis leidžia didesnį saugumas nes tai nėra paprastas slaptažodis, bet tai yra didelė kombinacija. Prisijungimus galima redaguoti, naikinti (drop login), uždrausti, sukurti. Serverio rolės: teisės vartotojų rinkiniai, kurie supaprastina teisių suteikimą vartotoju DB lygmenyje. Administratorius nuo 2012 metų versijos gali pats apsibrėžti serverio roles. Sql server 2012 serverio rolės: Sysadmin -sistemos administratorius. (pats stipriausias) Serveradmin - gali konfigūruoti serverį. Securityadmin - atsakingas už saugumą. Processadmin - atsakingas už procesus. Setupadmin- gali pridėti ir pašalinti susietus serverius. Bulkadmin - gali vykdyti bulk insert sakinius. Diskadmin - gali valdyti diskinę erdvę. Dbcreator - leidžia manipuliuoti DB. Public - visi sql prisijungimai, galima keisti jos teises, bet negalima atsieti nuo šios rolės. Krediancialai - saugoma autentifikavimo informacija. Prisijungimas yra siejamas su vienu krediancialų. Teisės DB lygmenyje. Yra rolės ir teisės, teisės nurodomos duomenų bazės lygmenyje. DB useris turi sql serverio login. Galima mappinti userį prisijungimui prie tam tikros DB. Kadangi serveryje gali būti sukurtos keletą duomenų bazių tai kiekvienai iš jų gali būti sukurtas useris su skirtingomis teisėmis kiekvienai iš skirtingų DB. Yra svarbi sąsaja tarp DB userio ir userio login vardo. Pamesti vartotojai: vartotojas susietas su neegzistuojančiu prisijungimu. Sisteminės rolės: pačio serverio arba DB sukurtos default rolės.


संबंधित स्टडी सेट्स

Autonomous system (AS) / Routing Protocol

View Set

Exploring Storage Devices and Ports

View Set

CPT SEC 3 Chapter 7 - Human movement

View Set

Chapter 4: Taxes, Retirement, and Other Insurance Concepts

View Set

Thorax Sectional Anatomy (Ch. 6)

View Set

1.4 - Registration of Securities

View Set

Chapter 2: Global E-business and Collaboration

View Set

Personal Finance: Consumer rights and responsibilities

View Set

Unit 2 chapters 2,18, and 3 economics

View Set