Cuprins
- 1. Organizarea fizica. Sql server 2005.3
- 1.1. Tabele.3
- 1.2. Partitii.4
- 1.3. Organizarea partitiilor.4
- 1.4. Unitati de alocare.4
- 1.5. Unitati de alocare IN_ROW_DATA.5
- 1.6. Unitati de alocare ROW_OWERFLOW_DATA.5
- 1.7. Unitati de alocare LOB_DATA.5
- 1.8. Heap-uri.5
- 1.9. Tabelele Clustered.5
- 1.10. Indecsii Nonclustered.7
- 1.11. Row locator.7
- 1.12. Indecsii nonclustered 2.8
- 1.13. Managementul spatiului pe disc.8
- 1.14. Extinderile.9
- 1.15. Alocarea spatiului.9
- 1.16. Bitii GAM si SGAM.10
- 1.17. Algoritm de alocare a spatiului.10
- 1.18. Urmarirea spatiului liber.10
- 1.19. Structura fisierilor.11
- 1.20. Spatiul folosit de uniatea de alocare.11
- 1.21. Paginile IAM.11
- 1.22. Organizarea heap-ului.12
- 1.23. Algorimtm de alocare a spatiului2.13
- 1.24. sys_partitions.14
- 2. Organizarea stocarii fizice.15
- 2.1. Outline.15
- 2.2. Construirea bazei de date: High level . 15
- 2.3. Construirea bazei de date: Nivel logic.15
- 2.4. Unde? În memoria principala.15
- 2.5. Physical Storage Media .15
- 2.6. Discuri magnetice.16
- 2.7. Cum lucreaza discurile?.17
- 2.8. Disc I/O .17
- 2.9. Optimizara I/O .17
- 2.10. A short exercise .18
- 2.11. Unde si cum este stocata toata informatia? .18
- 2.12. Acces la stocare .18
- 2.13. Buffer Management (1/2) .19
- 2.14. Buffer Management (2/2) .19
- 2.15. Exercise .19
- 2.16. Disk arays. 20
- 2.17. Nivelul RAID 0 .20
- 2.18. Nivelul RAID 1. 20
- 2.19. Nivelul RAID 2 si 3. 21
- 2.20. Nivelul RAID 4 .21
- 2.21. Nivelul RAID 5 si 6. 22
- 2.22. RAID Overviw .22
- 2.23. Ce daca o înregistrare este stearsa?. 22
- 2.24. Înregistrari de lungime fixa. 22
- 2.25. Înregistrari de lungime variabila .23
- 2.26. Organizarea înregistrarilor .23
- Concluzie.24
- Bibliografie.24
Extras din proiect
1. Organizarea fizica. Sql server 2005
Tabelele
" Tabelele si indecsii sunt continuti ca colectie de pagini de 8 KB.
" Un tabel este împartit în unul sau mai mult partitii.
" Fiecare partitie contine rândurile de informatie sau în heap sau intr-un tabel clustered.
" Paginile heap-ului sau a indexului clustered sunt controlati de una sau mai multe unitati de alocare, depinzând de tipurile de coloana în rândurile de informatie.
Tabelele
Partitii
" Tabel si paginile de index sunt împartite în una sau mai multe partitii.
" Implicit, un tabel sau un index are numai o singura partitie care contine intreg tabelul sau toate paginile de index. Partitia se afla într-un singur grup de fisiere.
" Când un tabel sau un index foloseste partitii multiple, datele sunt partitionate orizontal astfel încât grupurile de rânduri sa sa fie mapate in partitii individuale, bazate pe o coloana specificata.
" Partitiile pot fi incluse în una saumai multe grupuri de fisiere în în baza de date. Tabelul sau indexul este tratat ca eo singura entitate logica când asupra datelor sunt aplicate interogari sau actualizari.
" Pentru a vizualiza partitiile folosite de un tabel sau un index, folositi catalogul sys.partitions .
Organizarea partitiilor
" SQL Server 2005 foloseasc una din douã metode pentru a organiza paginile cu date într-o partitie:
" Clustered Tables: Tabelele care au un index clustered.
Rindurile cu informatie sunt stocate într-o ordine bazata pe cheia indexului clustered. Indexul clustered este implementat ca un index de tip B+tree.
- Paginile din fiecare nivel al indexului echilibrat, incluzând paginile cu informatie în nivelul frunzã, sunt legati într-o
lista dublu-înlantuita
" Heap-uri: Tabelele care nu au indexul clustered. Informatia din cîmpuri nu este stocata într-o ordine particulara, si nu exista nici o ordine specialã în succesiunea paginilor cu informatie. Paginile cu Informatie nu legate într-o lista dublu-înlantuita.
Unitati de alocare
" Unitate de alocare este o colectie de pagini sau într-un heap sau într-un B+tree destinata sã dirijeze datele bazîndu-se pe tipul paginii lor.
Tipul unitatii de alocare Este folosita pentru a controla
IN_ROW_DATA
Datele ori liniile indexului care contin toate datele, în afara de date cu obiecte largi(LOB). Paginile sunt de tip Date ori Index.
LOB_DATA
Datrele cu obiecte largi sunt stocate în unul dintre aceste tipuri de date : text, ntext, image, xml, varchar(max), nvarchar(max), varbinary(max) sau tipuri definite de utilizator (CLR UDT). Paginile sunt de tip Text/Image.
ROW_OVERFLO
W_DATA
Datele de lungime variabila sunt stocate în varchar, nvarchar, varbinary, sau sql_variant coloane care intrec limita liniei de 8,060 bytest. Paginile sunt de tip Data.
Unitate de alocare IN_ROW_DATA
" Pentru fiecare partitie folosita de un table (heap sau clustered table), index sau viziune indexata exista o unitate de alocare IN_ROW_DATA care este formata din colectia de pagini cu date.
" Aceasta unitate de alocare de asemenea contine colectii de pagini aditionale pentru a implementa fiecare nonclusteredand XML index definit pentru un table sau o viziune.
Unitate de alocare ROW_OVERFLOW_DATA
" Pentru fiecare partitie folosita de un table (heap sau clustered table), index sau viziune indexata exista o unitate de alocare ROW_OVERFLOW_DATA
" Aceasta unitate de alocare contine pagini nule(0) pîna cînd linia cu date cu coloane de lungime variabila (varchar,nvarchar, varbinary, sau sql_variant) în unitatea de alocare IN_ROW_DATA depaseste limita de 8 KB a liniei.
" Cînd limita marimei este atinsa, SQL Server muta coloana cea mai larga din aceasta linie într-o pagina în unitate de alocare ROW_OVERFLOW_DATA . Un pointer de 24 baiti catre aceasta informatie mutata este mentinut e pagina oroginala.
Preview document
Conținut arhivă zip
- Proiectarea Bazei de Date la Nivel de Abstractie Fizica.doc