MongoDB:读关注
MongoDB读关注,类似于关系型数据库的隔离级别,但只是解决脏读的问题 READ-uncommited。
在3.2版本后,读关注read concern在local majority 的基础上新增linerizable级别,使读到的数据更加安全,但也带来一些性能上面的问题。
在一个3副本的副本集架构中,看看设置不同read concern级别,会对读操作有什么影响
假设在同一个时间线T1~T4上,primary多次执行写操作,分解写过程,分析下可以返回的数据:
T1--A写入数据,B、C同步oplog,B、C应用日志之后,ACK返回给A
T2--A写入数据,B、C同步oplog,C应用日志之后,ACK返回给A,B没有返回
T3--A写入数据,C同步oplog, C没有返回
对不同读关注级别,总结如下
可以看到,linearizable级别,需要查询过滤条件中包含唯一约束fields,并且推荐只在primary查询时使用;
查询会一直等待大部分节点返回ACK,所以要有超时设置,db.restaurants.find( { _id: 5 } ).readConcern("linearizable").maxTimeMS(10000);
读到的数据肯定是持久化的数据,但性能会有所降低。
majority级别,只要是在发起读操作之前,已经大部分节点ACK的数据,都可以被读取,但不保证数据已经持久化;
推荐使用majority。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
规模化落地云原生,阿里云即将重磅亮相 KubeCon China
2019 年 6 月 24 日至 26 日, 由 Cloud Native Computing Foundation (CNCF) 主办的云原生技术大会 KubeCon + CloudNativeCon + Open Source Summit(上海 )即将在中国上海盛装启幕。继 2018 年 KubeCon 首次成功登陆中国,本届 KubeCon 将吸引来自全世界数千名技术人员将会参加此次盛会,参与CNCF 全部项目和话题的深度探讨和案例分析,聆听 CNCF 项目的运维者和最终用户的分享。本届 KubeCon + CloudNativeCon + Open Source Summit 大会项目委员会由 75 名专家组成,审阅 KubeCon + CloudNativeCon 的 618 项提案,在本次 KubeCon China
- 下一篇
下一代公司是怎么样的?我们在阿里看到模型
德鲁克说,公司唯一价值是创造和满足消费者的需求,将资源和劳动力制造成商品,通过各种渠道提供给消费者。 在中国,工业时代的商品流转率一直底下,企业制造出一件衣服之后,要通过至少三层经销商才能达到消费者手中。1999年成立的阿里巴巴通过新一代的信息技术解决了这个问题,让企业第一次能够直接触达到消费者。 而后,中国消费者开始急速数字化,到2019年中国网名数量达到了8.29亿,互联网普及率为59.6%。连菜市场的小商贩都全部扫码支付,有的还有自己的线上小店,不时发发优惠留住老顾客。 但同期的企业数字化水平却不如人意,大部分企业工业时代的企业是以标准化、流程化为中心,例如沃尔玛。数字时代的企业以数字化和智能化为中心,例如阿里巴巴。 这两代公司的最鲜明对比就是,在同样量级GMV之下,沃尔玛在美国雇员超过100万人,而阿里巴巴只需要几
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker快速安装Oracle11G,搭建oracle11g学习环境