SQL Server 2005 a súbory

Vždy, keď vytvárate databázu, SQL Server 2005 vytvorí dátový súbor a transakčný log pre databázu. Zároveň vám umožní definovať umiestnenie týchto súborov.

Typy súborov

Každá databáza musí mať primárny súbor a súbor s transakčným logom. Taktiež môže mať jeden alebo viac sekundárnych súborov.

Primárny súbor obsahuje štartovacie informácie pre databázu a odkazuje na ďalšie súbory v databáze. Užívateľské dáta a objekty môžu byť uložené v tomto primárnom súbore alebo v sekundárnych dátových súboroch. Každá databáza má jeden primárny súbor. Doporučená koncovka súboru pre primárne dátové súbory je .mdf.

Pre ukladanie užívateľských dát môžete vytvoriť sekundárne súbory. Niektoré databázy môžu byť také veľké, že potrebujú viac sekundárnych dátových súborov, alebo môžu používať sekundárne súbory uložené na rôznych diskoch z dôvodu rozdelenia dát na viacero diskov. Doporučená koncovka súboru pre sekundárne dátové súbory je .ndf.

Každá databáza musí mať transakčný log. Pokiaľ nešpecifikujete inak, názov súboru pre transakčný log je generovaný systémom. Typicky má súbor s transakčným logom 25 percent veľkosti databázy. Doporučená koncovka súboru pre transakčný log je .ldf.

Umiestnenie súborov

Pri správnom umiestnení dátových a logových súborov na disk môžete znateľne zvýšiť výkon databázy a zaistiť odolnosť voči zlyhaniu databázy.

SQL Server 2005 používa systémové vstupno/výstupné (input/output – I/O) volania pre vykonanie diskových čítaní a zápisov. SQL Server 2005 riadi kedy a ako je vykonaný diskový I/O, ale vykonanie záleží na Windows Server 2003. I/O subsystém zahŕňa systémovú zbernicu, radiče diskov, disky, páskové jednotky, CD-ROM a mnoho ďalších I/O zariadení. Disky sú často úzkym hrdlom systému.

Pre väčšie databázy by ste mali rozdeliť dáta na čo najviac fyzických diskov. Zvýšite tým priepustnosť systému pri prístupe k dátam. Vo všeobecnosti, vytvorte jeden súbor pre každý fyzický disk. SQL Server 2005 môže potom vykonať nasledovné:

– paralelné prehľadávanie dát (ak má počítač viacero procesorov a diskov)
– viacnásobné paralelné prehľadávanie jednej tabuľky ak filegroup tabuľky obsahuje viacero súborov

Pre rozdelenie dát cez všetky disky použite redundantné diskové polia (RAID).

Vytvorenie transakčného logu na inom disku

Transakčný log by mal byť vytvorený na inom disku ako sú uložené dátové súbory, prípadne môžete použiť RAID. Keďže transakčný log je zapisovaný sériovo, použitím samostatného dedikovaného disku umožníte diskovým hlavám zostať na mieste pre ďalšiu operáciu zápisu. Pokiaľ použijete RAID poskytnete navyše aj odolnosť voči zlyhaniu. Ak máte napríklad v produkčnom nasadení viac databáz na serveri, v ideálnom prípade by ste mali každý transakčný log pre každú databázu umiestniť na samostatný disk. Toto umožní optimálny výkon.

Umiestnenie databázy tempdb

Pre optimálny výkon by ste mali databázu tempdb umiestniť na rýchly I/O subsystém ležiaci mimo užívateľských databáz. Tiež je vhodné použiť RAID.

Filegroups

Filegroups sú pomenované kolekcie súborov a používajú sa na zjednodušenie správy umiestnenia súborov.

Ak váš hardvér zahŕňa viac diskov, tak môžete umiestniť špecifické objekty a súbory na individuálne disky zoskupením databázových súborov do jednej alebo viacerých filegroups. Rozmiestnením dát na viacero diskov a pomocou paralelných vlákien pre spracovanie dotazov zlepšíte výkon databázy. Filegroups tiež uľahčujú správu databázy.

Typy filegroups

Databáza SQL Server 2005 má primárnu filegroup a môže tiež obsahovať užívateľsky definované filegroups. Primárna filegroup obsahuje primárny dátový súbor so systémovými tabuľkami. Taktiež obsahuje všetky užívateľsky definované sekundárne súbory, ktoré nie sú priradené iným filegroups. Užívateľsky definované filegroups pozostávajú z dátových súborov, ktoré sú zoskupené z dôvodu správy alebo umiestnenia.

POZOR! Transakčné logy nie sú časťou filegroup. Priestor pre transakčné logy je spravovaný oddelene od dátového priestoru.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *