Słyszałem o dwóch rodzajach architektur baz danych.
mistrz-mistrz
pan-niewolnik
Czy master-master nie jest bardziej odpowiedni dla dzisiejszej sieci, ponieważ jest jak Git, każda jednostka ma cały zestaw danych, a jeśli jeden z nich się zepsuje, nie ma to większego znaczenia.
Master-slave przypomina mi SVN (którego nie lubię), w którym masz jedną jednostkę centralną, która obsługuje.
Pytania:
Jakie są zalety i wady każdego z nich?
Jeśli chcesz mieć lokalną bazę danych w telefonie komórkowym, taką jak iPhone, która jest bardziej odpowiednia?
Czy wybór jednego z nich jest krytycznym czynnikiem, który należy dokładnie rozważyć?
Odpowiedzi:
Stawiamy na dostępność, spójność i złożoność. Aby najpierw odpowiedzieć na ostatnie pytanie: czy to ma znaczenie? Tak, bardzo! Wybory dotyczące sposobu zarządzania danymi są absolutnie fundamentalne i nie ma „najlepszych praktyk” uchylających się od decyzji. Musisz zrozumieć swoje szczególne wymagania.
Istnieje fundamentalne napięcie:
Jedna kopia: spójność jest łatwa, ale jeśli zdarzy się, że spadnie, wszyscy są poza wodą, a jeśli ludzie są daleko, mogą zapłacić straszne koszty komunikacji. Umieść na zdjęciu urządzenia przenośne, które mogą wymagać odłączenia, a jedna kopia go nie przytnie.
Master Slave: spójność nie jest zbyt trudna, ponieważ każdy element danych ma dokładnie jednego właściciela. Ale co zrobisz, jeśli nie możesz zobaczyć tego mistrza, potrzebna jest jakaś odłożona praca.
Mistrz-mistrz: cóż, jeśli możesz sprawić, że to zadziała, to wydaje się, że oferuje wszystko, nie ma pojedynczego punktu awarii, każdy może pracować przez cały czas. Problem polega na tym, że bardzo trudno jest zachować absolutną spójność. Więcej informacji znajdziesz w artykule na Wikipedii .
Wikipedia wydaje się mieć fajne podsumowanie zalet i wad
źródło
Podczas badania różnych architektur baz danych. Zebrałem sporo informacji, które mogą być przydatne dla kogoś innego prowadzącego badania w przyszłości. przeszedłem przez
Zdecydowałem się zadowolić użyciem MySQL Cluster w moim przypadku użycia. Prosimy jednak o zapoznanie się z różnymi zaletami i wadami, które zestawiłem poniżej
1. Replikacja typu master-slave
Plusy
Cons
2. Replikacja typu master-master
Plusy
Cons
3. Klaster MySQL
Nowy dzieciak w mieście oparty na projekcie klastra MySQL. Klaster MySQL został opracowany z myślą o wysokiej dostępności i skalowalności i jest idealnym rozwiązaniem do wykorzystania w środowiskach, które nie wymagają przestojów, wysokiej dostępności i skalowalności poziomej.
Aby uzyskać więcej informacji, zobacz MySQL Cluster 101
Plusy
Cons
Możesz odwiedzić mój blog, aby zapoznać się z pełnym opisem, w tym diagramami architektury, które zawierają dalsze szczegóły dotyczące trzech wspomnianych architektur.
źródło