sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvorfor kræver et mongodb replikasæt et ulige antal afstemningsknuder?

Lad os forestille os, at et replikasæt har lige antal noder (for eksempel 4). Så sker der en uheldig netværkspartition, der deler sættet i to (2 + 2). Hvilken partition skal acceptere skrivninger? Først? Sekund? Begge? Hvad skal der ske, når netværket gendannes? Det er alle svære spørgsmål.

At have ulige antal noder eliminerer spørgsmålene fuldstændigt. Sættet kan ikke deles nøjagtigt i to. Så den største del vil acceptere skrivninger (for at være præcis skal noden se mere end halvdelen af ​​noderne (inklusive selv) for at blive valgt som primær. Så det er 1 ud af 1, 2 af 3, 3 af 5, 4 af 7 og så videre ).




  1. Kan strenge JSON $dates bruges i en MongoDB-forespørgsel?

  2. hvordan overføres variabler $tid, $id til rå funktion?

  3. Kombinerer $regex og $or operatorer i Mongo

  4. Hvordan aktiveres ReadConcernMajority i MongoDB 3.6.3?