HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Mentés és helyreállítás optimalizálása


Adatbázis optimalizálás 11. rész


A mostani részben az SQL Server mentési, helyreállítási műveleteinek optimalizálásával, jobb kihasználásával foglalkozunk. Megpróbáljuk megtalálni a különböző műveletek esetén a szűk keresztmetszeteket, és tanácsot adni, hogyan érhetjük el, hogy gyorsabban legyenek végrehajthatók az említett műveletek, ezáltal rövidebb kiesést okozva az adatbázis használatában.

Az SQL 2000 Server számos lehetőséget nyújt, amellyel növelhetjük a mentési és helyreállítási műveletek sebességét:
  • Több backup eszköz használata lehetővé teszi, hogy a mentési folyamat párhuzamosan haladjon. Hasonlóképpen a helyreállítás is több helyről párhuzamosan történhet. A backup eszköz sebessége egy potenciálisan szűk keresztmetszet a mentési teljesítményben. Több eszköz használata növeli a teljesítményt annak arányában, hogy hány eszközt alkalmazunk.
  • Egy adatbázis, differenciált adatbázis és tranzakciós naplómentés kombinációja hiba esetén minimalizálja a visszaállításhoz szükséges időt. A differenciált adatbázismentés csökkenti a tranzakciós napló méretét, amelyet alkalmaznunk kell a visszaállításnál. Ez általában gyorsabb, mint egy teljes adatbázismentést alkalmazni.
  • Naplózott és minimálisan naplózott bulk copy műveletek.
Adatbázis-, differenciált adatbázis- és fájlmentés teljesítményének optimalizálása
Egy adatbázismentés létrehozása magában foglal két lépést:
  • Adatok másolása az adatbázisfájlokból a mentési eszközökre.
  • A tranzakciós napló azon részének másolása, amelyet előre kell görgetnünk ahhoz, hogy az adatbázis konzisztens státuszú legyen ugyanazon a mentési eszközön.
Egy differenciált adatbázismentés tartalmazza ugyanazt a két lépést, amit az adatbázismentés, kivéve, hogy csak a változott adatok másolódnak (noha minden adatbázislap olvasása szükséges ahhoz, hogy ezt eldöntsük).
Egy adatbázisfájl mentése egy lépésből áll: Az adat másolása az adatbázis fájlból a mentési eszközre.
Az adatbázis fájlok arra használhatók, hogy az adatbázist elosztva letárolják egy lemezeszközre, és egy olvasási szál hozzárendelődik minden eszközhöz. Az olvasási szál adatot olvas az adatbázisfájlból. Egy írási szál hozzárendelődik minden mentési eszközhöz. Az írási szál adatot ír a mentési eszközre. Párhuzamos olvasási műveletek növelhetik az adatbázisfájlok szétterjedését több logikai eszközre. Hasonlóképpen a párhuzamos írási műveletek is gyorsíthatók több mentési eszközzel.
A szűk keresztmetszet általában az adatbázisfájl vagy a mentési eszköz lesz. Ha a teljes olvasási teljesítmény nagyobb, mint a teljes mentési eszköz teljesítmény, akkor a szűk keresztmetszet a mentési eszköz oldalán van. Több mentési eszköz (és SCSI kezelő, ha szükséges) képes növelni a teljesítményt. Habár, ha a teljes mentési teljesítmény nagyobb, mint a teljes olvasási teljesítmény, akkor növeljük az olvasási teljesítményt, például több adatbázis fájl hozzáadásával az eszközön, vagy használjunk több lemezt a RAID-ben.
A tranzakciós napló mentési teljesítményének optimalizálása
Egy tranzakciós naplómentés csak egy lépésből áll: a log azon részének másolása a mentési eszközre, amely még nem lett elmentve. Habár még lennie kell több tranzakciós napló állománynak, a tranzakciós napló logikusan egy stream olvasás folyamatosan egy szálon.
Egy olvasó/író szál hozzárendelődik minden mentési eszközhöz. Nagyobb teljesítmény érhető el több mentési eszköz segítségével.
A szűk keresztmetszet lehet akár a lemez eszköz, amely tartalmazza a tranzakciós napló állományokat, vagy a mentési eszköz, a relatív sebességük és mentési eszközök számától függően. Több mentési eszköz lineárisan növeli a teljesítményt, amíg a tranzakciós napló fájlokat tartalmazó lemezeszköz kapacitása be nem telik, miután nincs több lehetséges haszon anélkül, hogy növelnénk a nevezett lemezeszköz sebességét, lemezsor használatával.
A helyreállítási teljesítmény optimalizálása
Egy adatbázis- vagy differenciált adatbázismentés helyreállítása négy lépést foglal magában:
  • Az adatbázis és tranzakciós napló fájlok létrehozását, ha még nem léteznek.
  • Adatok másolását a mentési eszközről az adatbázisfájlokba.
  • A tranzakciónapló másolását a tranzakciós naplófájlokba.
  • A tranzakciós napló előregörgetését és a helyreállítás újraindítását, ha szükséges.
