Caracteristici Esentiale ale SGBD si SGBC

Imagine preview
(9/10 din 5 voturi)

Acest curs prezinta Caracteristici Esentiale ale SGBD si SGBC.
Mai jos poate fi vizualizat cuprinsul si un extras din document (aprox. 2 pagini).

Arhiva contine 1 fisier doc de 63 de pagini .

Profesor: Christian Mancaş

Iti recomandam sa te uiti bine pe extras, cuprins si pe imaginile oferite iar daca este ceea ce-ti trebuie pentru documentarea ta, il poti descarca.

Fratele cel mare te iubeste, acest download este gratuit. Yupyy!

Domeniu: Calculatoare

Cuprins

1. TENDINŢE ACTUALE ÎN INDUSTRIA SGBD 5
Sisteme de Gestiune a Bazelor de Date (SGBD) 5
Tranzacţii 5
Arhitecturi Client / Server 6
Sisteme deschise şi bd distribuite 8
Baze de date distribuite 8
Programe interfaţă de acces 9
Medii de procesare paralelă 9
Arhitecturi fără partajare 10
Arhitecturi cu discuri partajate 10
Arhitecturi cu memorie partajată 11
Patru tipuri de cuplare a procesoarelor: strânsă, lejeră, simetrică, şi asimetrică 11
Procesarea paralelă a tranzacţiilor şi interogărilor 11
Procesarea paralelă a indexurilor şi a programelor utilitare 12
Sisteme orientate obiect 12
Gestiunea obiectelor persistente în arhitecturi client / server 13
Un exemplu de bd orientată obiect 14
Integrarea în Internet 15
Cinci exemple de SGBD celebre 18
DATABASE2 (DB2) MVS / ESA versiunile 3 şi 4 ale IBM 18
Oracle 7.1 al Oracle 18
SQL Server 10.0 al Sybase 19
NonStop SQL / MP al Tandem 19
CA-OpenIngres al Computer Associates 19
Comentarii şi referinţe bibliografice 20
2. CONTROLUL CONCURENŢEI 21
Lacăte 21
Cele două tipuri fundamentale de lacăte: partajabil şi exclusiv 21
Granularitatea 22
Niveluri de izolare a lacătelor 23
Izolarea citirilor repetabile 23
Stabilitatea cursorului 23
Blocarea în două faze 24
Blocaje fatale 25
Blocaje fatale globale în bd distribuite 25
Comentarii şi referinţe bibliografice 26
Controlul concurenţei în DB2 26
Controlul concurenţei în NonStop SQL 27
Controlul concurenţei în Oracle 28
Controlul concurenţei în SQL Server al Sybase 29
Controlul concurenţei în CA-OpenIngres 30
3. SALVĂRI ŞI RECUPERAREA DIN EROARE 32
Jurnale de actualizări 32
Refacerea şi “desfacerea” automată a actualizărilor 32
Puncte de verificare 33
Recuperarea din dezastre 34
Comentarii şi referinţe bibliografice 34
Salvări şi recuperări în DB2 34
Salvări şi recuperări în NonStop SQL 35
Salvări şi recuperări în Oracle 35
Salvări şi recuperări în SQL Server al Sybase 36
Salvări şi recuperări în CA-OpenIngres 37
4. SECURITATEA DATELOR 38
Privilegii 38
Codificarea datelor şi verificarea accesului 38
Ierarhia nivelurilor de acces utilizator în bd distribuite 39
Comentarii şi referinţe bibliografice 39
Securitatea datelor în DB2 39
Securitatea datelor în NonStop SQL 39
Securitatea datelor în Oracle 40
Securitatea datelor în SQL Server 40
Securitatea datelor în CA-OpenIngres 40
5. IMPUNEREA CONSTRÂNGERILOR DE INTEGRITATE 41
Integritatea domeniilor de valori 41
Integritatea referinţelor 41
Trăgaciuri 42
Procesarea în două faze a terminării execuţiei tranzacţiilor 42
Comentarii şi referinţe bibliografice 44
Impunerea constrângerilor în DB2 44
Impunerea constrângerilor în NonStop SQL 45
Impunerea constrângerilor în Oracle 45
Impunerea constrângerilor în SQL Server 45
Impunerea constrângerilor în CA-OpenIngres 45
6. IMPLEMENTAREA FIŞIERELOR INDEX 46
Accesul “talmeş-balmeş” (“hash”) 46
Arbori B+ 47
Memorarea grupată a tuplilor în pagini 48
Comentarii şi referinţe bibliografice 48
Fişiere index în DB2 49
Fişiere index în NonStop SQL 49
Fişiere index în Oracle 49
Fişiere index în SQL Server 49
Fişiere index în CA-OpenIngres 49
7. OPTIMIZAREA PROCESĂRII ŞI ACCESULUI LA DATE 50
Optimizarea operatorului join 50
Implementarea “buclă în buclă” a joinului 50
Implementarea “sort/reuniune” a join-ului 50
Implementarea hibridă a joinului 51
Implementarea “talmeş-balmeş” a join-ului 51
Implementarea folosind semijoin-uri în bd distribuite 51
Alte tipuri de optimizări ale procesării datelor 52
Folosirea mai multor fişiere index per tabelă: implementarea “index AND” şi “index OR” a selecţiilor 53
Optimizarea accesului la date bazată pe reguli 54
Optimizarea accesului la date bazată pe costuri 54
Mecanisme de control a optimizării accesului la date 54
Optimizarea globală a accesului în bd distribuite 55
Comentarii şi referinţe bibliografice 56
Optimizarea în DB2 56
Optimizarea în NonStop SQL 57
Optimizarea în Oracle 57
Optimizarea în SQL Server 57
Optimizarea în CA-OpenIngres 57
8. CATALOAGE DE META-DATE 58
Structura şi conţinutul cataloagelor 58
Accesul utilizatorilor la cataloage 58
Gestiunea cataloagelor în bd distribuite 59
Comentarii şi referinţe bibliografice 59
Cataloagele în DB2 59
Cataloagele în NonStop SQL 60
Cataloagele în Oracle 60
Cataloagele în SQL Server 60
Cataloagele în CA-OpenIngres 60
9. INTERFEŢE DE PROGRAMAREA APLICAŢIILOR (API) 61
Interfeţe încorporate şi interfeţe apel 61
SQL static şi dinamic. Proceduri memorate 61
Comentarii şi referinţe bibliografice 62
API în DB2 62
API în NonStop SQL 62
API în Oracle 62
API în SQL Server 63
API în CA-OpenIngres 63

