WalMgr kasutamine

Allikas: Kuutõrvaja
Redaktsioon seisuga 12. juuli 2008, kell 13:03 kasutajalt Imre (arutelu | kaastöö) (WalMgr testiminse)

Sissejuhatus

Ülidselt saab PostgreSQL andmebaasi tööle seada archive logs režiimis, mis tähendab, et kõik toimunud tegevused kirjutatakse eraldi spetsiaalses formaadis logifaili. Seda logifaili nimetatakse WAL (ingl. k. write ahead log) logiks. Lisaks, kui andmebaasile öelda

 SQL> select start_backup('string');

siis viiakse andmebaas sellisesse seisu, et data clusterile vastav failisüsteem ei muutu ning sellest kataloogist võib teha failisüsteemi vahenditega, nt rsync abil koopia. Peale koopia tegemist tuleb öelda

 SQL> select stop_backup();

Selliselt moodustatud data cluster failisüsteemi koopiat ja peale koopia tegemist moodustustunud WAL logisid saab kasutada mingile etteöeldud koopiajärgsele ajahetkele vastava andmebaasi oleku moodustamiseks.

Näiteks sobib see tehnika töötava andmebaasi kõrvale teise arvutisse andmebaasi mingi seisu moodustamiseks.

WalMgr utiliit võimadab on aga sellist asjakorraldust, et kaks PostgreSQLi andmebaasi eksemplari töötavad pidevalt sellises režiimis, et ühe andmebaasi (master - ingl. k. isand) logi loetakse sisse teise (slave - ingl. k. ori) andmebaasi. Nii töötavas skeemis on küll kahe andmebaasi sisu endam-vähem sama, kuid ei ole logide sisselugemise ajal teine andmebaas kasutatav. Siiski, selline asjakorraldus pakub järgmisi võimalusi

  • suhteliselt hõlpsasti saab lülitada kasutajad ümber ühelt andmebaasi eksemplarilt teisele, nt esimese andmebaasi hoolduse ajaks
  • peale WAL logidega tegelemise ei ole vaja andmebaasis teha mingisuguseid muudatusi, nt lisada tabelitele trigger'eid

WalMgr on Skype poolt valmistatud tarkvarakomplekti Skytools üks komponent, tarkvara kodulehekülg asub aadressil https://developer.skype.com/SkypeGarage/DbProjects/SkyTools/WalMgr.

WalMgr esineb Pyhtoni skripti kujul ja ta kasutab standarses PostgreSQL andmebaasis olemasolevaid omadusi lihtsustades kasutajal kahe eelkirjeldatud moel töötava PostgreSQLi eksemplari tööleseadmist ja kasutamist.

Kasutamine Debian Sidiga 2008 aasta suvel

WalMgr lahenduse katsetamiseks on üks hõlbus võimalus 2008 aasta suvel kasutada Debian Sid'i, seal on skytools pakett olemas, paigaldamiseks tuleb öelda

 bash# apt-get install skytools

Skytools sisaldab lisaks walmgr'ile ka muid programme, kui käesoleva teksti seisukohast on oluline vaid walmgr

 /usr/bin/walmgr
 /usr/share/doc/skytools/conf/wal-master.ini
 /usr/share/doc/skytools/conf/wal-slave.ini

WalMgr testiminse

WalMgr testimiseks sobib kasutada postgresqli andmebaasi contrib'ina jagatavad pgbench (http://developer.postgresql.org/pgdocs/postgres/pgbench.html) utiliiti, näiteks täites sedasi testiks moodustatud baasi

 SQL> create database test;
 bash$ /usr/local/postgresql/bin/pgbench -i -s 10 -h 192.168.10.144 -U postgres test2