Sposób, w jaki bym to zrobił, to mieć 1 serwer jako serwer DB z uruchomionym na nim mysql. Wszystkie moje dane memcached, które mogą obejmować wiele serwerów i moich klientów z prostym "jeśli nie memcached, czytać z db, umieścić go na memcached i powrócić".
Memcached jest bardzo łatwy do skalowania w porównaniu do DB. Skalowanie bazy danych wymaga dużego wysiłku administracyjnego. To ból, który sprawia, że wszystko działa prawidłowo. Więc wybieram memcached. Infact Mam dodatkowe serwery memcached, aby zarządzać przestojami (jeśli którekolwiek z moich memcached) serwerów.
Moje dane są w większości przeczytane, a kilka zapisanych. Kiedy piszę, pcham dane również do memcached. W sumie działa to lepiej dla mnie, kodu, administracyjnego, awaryjnego, awaryjnego, loadbalancingu. Wszyscy wygrywają. Trzeba tylko trochę "trochę" zakodować.
Tworzenie klastrów mysql jest bardziej kuszące, ponieważ wydaje się łatwiejsze do kodowania, wdrażania, utrzymywania i utrzymania. Pamiętaj, że mysql jest oparty na twardym dysku, a memcached jest oparty na pamięci, więc z natury jest znacznie szybszy (10 razy conajmniej). A ponieważ przejmuje on całe obciążenie odczytu z bazy danych, konfiguracja bazy danych może być NAPRAWDĘ prosta.
Naprawdę mam nadzieję, że ktoś wskaże na przeciwny argument, bardzo chciałbym to usłyszeć.