Egy elmentett tranzakciós napló végrehajtása két lépésből áll:
  • Adatok másolása a mentési eszközről a tranzakciós naplófájlba.
  • A tranzakciós napló előregörgetése.
Egy adatbázisfájl visszaállítása két lépésből áll:
  • Bármely hiányzó adatbázisfájl létrehozása.
  • Adatok másolása a mentési eszközről az adatbázisfájlokba.
Ha az adatbázis- és a tranzakciós naplófájlok már nem léteznek, akkor létre kell hozni őket, mielőtt az adatot visszatöltenénk beléjük. Az adatbázis- és tranzakciós naplófájlok létrejönnek, és a tartalmuk nulláról indul. Elkülönített szálak párhuzamosan hoznak létre és inicializálnak fájlokat. Az adatbázis- és tranzakciós naplófájlok a lemezeszköz szerint osztályozódnak, és egy elkülönített szál adódik minden lemezeszközhöz. Mivel a fájlok létrehozása és inicializálása nagyon nagy teljesítményt igényel, terítsük ki az állományokat, amennyire csak lehet az elérhető logikai eszköz területeken a legnagyobb teljesítmény érdekében.
Az adatok és tranzakciós naplók másolása a mentési eszközökről az adatbázisba és a tranzakciós napló fájlokba olvasó/író szálak segítségével történik: egy szál lesz hozzárendelve minden mentési eszközhöz. A teljesítmény korlátozott egyrészt a mentési eszköz átviteli képessége szerint, másrészt az adatbázis és a tranzakciós napló adatbefogadó képessége szerint. Ekképpen a teljesítmény lineárisan nő a mentési eszközök hozzáadásával, amíg az adatbázis és tranzakciós naplófájlok adatfogadási képessége engedi.
A tranzakciós napló előregörgetésének teljesítménye korlátozott és tovább nem javítható gyorsabb gép használatával.
Szalagos meghajtó mentési teljesítményének optimalizálása
Négy változó van, amely kihat a szalagos mentési eszköz teljesítményére, és lehetővé teszi az SQL szerver mentési és helyreállítási műveleteinek, hogy a teljesítmény nagyjából lineárisan változzon, ahogy több lemezeszközt adunk hozzá:
  • Szoftver adatblokk mérete.
  • Szalagos meghajtók száma, amelyek megosztanak egy SCSI buszt.
  • Szalagos eszköz típusa.
