假设我有三台MONGODB的复制集,其中我的主库写入了一条数据,并且我读取了这条数据,而不幸的是此时主库DOWN,而数据还未复制到从库,并且很快主库恢复了正常,此时这条数据就是脏数据....如果想配置这个选择项需要在配置文件中加入
enableMajorityReadConcern: true
这里需要关注2个问题
1 如果我打开了 read concern 我读取的数据一定是最新的吗...回答是不一定,可能是最新的,也可能不是最新的数据
2 read concern 影响系统的性能吗
关于第一个问题,在数据读取时,会对数据在整体集群中的占比进行一个判断,如果的确是大多数节点都有此数据,...并且还有提示,如果你不使用这个功能则可以保证你的系统运行是平稳的,那么问题就来了,如果我不使用这个功能, 但我想保证在极端的情况下,我的数据不会因为回滚而造成 dirty read....同时使用这个方法,还能避免一些数据一致性的问题,举例我有三个节点,我读取数据在一个从库,而恰巧这个从库还为得到主库的数据,那么我读取数据就会产生,主库或者另外一个从库明明有这个数据,但这个从库就是没有的问题