Ми торгуємо доступністю, послідовністю та складністю. Перше вирішити останнє питання: чи це має значення? Да дуже багато! Вибір щодо управління вашими даними є абсолютно принциповим, і немає "Кращої практики", що ухиляється від прийняття рішень. Вам потрібно зрозуміти ваші конкретні вимоги.
Існує принципова напруга:
Один примірник: консистенція проста, але якщо це трапляється вниз, всі виходять з води, а якщо люди віддалені, то можуть платити жахливі витрати на спілкування. Візьміть на малюнок портативні пристрої, для яких може знадобитися відключена робота, і одна копія не виріже.
Master Slave: послідовність не надто складна, оскільки кожен фрагмент даних має точно одного власника. Але тоді, що робити, якщо ти не бачиш цього майстра, потрібна якась відкладена робота.
Майстер-майстер: добре, якщо ти можеш змусити його працювати, то, здається, пропонують все, жодної точки відмови, кожен може працювати весь час. Проблема в тому, що дуже важко зберегти абсолютну консистенцію. Докладніше див. У статті Вікіпедії .
У Вікіпедії, здається, є хороший підсумок переваг та недоліків
Переваги
Якщо один майстер не працює, інші майстри продовжать оновлювати базу даних.
Майстри можуть розташовуватися на декількох фізичних сайтах, тобто розподілятися по всій мережі.
Недоліки
Більшість систем множинної реплікації лише послідовно послідовні, тобто ледачі та асинхронні, що порушують властивості ACID.
Системи гострої реплікації є складними і вводять деяку затримку зв'язку.
Такі питання, як вирішення конфлікту, можуть стати нерозв'язними, оскільки кількість залучених вузлів зростає і необхідна затримка зменшується.