Управление на пространството на базата данни
- Информацията за разпределението на повечето екстенти не е посочена. Всяка страница може да бъде разпределена или освободена доста бързо, което намалява противоречията между паралелни задачи, които трябва да разпределят свободни страници.
SQL Server използва две карти за разпределение, които съхраняват информация за разпределение на екстент:
- Глобално разпределение(GlobalРазпределениеКарта–GAM) съдържа информация за разпределените екстенти. Всеки GAM покрива 64 000 екстента и използва един бит за всеки екстент:
o стойността на бита е 1 - степента е свободна,
o битовата стойност е 0 - в противен случай.
- Споделена глобална карта за разпределение(SharedGlobalAllocationMap–SGAM) съдържа информация за екстенти, които в момента се използват като смесени екстенти и имат поне една неизползвана страница. Всеки SGAM покрива 64 000 екстента и използва един бит за всеки екстент:
o стойността на бита е 1 - екстентът е смесен и има свободни страници,
o Битовата стойност е 0 - екстентът е еднороден или смесен, но няма свободни страници.
Стойност на съответния битGAM
съответстващ битSGAM
смесени, но без свободни страници
Смесени с безплатни страници
Алгоритъмът за управление на степента е доста прост и като първо приближение изглежда така:
- За да изберете хомогенен обектстепен, SQL Server търси бита в GAM, който има стойност едно, и го задава на нула.
- За да намери смесен екстент със свободни страници, SQL Server търси в SGAM бит, който има стойност едно.
- За да разпредели смесен екстент, SQL Server търси бит в GAM, който има стойност едно, задава го на нула, след което задава съответния бит SGAM на едно.
- За да освободи степента, SQL Server задава съответния GAM бит на единица и SGAM на нула.
Алгоритмите, действително използвани от SQL Server, са по-сложни, но дори действителните алгоритми са сравнително прости, защото не трябва да управляват списъци с информация за разпределение на екстенти.
Страници, съдържащи информация засвободно пространство на страници(СтраницаСвободноПространство-PFS) показват дали конкретна страница е разпределена за купчина или за данни от тип ntext, текст или изображение, както и количеството свободно пространство на всяка страница. Всяка PFS страница обхваща приблизително 8000 страници. За всяка страница в обхвата на покритие PFS съдържа растерно изображение, показващо дали страницата е празна, 1-50% пълна, 51-80% пълна, 81-95% пълна или 96-100%.
След като даден екстент е разпределен към даден обект, SQL Server използва PFS страници, за да съхранява информация за това кои страници с екстент са свободни и колко свободно пространство е налично за използване. Тази информация се използва, когато SQL Server трябва да разпредели нова страница или когато трябва да намери страница със свободно място, за да вмъкне нов ред.
Страницата PFS, обхващаща първите 8000 страници, е първата файлова страница след заглавната страница на файла, последвана от страниците GAM и SGAM, покриващипървите 64 000 степени. Това е последвано от PFS страницата, покриваща следващите 8 000 страници, следвана от GAM и SGAM, покриващи следващите 64 000 екстента (вижте Фигура 5).
Фигура 5 Поставяне на системни страници във файла с данни на SQL Server
Управление на пространството, използвано от обектите на база данни на SQL Server
СтраницитеКарта за разпределение на индекс(ИндексРазпределениеКарта–IAM) съдържат информация за екстентите във файла с данни, използван от бедрата или индексите. IAM страниците също така съдържат информация за екстентите, разпределени към списъка с ntext, текст и страници с изображения на всеки обект, който има колони от този тип. Всеки от тези обекти има списък от една или повече IAM страници, съдържащи информация за екстентите, присвоени на обекта. Всеки обект има поне една IAM страница за всеки файл с данни, в който има своите екстенти. Във файл може да има множество IAM страници, ако обхватът от екстенти във файла, разпределен за даден обект, надвишава диапазона, който може да бъде описан в една IAM страница.
IAM страниците са произволно разпределени във файла с данни. Указателите към първата IAM страница за обекти са в системната таблицаsysindexes, всички други IAM страници за обект се комбинират в списък.
Разположение на страница с данни
Всички набори страници за таблици и индекси са фиксирани от указатели в системната таблицаsysindexes. Всяка таблица има един набор от страници с данни плюс допълнителни набори от страници за прилагане на всеки индекс, дефиниран за тази таблица.
Всяка таблица и индекс вsysindexesима ред, който е уникално идентифициран от комбинацията от колониid(idобект) иindid(ИД на индекс). Разположението на страниците в таблицата и индекса се контролира от списък с IAM страници. КолонатаFirstIAMна таблицатаsysindexesсочи към първата IAM страница в списъка с IAM страници, които контролират пространството, разпределено за таблица или индекс.
Вsysindexesвсяка таблица има много редове:
§ за стойност на бедротоind >
§ за стойност на групиран индексind >
- AltGTU 419
- AltGU 113
- AMPGU 296
- ASTU 266
- BITTU 794
- BSTU "Voenmekh" 1191
- BSMU 172
- BSTU 602
- BSU 153
- BSUIR 391
- БелГУТ 4908
- BSEU 962
- БНТУ 1070
- BTEU PK 689
- БрСУ 179
- ВНТУ 119
- VGUES 426
- ВлГУ 645
- VMEDA 611
- ВолгГТУ 235
- ВНУ им. Далия 166
- VZFEI 245
- ВятГША 101
- ВятГГУ 139
- ВятГУ 559
- GGDSK 171
- GomGMK 501
- GSMU 1967
- GSTU im. Сухой 4467
- ГСУ им. Скарина 1590г
- GMA им. Макарова 300
- ГДПУ 159
- DalGAU 279
- DVGGU 134
- DVGMU 409
- DVGTU 936
- DVGUPS 305
- FEFU 949
- ДонГТУ 497
- DITM MNTU 109
- IVGMA 488
- IGHTU 130
- ИжГТУ 143
- KemGPPC 171
- KemGU 507
- KSMTU 269
- Киров АТ 147
- KGKSEP 407
- KGTA им. Дегтярев 174
- КнАГТУ 2909
- КрасГАУ 370
- КрасГМУ 630
- KSPU им. Астафиева 133
- KSTU (SFU) 567
- КГТЕИ (СФУ) 112
- PDA № 2 177
- КубГТУ 139
- КубСУ 107
- KuzGPA 182
- КузГТУ 789
- MSTU им. Носова 367
- МГУ ги. Сахарова 232
- IPEC 249
- МГПУ 165
- МАИ 144
- МАДИ 151
- MGIU 1179
- MGOU 121
- MGSU 330
- Московски държавен университет 273
- МГУКИ 101
- MGUPI 225
- MGUPS (MIIT) 636
- МГУТУ 122
- MTUCI 179
- ХАЙ 656
- TPU 454
- NRU MPEI 641
- НМСУ "Горни" 1701
- ХПИ 1534
- НТУУ "КПИ" 212
- НУК тях. Макарова 542
- HB 777
- NGAVT 362
- NSAU 411
- NGASU 817
- NGMU 665
- NGPU 214
- NSTU 4610
- НГУ 1992г
- NSUE 499
- NII 201
- OmGTU 301
- OmGUPS 230
- СПбПК №4 115
- PGUPS 2489
- ПСПУ им. Короленко 296
- ПНТУ им. Кондратюк 119
- RANEPA 186
- ROAT MIIT 608
- RTA 243
- RSHU 118
- РГПУ им. Херцен 124
- РГППУ 142
- RSSU 162
- "МАТИ" - РГТУ 121
- РГУНиГ 260
- REU ги. Плеханов 122
- РГАТУ им. Соловьова 219
- RyazGMU 125
- RGRTU 666
- SamGTU 130
- СПбГАСУ 318
- INGECON 328
- СПбГИПСР 136
- СПбГЛТУ им. Киров 227
- СПбГМТУ 143
- СПбГПМУ 147
- SPbGPU 1598
- СПбГТИ (ТУ) 292
- СПбГТУРП 235
- Държавен университет в Санкт Петербург 582
- GUAP 524
- СПбГУНИПТ 291
- СПбГУПТД 438
- СПбГУСЕ 226
- СПбГУТ 193
- СПГУТД 151
- SPbGUEF 145
- Електротехнически университет в Санкт Петербург "LETI" 380
- ПИМаш 247
- NRU ITMO 531
- СГТУ им. Гагарина 114
- СахСУ 278
- SZTU 484
- СибАГС 249
- СибГАУ 462
- СибГИУ 1655 г
- СибГТУ 946
- SGUPS 1513
- СибГУТИ 2083
- СибУПК 377
- SFU 2423
- SNAU 567
- SSU 768
- TRTU 149
- ТОГУ 551
- TGEU 325
- TSU (Томск) 276
- TSPU 181
- ТулГУ 553
- УкрГАЖТ 234
- UlGTU 536
- UIPCPRO 123
- USPU 195
- USTU-UPI 758
- USPTU570
- USTU 134
- ХГАЕП 138
- KhSAFC 110
- HNAGH 407
- HNUVD 512
- KhNU им. Каразина 305
- ХНУРЕ 324
- KhNEU 495
- Процесор 157
- ЧитГУ 220
- SUSU 306
За да отпечатате файла, изтеглете го (във формат Word).