Caracteristici Esențiale ale SGBD și SGBC

Curs
9.4/10 (5 voturi)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 63 în total
Cuvinte : 35079
Mărime: 140.22KB (arhivat)
Publicat de: Fabian Marinescu
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: Christian Mancaş
TENDINŢE ACTUALE ÎN INDUSTRIA SGBD -Sisteme de Gestiune a Bazelor de Date (SGBD)

Cuprins

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

Extras din curs

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.

Preview document

Caracteristici Esențiale ale SGBD și SGBC - Pagina 1
Caracteristici Esențiale ale SGBD și SGBC - Pagina 2
Caracteristici Esențiale ale SGBD și SGBC - Pagina 3
Caracteristici Esențiale ale SGBD și SGBC - Pagina 4
Caracteristici Esențiale ale SGBD și SGBC - Pagina 5
Caracteristici Esențiale ale SGBD și SGBC - Pagina 6
Caracteristici Esențiale ale SGBD și SGBC - Pagina 7
Caracteristici Esențiale ale SGBD și SGBC - Pagina 8
Caracteristici Esențiale ale SGBD și SGBC - Pagina 9
Caracteristici Esențiale ale SGBD și SGBC - Pagina 10
Caracteristici Esențiale ale SGBD și SGBC - Pagina 11
Caracteristici Esențiale ale SGBD și SGBC - Pagina 12
Caracteristici Esențiale ale SGBD și SGBC - Pagina 13
Caracteristici Esențiale ale SGBD și SGBC - Pagina 14
Caracteristici Esențiale ale SGBD și SGBC - Pagina 15
Caracteristici Esențiale ale SGBD și SGBC - Pagina 16
Caracteristici Esențiale ale SGBD și SGBC - Pagina 17
Caracteristici Esențiale ale SGBD și SGBC - Pagina 18
Caracteristici Esențiale ale SGBD și SGBC - Pagina 19
Caracteristici Esențiale ale SGBD și SGBC - Pagina 20
Caracteristici Esențiale ale SGBD și SGBC - Pagina 21
Caracteristici Esențiale ale SGBD și SGBC - Pagina 22
Caracteristici Esențiale ale SGBD și SGBC - Pagina 23
Caracteristici Esențiale ale SGBD și SGBC - Pagina 24
Caracteristici Esențiale ale SGBD și SGBC - Pagina 25
Caracteristici Esențiale ale SGBD și SGBC - Pagina 26
Caracteristici Esențiale ale SGBD și SGBC - Pagina 27
Caracteristici Esențiale ale SGBD și SGBC - Pagina 28
Caracteristici Esențiale ale SGBD și SGBC - Pagina 29
Caracteristici Esențiale ale SGBD și SGBC - Pagina 30
Caracteristici Esențiale ale SGBD și SGBC - Pagina 31
Caracteristici Esențiale ale SGBD și SGBC - Pagina 32
Caracteristici Esențiale ale SGBD și SGBC - Pagina 33
Caracteristici Esențiale ale SGBD și SGBC - Pagina 34
Caracteristici Esențiale ale SGBD și SGBC - Pagina 35
Caracteristici Esențiale ale SGBD și SGBC - Pagina 36
Caracteristici Esențiale ale SGBD și SGBC - Pagina 37
Caracteristici Esențiale ale SGBD și SGBC - Pagina 38
Caracteristici Esențiale ale SGBD și SGBC - Pagina 39
Caracteristici Esențiale ale SGBD și SGBC - Pagina 40
Caracteristici Esențiale ale SGBD și SGBC - Pagina 41
Caracteristici Esențiale ale SGBD și SGBC - Pagina 42
Caracteristici Esențiale ale SGBD și SGBC - Pagina 43
Caracteristici Esențiale ale SGBD și SGBC - Pagina 44
Caracteristici Esențiale ale SGBD și SGBC - Pagina 45
Caracteristici Esențiale ale SGBD și SGBC - Pagina 46
Caracteristici Esențiale ale SGBD și SGBC - Pagina 47
Caracteristici Esențiale ale SGBD și SGBC - Pagina 48
Caracteristici Esențiale ale SGBD și SGBC - Pagina 49
Caracteristici Esențiale ale SGBD și SGBC - Pagina 50
Caracteristici Esențiale ale SGBD și SGBC - Pagina 51
Caracteristici Esențiale ale SGBD și SGBC - Pagina 52
Caracteristici Esențiale ale SGBD și SGBC - Pagina 53
Caracteristici Esențiale ale SGBD și SGBC - Pagina 54
Caracteristici Esențiale ale SGBD și SGBC - Pagina 55
Caracteristici Esențiale ale SGBD și SGBC - Pagina 56
Caracteristici Esențiale ale SGBD și SGBC - Pagina 57
Caracteristici Esențiale ale SGBD și SGBC - Pagina 58
Caracteristici Esențiale ale SGBD și SGBC - Pagina 59
Caracteristici Esențiale ale SGBD și SGBC - Pagina 60
Caracteristici Esențiale ale SGBD și SGBC - Pagina 61
Caracteristici Esențiale ale SGBD și SGBC - Pagina 62
Caracteristici Esențiale ale SGBD și SGBC - Pagina 63

Conținut arhivă zip

  • Caracteristici Esentiale ale SGBD si SGBC.doc

Alții au mai descărcat și

Proiectarea bazelor de date orientate pe obiecte

Introducere Esenţa oricărei baze de date este păstrarea informaţiei. Informaţia păstrată în baza de date este foarte diversă – de la simple...

Proiectarea unui Sistem Informatic pentru Gestiunea Stocurilor

Introducere Tema proiectului ”Proiecatarea unui sistem informatic pentru gestiunea stocurilor” este în strânsă legătură atât cu disciplina...

Procesările interogărilor în sisteme de gestiune a bazelor de date distribuite

CAPITOLUL I NOTIUNI INTRODUCTIVE DESPRE BAZE DE DATE DISTRIBUITE GENERALITATI Procesarea cererilor este o aplicatie cu performante critice, în...

Proiectarea Unei Baze de Date

INTRODUCERE Sunt tot atat de multe cai de a utiliza sistemele informatice in afaceri cate tipuri de activitati care sunt desfasurate intr-o...

Sisteme de gestiune a bazelor de date

I. Conceptul de SGBD. a) Definirea unui SGBD SGBD este un ansamblu complex de programe care asigură interfaţa între o bază de date şi...

Tehnologia Client-Server

O arhitectura client/server: reprezinta un model de descompunere a unei aplicatii în doua componente distincte: o componenta client si o componenta...

Programare paralelă în sisteme distrbuite

Retelele de interconectare sunt de 2 tipuri: a)retele statice la care conexiunile intre noduri sunt fixe si punct la punct-transferul informatiei...

Informatică - cursuri pentru Fox Pro

I. Noţiuni, concepte şi metode utilizate în organizarea datelor Datele constituie materializarea, reprezentarea simbolică a informaţiilor (prin...

Ai nevoie de altceva?