Kullanılabilirlik, tutarlılık ve karmaşıklıktan vazgeçiyoruz. Önce son soruyu ele almak gerekirse: Bu önemli mi? Evet çok fazla! Verilerinizin nasıl yönetileceğine ilişkin seçimler kesinlikle temeldir ve kararlardan kaçan "En İyi Uygulama" yoktur. Özel gereksinimlerinizi anlamanız gerekir.
Temel bir gerilim var:
Bir kopya: tutarlılık kolaydır, ancak eğer aşağı olursa, herkes sudan çıkar ve insanlar uzaktaysa korkunç iletişim masrafları ödeyebilir. Bağlantısız çalışması gerekebilecek taşınabilir cihazları resme getirin ve bir kopya onu kesmeyecektir.
Ana Bağımlı: tutarlılık çok zor değildir çünkü her veri parçasının tam olarak bir sahip ana bilgisayarı vardır. Ama o ustayı göremezseniz ne yaparsınız, bir tür ertelenmiş çalışma gerekir.
Master-Master: Eğer onu çalıştırabilirseniz, o zaman her şeyi sunuyor gibi görünüyor, tek bir başarısızlık noktası yok, herkes her zaman çalışabilir. Bununla ilgili sorun, mutlak tutarlılığı korumanın çok zor olmasıdır. Daha fazlası için wikipedia makalesine bakın .
Wikipedia'nın avantajları ve dezavantajları hakkında güzel bir özet var gibi görünüyor
Avantajları
Bir ana birim başarısız olursa, diğer ana bilgisayarlar veri tabanını güncellemeye devam edecektir.
Ana bilgisayarlar birkaç fiziksel yerde bulunabilir, yani ağ üzerinde dağıtılabilir.
Dezavantajları
Çok yöneticili çoğaltma sistemlerinin çoğu yalnızca gevşek bir şekilde tutarlıdır, yani tembel ve zaman uyumsuzdur ve ACID özelliklerini ihlal eder.
İstekli çoğaltma sistemleri karmaşıktır ve bir miktar iletişim gecikmesine neden olur.
Çatışma çözümü gibi sorunlar, dahil olan düğümlerin sayısı arttıkça ve gerekli gecikme azaldıkça çözülemez hale gelebilir.