New to KubeDB? Please start here.
MongoDB Hidden node
Hidden node is a member of MongoDB ReplicaSet. It maintains a copy of the primary’s data set but is invisible to client applications. Hidden members are good for workloads with different usage patterns from the other members in the replica set. For example, You are using an inMemory Mongodb database server, but in the same time you want your data to be replicated in a persistent storage, in that case, Hidden node is a smart choice.
Hidden members must always be priority 0 members and so cannot become primary. The db.hello() method does not display hidden members. Hidden members, however, may vote in elections.
Considerations
There are some important considerations that should be taken care of by the Database administrators when deploying MongoDB.
Voting
Hidden members may vote in replica set elections. If you stop a voting hidden member, ensure that the set has an active majority or the primary will step down. [reference]
Multiple hosts
Always try to avoid scenarios where hidden-node is deployed on the same host as the primary of the replicaset.
Write concern
As non-voting replica set members (i.e. members[n].votes is 0) cannot contribute to acknowledge write operations with majority write concern, hidden-members have to be voting capable in majority write-concern scenario.
Next Steps
- Deploy MongoDB ReplicaSet with Hidden-node using KubeDB.
- Detail concepts of MongoDB object.
- Detail concepts of MongoDBVersion object.
- Want to hack on KubeDB? Check our contribution guidelines.