A szoftver adatblokk mérete az optimális teljesítmény érdekében számítódik az SQL szerver által és nem módosítható.
Sok nagysebességű szalagos eszköz jobban működik, ha dedikált SCSI busszal rendelkezik. Az eszközöknek, amelyeknek a tiszta átviteli aránya eléri az SCSI busz sebességének 50 százalékát, dedikált SCSI busznak kell lenniük.
Fontos! Soha ne helyezzünk el egy szalagos meghajtót ugyanazon az SCSI buszon, mint a lemezek, vagy a CD-ROM meghajtó. A hibakezelési műveletek ezekhez az eszközökhöz kölcsönösen inkompatibilisek.
Lemezmentési eszköz teljesítményének optimalizálása
Nyers I/O sebessége kihat a lemezmentési eszköz teljesítményére, és lehetővé teszi az SQL szerver mentési, visszatöltési műveleteinek, hogy a teljesítmény nagyjából lineárisan változzon, ahogy több lemezeszközt adunk hozzá.
A RAID használatával egy lemezmentési eszköznél szükséges, hogy körültekintőek legyünk. Például a RAID 5-nek alacsony írási teljesítménye van, körülbelül azonos sebességgel, mint egy egyedülálló lemez (a paritásos információk támogatásának köszönhetően). Emellett az adat fájlhoz fűzésének tiszta sebessége jelentősen alacsonyabb, mint a tisztán írási sebesség. Ha a mentés eszköze nagymértékben töredezett, akár a maximum írási sebesség a mentési eszközre jelentősen túlhaladja azt a sebességet, amellyel adatot tud hozzáfűzni egy fájlhoz, akkor helyénvaló lehet telepíteni számos logikai mentési eszközt ugyanabba a szalagkészletbe. Más szavakkal, a mentési teljesítmény növelhető számos médiaelemmel ugyanazon a logikai drive-on. Habár tapasztalat szükséges annak meghatározására, hogy ez előny vagy hátrány ezekben a környezetekben, általában jobb, ha minden mentési eszközt külön lemezen helyezünk el.
Általában egy SCSI buszon csak egy lemez tud maximum sebességgel működni, habár az Ultra-széles és Ultra-2 buszok többet is tudnak kezelni. Akárhogy is, valószínűleg óvatos hardverbeállítás szükséges, hogy elérjük az optimális teljesítményt.
Adattömörítés
Modern szalagos háttértáraknak beépített hardveres adattömörítési funkciójuk van, amely lényegesen növeli az adat eredményes átviteli arányát az eszközre. Az adattömörítés növeli az eredményes átviteli arányt a szalagos eszközökre azon felül, ami a kikapcsolt hardveres tömörítés mellett elérhető. A tömörítési képessége valós adatbázisadatok esetében egyaránt függ magától az adattól és a szalagos eszköztől. Tipikus adattömörítési arány 1.2:1-től 2:1-ig terjed. Ez a tömörítési arány a széleskörű üzleti alkalmazások esetében tipikusnak mondható, habár néhány adatbázisnál előfordulhat magasabb vagy alacsonyabb arány. Például egy adatbázis tartalmazhat nagyméretű képadatokat, amelyek már önmagukban tömörítettek, így egy szalagos eszköz már nem tudja tovább tömöríteni azokat.
Alapértelmezésben az SQL szerver támogatja a hardveres tömörítést, habár ez a művelet kikapcsolható a 3205-ös nyomkövetési flag használatával. A kikapcsolt hardveres tömörítés képes ritka körülmények között növelni a mentés teljesítményét. Például ha az adat teljesen tömörített, akkor ezzel a megoldással időt takaríthatunk meg, így nem próbálja meg tovább tömöríteni az adatot.
Szalagra mentett adat mennyisége
Egy adatbázismentés csak azt az adatrészt szerzi meg az adatbázisból, amely valós adatot tartalmaz; a kihasználatlan terület nem kerül mentésre. Az eredmény egy gyorsabb mentési művelet.
Habár az SQL Server 2000 adatbázisok beállíthatók, hogy szükség szerint automatikusan növekedjenek, mi folytathatjuk a terület tartalékolását az adatbázison belül, hogy garantáljuk azt, hogy a terület elérhető. A terület fenntartása az adatbázison belül nem hat ellentétesen a mentés teljesítményére vagy a teljes szükséges időre, amely az adatbázismentéséhez kell.

Cikksorozat



Könyv
Ez a cikk megtalálható ebben a könyvben: Windows Software Offline 2003 évkönyv 519. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |