SQL szerverek szinkronizálása

Nem tudom, hogy jó helyre írom-e a kérdésemet, mert részben hálózati témáról is szól a dolog.

Elnagyoltan és tömören a következőről lenne szó:
Van két mySQL szerver, mindegyik más városban. Ezek az itthon jelenleg elérhető legnagyobb sávszélességgel lennének összeköttetésben egymással.
Miként oldható meg ezeken az adatbázisok valós idejű szinkronizálása?
Mekkora lehet a maximális és tűréshatáron belüli adatforgalom?

Vagy amit én felvetettem az 5let gazdájának: nem lenne inkább egyszerübb egy VPN???

Hozzászólások

1. http://www.mysql.com/products/database/cluster/
2. http://dev.mysql.com/doc/refman/5.0/en/replication.html

Cluster ahol is a kéttő vagy akárhény szerver nem lanon lesz összekötve hanem, ahogy említetted bérelt vonalon vagy akármin...
Nyilván ennek a használhatósága erősen függ a két gépet összekötő link kapacitásától ill. az adatforgalomtól, de gondolom ezt tudod.

Vagy Fő/szolga szervereket csinálsz és favágó módon rsync-el szinkronizálod az adatbázisokat, bár ez eléggé reszelgetős mód...:))

Szerintem a RedHat oldalain is keresgélj, ott szoktak lenni ilyen extrém brutál totál hálózati és szerver megoldások.

"Mekkora lehet a maximális és tűréshatáron belüli adatforgalom?"

A hálózat sebességétől függ ill. a vastól amit a mysql alá pakolsz, tömd meg ram-al és sok jó processzorral.

"Vagy amit én felvetettem az 5let gazdájának: nem lenne inkább egyszerübb egy VPN???"

Ez attól függ már megint, hogy mekkora a sávszélesség azon a linken amin eljutsz a mysql szerverig, plusz még felvetődik néhány kérdés milyen lekérdezések lesznek tulnyomó többségben, stb...

Egyébként én biztos csinalnék egy vpn-t, és rendeltetnék egy 100mbit-es bérelt vonalat vagy egy 34Mbit-es Full-Duplex, licencelt frekvencián működő mikrót, már ha van rá mód.

Az adatforgalom attól függ, hogy milyen menyiségben tolsz adatot az adatbázisba -- ha sokat, akokr nagyobb, ha keveset, akkor kisebb.

Milyen elvárás van pl. arra az esetre, ha szétesik a tükör (elszáll a béreltvonali kapcsolat)? Mehet tovább, vagy nem? Ha igen, akkor a szinkronizálás automatikusan, vagy manuálisan történjen? Mennyi idő alatt kell egy ilyen kiesés után a szinkronizálásnak megtörténnie? Mekkora az az adatmenyiség, aminek az elvesztése bevállalható? Ez mennyi idő alatt kerül rögzítésre?

Írod, hogy valósidejű tükrözés... Ez pontosan definiálva mit takar? Tudom, a felhasználói igényt...
Ha olyasmit, hogy az "A" oldalon rögzített adatot a "B" oldalon x (x->0) időn belül látni kell, akkor mennyi az x minimálisan elfogadható értéke?

A VPN amúgy is kell, hiszen az adat kikerül a látótérből akkor, amikor belép a szolgáltató hálózatára, ergo a biztonság ezt mindenképp megköveteli. Az eszközt meg úgy válaszd ki, hogy ne ő legyen a leg geyngépp eleme a megoldásnak, és bírjon a drót (üveg) sebességével vpn-t csinálni.

Az, hogy a vpn-en keresztül hogyan, milyen elvek alapján csinálod meg a szinkronizálást, az meg a fenti kérdésekre adott választól nagyban függ.

Szerintem ha MySQL van akkor a sima MASTER/SLAVE replikacio megteszti. Annyit tehetsz a dologert hogy mondjuk ssh tunnelen keresztul nyomod (adattomoritessel).

>> Vagy amit én felvetettem az 5let gazdájának: nem lenne inkább egyszerübb egy VPN???
agreed, ha úgyis van folyamatos szélessávú kapcsolat, akkor felesleges túlbonyolítani: legyen a szerver a nagyobb forgalmat bonyolító telephelyen, a másik pedig arra dolgozzon

VPN mindenképp kell a szinkronizálás alá is, ha lekorlátozzuk, hogy csak az egyik site-ra lehet kapcsolódni, a másikra meg megy a szinkronizálás, akkor "csak" azt kell kitalálni, hogy a szinkronizálás (az adatbázisok szinkron izélése helyett :-)) hogyan, milyen módon/rendszersességgel történjen...

Valósidejűségre MySQl Cluster lehet a megoldás.
MyISAM és InnoDB motorral nem megy, csak NDB motorral!

Sávszéleség nem árt hozzá mindkét irányban és persze az adatbiztonság egy másik kérdés.

Üdv,
Dw.

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."