根据《NoSQL》数据库技术与应用一书内容的衍生问题与回答·第4章 MongoDB副本集

前言:此系列根据作者在《NoSQL》数据库技术与应用一书校园课堂上,对于老师的提问地收集与回答,“(P1)”为此书书页。部分为开放性问题,若有错误,欢迎提出与指正;若有疑问与补充,欢迎在评论区探讨。望各位理性发言、友好交流、互相进步。


问1:为什么有些副本集成员要配置为没有投票权?(P134)

答:在官方网站上有一句话“一个副本集最多可以有50名成员,但仅有7名有投票权成员。如果副本集已经有7个投票成员,其他成员必须是无表决权成员”。副本集成员有优先级priority的概念,书中“在资源不均衡的副本集环境中,可以指定资源较差的服务器中的成员不能成为primary(主结点)”(P132)。故判断,拥有投票权的成员也因为一定原因投出的票更有效。7名成员之外的不具备投票权,可以防止投票时扰乱主结点的选出,也可以使整体结构更加简化。

【补充】:副本集成员有投票权结点总数为奇数(7个)的原因:参考网页(mongodb副本集数量为一定要为奇数? - SegmentFault 思否)的回答,为了防止出现平分,7个结点最多会成为4:3,不会有3:3这样的平票导致无法选出。

【补充】:主结点确定后,新的操作需要在主结点上进行,这样保证副本结点更新,以及主结点资源最优,有确认操作的权限。

【补充】:优先级高的成员并不一定就拥有投票权,优先级高≠拥有投票权。同理,拥有投票权的成员也不一定优先级高。


问2:4.5.2选举机制中“在选举出主结点之前,整个集群服务是只读的,不能执行写入操作”怎样去验证?(P141)

答:设置实验情况为正在选举主结点,在主结点未被选出的前提下,输入读写操作进行验证,此时,读可以成功,而写入不可以成功。则可以验证读写分离。


4.7课后习题答案(标注页数为书中对应答案出处)

一、填空题

1.主结点 仲裁结点(P116) 2.奇数(P117) 3.数据的冗余 自动故障转移(P115) 4.600(P125) 5.priority(P132)

二、判断题

1.×(P115) 2.×(P115) 3.√(P115、117 注意:异步只时间上的延迟,P117提到“每个副本结点的oplog都会保持与主结点的oplog完全一致的状态(可能会有一些延迟)”,而P140的完整同步和变化同步是数据上的同步,故此项正确。)  4.√(P116) 5.√(P122)

三、选择题

1.A(P124) 2.B(P115) 3.A(有争议,P116“定期轮询”,个人认为是A,老师讲解为C)


以上为《NoSQL》数据库技术与应用(版次:2020年10月第1版,印次:2023年8月第8次印刷) 第四章MongoDB副本集 衍生问题与回答。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值