Adattárház lekérdezések gyorsítása: Az első 5 %

Az Inmon féle adattárház definíció egyik sarkalatos pontja szerint az adattárház „nem változó”. Ez egyfelől jelentheti azt is, hogy az adattárházba csak megfelelően ellenőrzött adatokat töltünk, így a már betöltött adatokhoz többé nem nyúlunk (azokon nem változtatunk), másrészről jelentheti azt is, hogy az adattárház adatbázisán, a betöltési időn kívül nem módosítunk.

Ez utóbbi gondolatmenetet követve az adattárház adatbázisa tekinthető tehát read-only-nak, hiszen a betöltési időszakon kívül az adatokon nem fogunk változtatni. Nyugodtam megtehetjük tehát, hogy az adattárház adatbázisát csak olvashatóvá (Read only) teszük:

ALTER DATABASE [DW_adatbázis] SET SINGLE_USER WITH ROLLBACK IMMEDIATE

go

 

ALTER
DATABASE [DW_adatbázis] SET READ_ONLY WITH NO_WAIT

go

 

ALTER DATABASE [DW_adatbázis] SET MULTI_USER WITH ROLLBACK IMMEDIATE

 

Milyen előnyökkel jár az, ha egy adatbázis read-only? Egy Read-only adatbázisban nem kell az SQL szervernek megosztott zárakat (shared lock) szerezni az olvasott sorokra, ami jótékony hatással van a lekérdezések sebességére.

Egyszerű tesztek azt mutatták, hogy ugyanazon lekérdezések kb 5-10 %-kal gyorsabban futottak le a read only adatbázison, mint a read write-on.

Nem túl sok ez az öt százalékos lekérdezés gyorsulás, de ez minden adattárház felhasználó, minden lekérdezésére érvényes lesz, és ehhez nem kellett mást tennünk, mint read only-vá tenni az adatbázist, és tájékoztatni az adattárház felhasználókat, hogy minden futó lekérdezésük, vagy aktív kapcsolatuk este 11-kor, az adattárház betöltésének kezdetekor ki lesz lőve…

Kővári Attila - BI projekt

Új hozzászólás