Zalohovaci software - testovanie

Jan Houstek houstek na utf.mff.cuni.cz
Sobota Červenec 24 12:09:00 CEST 2004


On Sat, 24 Jul 2004, Chlopcik Ales wrote:

> 	Jelikoz se IMHO jiz jen snazime _zlomit_ p. P.Kankovskeho, navrhuji
> HOWGH. Mozna se diky jeho oponenture (advocatus diaboli :-) podarilo
> celemu svetu vysvetlit, jak spravne zalohovat bazi, k cemu jsou
> transakce, atd. ale myslim ze uz stacilo.

Pavel se vam jen snazi vysvetlit, ze pokud ty transakce jsou ACID, pak se
musi byt schopna databaze vzpamatovat z konzistentniho snapshotu (napr.
takoveho, jak ho dela LVM) i v pripade, ze byl proveden za behu SRDB.

Ten snapshot je totiz konzistentni v tom, ze obsahuje stav tech souboru k
nejakemu konkretnimu casovemu okamziku (mysleno tak, ze vsechny operace
provedene pred timto okamzikem v nem jsou promitnuty a vsechny provedene
po nem nejsou).

Pokud se trefim doprostred transakce, tak by to po spusteni mel SRDB
poznat a tu nedokoncenou transakci odrolovat.

Pri rutinnim zalohovani je asi vhodne SRDB pred provedenim snapshotu
zamrazit na aplikacni urovni (nebo rovnou vypnout), do neprustrelneho skla
se taky nestrili kazdy den. Nicmene nic to nemeni na faktu, ze by to ta
databaze mela rozchodit (stejne jako sklo tu strelu).

Schvalne jsem vyzkousel spustit soucasne 100 klientu, kteri s vyzitim
transakci zapisovali do postgresu (verze 7.4.2) a delal jsem snapshoty nad
tou datovou partition. Zkousel jsem to 20x, pokazde se z toho postgres
vzpamatoval a podle vseho ta databaze zustala konzistentni.

Zkusim tu testovaci aplikaci preportovat jeste na MySQL a Firebird,
uvidime.

-- Honza Houstek


Další informace o konferenci Linux