[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 'jeden' mysql na kilku hostach



W dniu 13 września 2010 20:38 użytkownik Marek <mx0@wp.pl> napisał:
> Witam,
>  potrzebuję zrobić taki dziwny twór, a mianowicie:
> są 3 serwery z mysql i php i skryptami które sobie pracują na mysql,
> każdy na swoim. są to wszędzie te same skrypty i takie same bazy.

Czyli srodowisko shared-nothing :)

> potrzeba jest, aby wszystkie bazy miały te same dane, tzn jeśli ktoś
> wprowadzi dane na jednym z serwerów, to inny przeglądający je na innym
> z serwerów ma je też widzieć.
> serwery są podpięte do internetu (czyli jeśli trzeba to ze sobą) każdy
> swoim łączem dsl.
> odpada używanie jednego z serwrów jako bazy dla wszystkich - narzucone
> wymaganie to wzajemna synchronizacja.

Poczytaj o trybie multi-master w mysqlu :
http://jayant7k.blogspot.com/2006/06/multi-master-replication-in-mysql.html

Jest to totalna rzeźba i tworcy mysqla chyba nie zakladali takiego
uzycia bazy, ale dziala ;)

> wg mojego rozeznania są 2 rozwiązania
> -faktyczna synchronizacja z binlog(pasmożerne? co kiedy rónocześnie
> ktoś doda coś na 2 serwerach?)

replikacja nie zalatwi niestety problemu

> -rozwiązanie typu cluster (cos w rodzaju load balancera na wspólnych
> danych)

NDB cluster w wersji 5.0 po prostu nie dziala. Sprobowalbym NDB
cluster w wersji 5.1 ale jesli masz transakcje lub gdziekolwiek typ
danych TEXT lub BLOB to raczej nie masz szans na uzyskanie jakiegos
konkretnego wyniku. Poza tym zalozenia NDB cluster sa takie ze jest
jeden node ktory jest node'm gateway'owym co tak na prawde jest
single-point-of-failure i ciezko to w ogole nazwac klastrem. Co wiecej
nie znam zadnego komercyjnego zastosowania tego typu klastra.


> innych nie znalazłem, ale też żadnego z powyższych jeszcze na żywo nie
> przerabiałem. z rozwiązań któe częściowo mogły by się nadać widzę drbd
> jako wspólny magazyn danych, jednak nie wiem jak jest w pracą jego
> przy paśmie łącza do 1Mbit/s
>
> jest problem sensownej reakcji kiedy z 'clustera' wypadnie któryś z
> serwerów (awaria łącza) aby w bazie nie porobiły się konflikty. na to
> nie bardzo mam pomysł. wyłączanie dostępu wszystkim kiedy padnie
> którykolwiek brzmi dosyć przerażająco.
>

mysql ogolnie sie do klastrowania zbytnio nie nadaje,ale ze
wszystkiego polecam po prostu 3-serverowy tryb multimaster  :)

pozdr.



-- 
Wojciech Ziniewicz
http://www.rfc-editor.org/rfc/rfc2324.txt


Reply to: