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.