MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Защо стартирането на самостоятелен екземпляр на MongoDB като набор от реплики не се препоръчва в производството?

Основната функция на набор от реплики е да осигури излишък на данни и висока наличност за вашето внедряване на MongoDB. Тоест, ако първичният възел в набор от реплики падне по някаква причина, вторичният незабавно ще поеме ролята на новия основен (средно в рамките на ~10 секунди). Вижте Репликация за повече подробности по тази тема.

Официалните драйвери на MongoDB са наясно с това избирателно събитие за набор от реплики и ще осигурят автоматично повторно свързване и повторни операции на новия първичен. От гледна точка на приложението нищо не се случи в страната на базата данни.

Друго предимство на използването на комплект реплики с множество вторични е възможността за нулево време на престой надстройка/поддръжка по непрекъснат начин. Това може да бъде направено, като извадите един вторичен офлайн, извършите поддръжка на него, след това извършите поддръжка на другите вторични и накрая напуснете основния и извършите поддръжка на него. Отново, тъй като официалните драйвери на MongoDB са наясно с тези събития, можете технически да извършвате поддръжка на активна база данни с много минимално въздействие и без прекъсване на приложението.

Това е различна философия от монолитен сървър на база данни, където има само един истински голям сървър. Въпреки че има определени предимства в монолитното внедряване (което отново е друга дискусия :) ), MongoDB е проектиран като разпределена база данни, устойчива на грешки. Един непосредствен недостатък на един сървър е, че сървърът трябва да работи на 100% през цялото време, в противен случай приложението ще бъде прекъснато. Комплект реплики е проектиран така, че вашето приложение да може да има 100% време за работа, без да оказва натиск върху отделните сървъри, които трябва да имат 100% време за работа.

Като бонус, комплект реплики може да може да осигури скалируемост на четене, като настрои драйвера да чете от вторични (записите винаги трябва да отиват към първичния). Имайте предвид, че трябва да има внимателен дизайн, ако искате да правите вторични четения, тъй като това може потенциално да попречи на аспекта с висока наличност, ако се злоупотребява.

В обобщение, набор от реплики може да осигури:

  • Висока наличност и устойчивост на грешки
  • Без поддръжка при престой
  • Излишък на данни за мащабиране на четения

без да се изисква хардуерът да е 100% надежден. Ето защо силно се препоръчва комплект реплики при внедряване на продукт.

Вижте Архитектури за разполагане на комплект реплики за по-подробни съображения за внедряване на набор от реплики.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да премахнете колона от дъщерна колекция

  2. Добавяне на резултати към агрегирането на MongoDB с помощта на $switch

  3. MongoDB изброява наличните бази данни в java

  4. Защита на MongoDB от външни атаки с инжектиране

  5. Избутване на елемент към масив в mongoose