Extras din document

1. TENDINŢE ACTUALE ÎN INDUSTRIA SGBD

Sisteme de Gestiune a Bazelor de Date (SGBD)

Sistemele de Gestiune a Bazelor de Date (SGBD) sunt programe care procesează datele privite ca resurse partajabile. Ele permit utilizatorilor structurarea datelor (conform unui model conceptual) în baze de date (bd) şi exploatarea acestora concurent, de către mai mulţi utilizatori simultan. Pentru aceasta, ele asigură mecanisme cel puţin pentru:

- memorarea (structurată a) datelor

- accesul la date

- protecţia datelor (la tentative de acces neautorizat)

- păstrarea integrităţii datelor

- recuperarea din erori.

SGBD sunt azi oferite pe o mare varietate de platforme de calcul, pornind de la calculatoarele personale (PC) şi până la sistemele de procesare paralelă masivă a datelor, sub medii extrem de diverse, incluzând DOS, Windows, Novell Netware, Macintosh, Unix, OS/2, VMS, OS/400, MVS. Majoritatea liderilor mondiali din industria de programare oferă cel puţin un SGBD, dacă nu mai multe; dintre aceştia, este suficient să amintim IBM, Computer Associates, Sybase Inc., Oracle, Microsoft, Borland.

Marile corporaţii ale lumii, ca şi foarte multe dintre cele medii sau mici, depind de peste două decenii de SGBD, cărora le sunt încredinţate funcţiuni critice în afaceri, precum urmărirea vânzărilor, cheltuielilor, stocurilor, încasărilor sau plata salariilor. Dar şi foarte mulţi oameni fac apel la SGBD pentru uzul personal, fie că este vorba de monitorizarea investiţiilor familiale, fie de bd gestionând biblioteca proprie de cărţi, reviste, fotografii, diapozitive, casete audio, video, discuri şi CD-ROM-uri audio, video sau de date etc. Industria de SGBD genera în 1994 venituri depăşind 5 miliarde de dolari anual în lume, cifră mereu în creştere!

Tranzacţii

Orice SGBD trebuie să asigure, în primul rând, un limbaj de definire şi manipulare a datelor, conform modelului de date suportat. Prin intermediul acestuia, se oferă utilizatorilor, în esenţă, posibilitatea de a memora datele structurate în bd şi de a le accesa (pentru interogări şi/sau actualizări). Pentru a asigura partajarea datelor în medii multi-utilizator, SGBD trebuie să ofere mecanisme de grupare a tuturor operaţiilor care concură la îndeplinirea unei “sarcini logice unitare” într-o singură tranzacţie, astfel încât SGBD să poată garanta ori că execuţia unei tranzacţii a avut loc complet, fără a fi afectată de alte tranzacţii, ori că tranzacţia nu a fost deloc executată (bd nefiind deci afectată de tranzacţie).

Tranzacţiile sunt, prin urmare, singurele “instrucţiuni logice atomice” oferite de un SGBD; ca atare, ele ori se execută integral, ori deloc, în nici un caz parţial, dpdv al oricărei alte tranzacţii. Altfel spus, orice tranzacţie parţial executată (de exemplu, din cauza unei căderi de tensiune) trebuie abortată, iar toate efectele ei trebuie ignorate (“rolled back”). În caz contrar, în mod evident, ar putea rezulta stări inconsistente ale bd.

