Posted By: medved (A~z na v~eky Mikov~ce.) on 'CZdatabases'
Title:     Re: mirror sybase?
Date:      Wed Mar 21 14:58:23 2001

> Cus potreboval bych mit dve identicky databaze na dvou strojich (mirror)
> nevim 
> jak toho dosahnout (vsechno co vim o sprave syabse serveru vim z bliany ;)).
> Jdna se snad o tzv. replikaci dat? Pokud ano jak ji dosahnu? Staci me me

Mno, toto bude trosku obsahlejsi...

Pouzita technologie zavisi na nekolika fakrorech. Jako napriklad duvod 
mirorovani a pozadavek na jeho aktualnost.

Z pohledu zalohy systemu:
Jeden Sybase ASE dokaze uvnitr mirorovat jednotlive databazove devices (ale 
jen pro sebe) - to je po oddeleni dat a transakcniho logu na ruzne device (na 
fyzicky ruznych discich) druha linie obrany proti vypadku systemu.

1) oddeleni dat a logu - pri havarii jednoho disku mas bud data, nebo zaznam 
operaci od (posledni) zalohy
2) mirorovani device na ruzne disky - pokud klekne jeden, tak mas kopii 
device na druhem

Dalsi varianty zabezpeceni se jiz sestavaji z duplikace databazovych serveru 
a maji ruzne vlastnosti, napriklad minimalni dobou downtime - casu, po ktery 
je dany system nedostupny, jake havarie mohou dane technologie osetrit (od 
havarie hw serveru az po pad atomove bomby (= data jsou presouvana nekam 
daleko ;-)

Prvnim pristupem je dump+load - je to nejpomalejsi a davkove. Sybase tady 
doporucuje pouzivat utilitu bcp, pro pouziti dumpu bys musel mit oba servery 
identicky nakonfigurovane - stejne poradi device, stejne rozlozeni databazi...
Nicmene lze tuto (nepodporovanou) cestu pouzit - zejmena diky moznosti 
vyuzivat vzdalenych backup serveru a dumpovani pouze transakcniho logu...
V kazdem pripade ale narazis na otazky udrzeni konzistence - na jaky server a 
jakym zpusobem povolis zapis.

Dalsi zpusob je obdobou vyse uvedeneho. Od ASE 11.5 je mozne pouzit tzv. 
proxy tabulky - do jednoho ASE (11.5+) si muzes vytvorit odkazy na tabulky v 
jinem ASE (verze 10+). S temito tzv. proxy tabulkami muzes pracovat jako s 
normalnimi tabulkami - takze muzes vinsert triggeru nad lokalni tabulkou 
udelat insert i do proxytabulky. Toto ale vyzaduje kvalitni sitove spojeni 
mezi objema servery - pri nedostupnosti "zalozniho" ASE to vyhodi db chybu a 
ted babo rad - co je konzistentni stav? Bohuzel se za ASE 11.9.2 na Linuxu 
musi pri nasazeni platit (verze 11.5+ musi byt ta, kde budou ty proxy tabulky, 
cilove ASE muze byt 11.0.3.3).

Obdobne funkcionality se da dosahnout i na ASE 11.0 pomoci volani rpc - ASE 
11.0 umoznuje z jednoho ASE zavolat ulozenou proceduru na druhem ASE. Opet tu 
ale jsou otazky udrzeni konzistence systemu.

Tak a nyni se dostavame do vyssich sfer, reprezentovanych Sybase Replication 
Serverem (RS). RS dokaze "replikovat data" - to znamena, ze operace provadene 
nad jednou databazi jsou nasledne provedeny nad jinymi databazemi - a to vse 
asynchrone a pri zachovani transakcni konzistence. Pomoci RS lze realizovat 
jak "distribuci dat" (zapisuje se v centru a kopie se distribuuji pobockam), 
tak "konsolidaci dat" (pobocky zapisuji a data se sbihaji v centru), a 
dokonce i ruzne kombinace - vsichni maji vsechna data a vsude mohou zapisovat 
a pritom je celek konzistentni...
V oblasti zalohovani systemu se RS pouziva tak, ze v realnem case zachycuje 
operace provedene nad primarni databazi a aplikuje je do zalozni databaze, 
ktera nemusi byt anu na stejne platforme ci o stejnem vykonu (u proxy tabulek 
nebo rpc by mely byt oba servery stejne vykonne, aby se navzajem nezdrzovaly).
RS diky sve asynchronosti take dokaze zajistit replikaci dat i po 
nespolehlivych nebo malo propustnych linkach - treba pres pulku zemekoule (to 
je ta ochrana proti atomovce ;-D.
Bohuzel je RS pro Linux komercni produkt.

No a posledni variantou je tzv. "High Availability Option" (od ASE 12.0 - 
takze zatim ne na Linuxu [bude]). Zde se jedna o specielni konfiguraci dvou 
serveru, ktere sdileji diskove pole a pokud jeden z databazovych serveru 
spadne, jeho dvojce okamzite prebira jeho databaze. Navic jsou databze  
druheho serveru dostupne v prvnim jako tzv. "proxy" databaze (obdoba proxy 
tabulek vyse)
Navic ASE 12.0 umi tzv. klientsky failover - pokud padne server, ke kteremu 
jsem pripojen jsem automaticky presmerovan na jeho zalohu a nic nepoznam.
Co se tyce dostupnosti, tak ASE 12.x pro Linux by mel byt venku v cervenci 
2001, ale takrka tutove bude komercni pro nasazeni. 

To bylo zalohovani dat jako takovych. Pro zajisteni automatickeho prepojovani 
klientu lze napsat neco v klientske aplikaci, pouzit ASE 12.0 nebo vyuzit 
produktu OpenSwitch, ktery prave zajistuje failover pro obecne jakekoliv 
Sybase servery (ASA, ASE, ASIQ...)

No a nakonec tady jsou zajimave odkazy:

Obecne o vysoke dostupnosti databazi:
http://www.sybase.com/detail/1,3693,1008905,00.html

Vysoka dostupnost pres RS
http://www.sybase.com/detail/1,3693,1001337,00.html
http://www.sybase.com/detail/1,3693,1003078,00.html

Distribuovani dat
http://www.sybase.com/detail/1,3693,204851,00.html
http://www.sybase.com/detail/1,3693,204812,00.html

High availability v ASE 12
http://www.sybase.com/detail/1,3693,1008848,00.html

Failover v OpenSwitchi
http://www.sybase.com/detail/1,3693,1001731,00.html
http://www.sybase.com/detail/1,3693,1008904,00.html

Fuj to jsem grafoman...

Bye

Medved

Si vis pacem, para bellum.

Search the boards