Exemplul 9.1

De exemplu, dacă o tranzacţie măreşte salariile angajaţilor unui departament cu 10%, iar o alta mută angajaţi din acel departament în alte departamente şi cele două tranzacţii nu s-ar executa atomic, ci execuţiile lor s-ar întrepătrunde, unii dintre angajaţii mutaţi ar putea avea salariile mărite înainte de mutare iar alţii nu! Pentru păstrarea consistenţei datelor, ori tranzacţia de mărire salarii a fost lansată prima iar cea de mutare angajaţi trebuie lansată după terminarea tuturor măririlor de salarii (cu efectul că toţi angajaţii mutaţi vor avea salariile mărite), ori, invers, tranzacţia de mutare angajaţi a fost lansată prima iar cea de mărire salarii trebuie lansată abia după încheierea tuturor mutărilor (cu efectul că nici unul dintre angajaţii mutaţi nu va avea salariul mărit).

Literatura de specialitate se referă, în acest sens, la cele patru proprietăţi ACIDe ale tranzacţiilor:

- Atomicitatea execuţiei (ori completă, ori deloc)

- Consistenţa (sau Corectitudinea) transformărilor induse conţinutului bd de către tranzacţie

- Izolarea execuţiei tranzacţiei, care nu trebuie să fie influenţată de modificările aduse bd de către orice altă tranzacţie concurentă

- Durabilitatea tranzacţiei, ale cărei modificări produse bd la terminarea execuţiei sale trebuie să fie permanente, supravieţuind oricăror căderi ale sistemului sau defecţiuni ale suporţilor de stocare a datelor.

Conceptul de tranzacţie şi de terminare a ei (“commit”, în engleză) joacă însă un rol la fel de important în controlul concurenţei, impunerea constrângerilor de integritate, salvarea datelor şi recuperarea din erori, aşa cum vom vedea în continuare.

Capitolele următoare discută despre problemele de implementare ale principalelor componente şi funcţii ale oricărui SGBD, indiferent de arhitectură sau de modelul suport al datelor, şi anume despre: controlul accesului concurent; securitate; integritate; indexuri; optimizare; cataloage; interfeţe de programarea aplicaţiilor (API); unelte utilitare.

De remarcat însă că, pe lângă toate aceste probleme “clasice” ce apar în implementarea SGBD, ca în mai toate domeniile (poate doar cu o viteză mult mai mare) şi această industrie trebuie permanent să se adapteze atât la noile cerinţe ale utilizatorilor, cât şi la avansurile tehnologice hard şi soft. Considerăm că cele mai semnificative tendinţe ce se manifestă azi în industria SGBD sunt următoarele:

- arhitecturile client / server

- mediile de calcul deschise, distribuite

- sistemele multiprocesor, cu procesare paralelă

- conceptualizarea orientată obiect

- integrarea în Internet.

Deşi toate acestea depăşesc cadrul fixat pentru prezenta lucrare, considerăm totuşi utilă măcar o trecere sumară în revistă a lor în continuarea acestui capitol introductiv al ultimei părţi.

Arhitecturi Client / Server

Până acum aproximativ un deceniu, SGBD erau aproape exclusiv proiectate pentru platforme de calcul centralizat, unicalculator, uniprocesor, care nu erau interconectate între ele. Două clase de SGBD, corespunzând celor două tipuri de platforme de calcul existente până la acea dată, erau disponibile:

- off-line (batch, bazate pe job-uri procesate ulterior), rulau pe platforme mari (mainframe, tipic IBM, sub OS, SIRIS sau MVS), folosind cartele perforate, în regim uniutilizator, uniproces; programele nu se executau în timp real, ci erau procesate ulterior, pe baza unui sistem de priorităţi. Acest tip de SGBD primitiv mai este încă folosit şi azi în lume, nu doar din considerente de amortizare a investiţiilor uriaşe făcute în echipamente şi programe, sau din conservatorism, ci şi datorită faptului că prelucrarea batch este în continuare cea mai potrivită pentru aplicaţiile de mai lungă durată (tip liste de salarii, de stocuri etc.), intensive, ce nu necesită interacţiune în timp real şi care deci se pretează la execuţia în afara orelor de program ale majorităţii utilizatorilor (exemplu: noaptea), când resursele sistemului de calcul ar fi, altfel, aproape nefolosite.

Fisiere in arhiva (1):

  • Caracteristici Esentiale ale SGBD si SGBC.doc

Alte informatii

TENDINŢE ACTUALE ÎN INDUSTRIA SGBD -Sisteme de Gestiune a Bazelor de Date (SGBD)