MongoDB3.6版新特性如下:

  (1)Default Bind to Localhost

  从3.6版本开始,在默认情况下,MongoDB二进制文件mongod和mongos绑定到localhost(127.0.0.0)上。如果在二进制文件中设置了--ipv6选项或者在配置文件中配置了net.ipv6,则默认会绑定到IPv6地址::1。

  • 绑定本地主机时,只接受来自同一台计算机上的客户端的连接,这里的客户端包括mongo Shell,集群成员。
  • 通过net.bindIp配置文件或者bind_ip命令行选项可以实现绑定到指定的IP地址列表。
  • bind_ip可以通过0.0.0.0来绑定所有,也可以设置bindIpAll为true值来绑定所有IP。

  (2)Authentication Restrictions

  从3.6版本开始,新增authenticaitonRestrictions参数用于将数据用户连接限制为指定的IP地址。

  (3)Change Streams

  • 3.6版本支持使用副本集或分片使用Change Streams,必须时复制协议版本1,且WT存储引擎。
  • Change Streams允许应用程序实时了解数据的更改,可以实现一个发布订阅模式。
  • 使用Change Streams必须开启3.6版本特性参数featureCompatibilityVersion。

  (4)Causal Consistency

  保障数据一致性,需要客户端使用MongoDB driver 3.6,同时数据库开启featureCompatibilityVersion特性参数。

  (5)Retryable Writes

  • 重试次数为1次。
  • 只有副本集和shard可用。
  • 数据库要求WT或in-memory存储引擎。
  • 客户端使用MongoDB driver 3.6,数据库开启featureCompatibilityVersion特性参数。
  • writeconcern必须配置,i.e{w:0}不可用。
  • 重试只能解决暂时的网络错误,不能解决持久的网络错误。
  • 驱动程序将等待serverSelectionTimeoutMS时间,以在重试之前确定新的主节点;可重试写入处理故障转移时间不会超过serverSelectionTimeoutMS(默认30s)。

  (6)serverStatus

  serverStatus新增logicalSessionRecordCache项。

  一、复制集(Replica Sets)

  • 弃用副本集协议版本0(pv0)。
  • 添加replSetResizeOplog命令:动态调整副本集成员的oplog的大小。
  • 添加catchUpTakeoverDelayMillis配置选项:指定节点在发起选举之前等待的时间,默认为30秒。
  • 添加oplogInitialFindMaxSeconds参数:配置副本集的成员在数据同步期间其find命令等待多久,默认为60秒。
  • 添加waitForSecondaryBeforeNoopWriteMS参数:用以指定如果afterClusterTime大于oplog的最近应用时间,则Secondary服务器必须等待多久时间,默认为10毫秒。

  二、分片集群(Sharded Clusters)

  • listdatebase
  • Read Concern

MongoDB3.6版本新增特性的更多相关文章

  1. MongoDB3.4版本新增特性

    先说明一下mongod和mongos的含义:mongod是MongoDB系统的主要后台进程,它处理数据请求.管理数据访问和执行后台管理操作:该命令的命令行选项主要用于测试,在场景操作中,使用配置文件选 ...

  2. Java各版本新增特性, Since Java 8

    Java各版本新增特性, Since Java 8 作者:Grey 原文地址: Github 语雀 博客园 Java 8 Reactor of Java 这一章来自于<Spring in Act ...

  3. Java SE 8 新增特性

    Java SE 8 新增特性 作者:Grey 原文地址: Java SE 8 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new_ ...

  4. Java SE 9 新增特性

    Java SE 9 新增特性 作者:Grey 原文地址: Java SE 9 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new_ ...

  5. Java SE 10 新增特性

    Java SE 10 新增特性 作者:Grey 原文地址:Java SE 10 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new ...

  6. Java SE 11 新增特性

    Java SE 11 新增特性 作者:Grey 原文地址:Java SE 11 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new ...

  7. Java SE 12 新增特性

    Java SE 12 新增特性 作者:Grey 原文地址:Java SE 12 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new ...

  8. Java SE 13 新增特性

    Java SE 13 新增特性 作者:Grey 原文地址:Java SE 13 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new ...

  9. Java SE 14 新增特性

    Java SE 14 新增特性 作者:Grey 原文地址:Java SE 14 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new ...

随机推荐

  1. ios---设置UITabBarController的字体颜色和大小

    +(void)load{ NSMutableDictionary *attr3=[NSMutableDictionary dictionary]; attr3[NSForegroundColorAtt ...

  2. 2018CCPC吉林赛区(重现赛)部分题解

    The Fool 题目链接 Problem Description The Fool is numbered 0 – the number of unlimited potential –and th ...

  3. Centos 7 最小化部署jenkins

    前言 jenkins是devops与CI/CD的重要工具之一,下面通过jenkins与svn的结合完成自动部署功能 环境 软件 名称 版本 操作系统 Centos 7.4 开发环境 jdk 1.8 中 ...

  4. .net core 认证与授权(三)

    前言 在写三上是在一的基础上写的,所以有没有看过二是没得关系的,在一中介绍了认证与授权,但是没有去介绍拿到证书后怎样去验证授权. 概念性东西:在这套机制中,把这个权限认证呢,称作为policy.这个p ...

  5. python 学习笔记2 匿名函数

    # 匿名函数 lambda a,b : a+b# a.j.from functools import reduce students = [{'name': '张三', 'age': 18, 'hei ...

  6. 使用abp框架与vue一步一步写我是月老的小工具(1)

    一.前言 因为工作的原因,我真正写代码的时间很少,技术面广但深度一直不够,兴趣广泛但缺乏专业精神.以前一直想用asp.net写一款框架,用来在企业开发过程中做一些基础工作,不过后来我找到abp这个框架 ...

  7. 漏洞利用:验证绕过,XSS利用,Cookic盗用,文件上传

    1.      文件上传 低级别 写好上传的内容 选择好上传的文件 上传成功. 测试:访问文件,执行代码 中级别 修改文件后缀为png 上传该文件 抓包修改文件后缀为php,然后允许数据包通过. 上传 ...

  8. SpringBoot学习(2) - 自定义starter

    自己开发一个spring boot starter的步骤1.新建一个项目(全部都基于maven),比如新建一个spring-boot-starter-redis的maven项目 pom.xml: &l ...

  9. 深入分析Java反射(三)-泛型

    前提 Java反射的API在JavaSE1.7的时候已经基本完善,但是本文编写的时候使用的是Oracle JDK11,因为JDK11对于sun包下的源码也上传了,可以直接通过IDE查看对应的源码和进行 ...

  10. go接口详解

    go面向接口编程知识点 接口定义与格式 隐式实现及实现条件 接口赋值 空接口 接口嵌套 类型断言 多态 接口定义与格式 接口(interface)是一种类型,用来定义行为(方法).这句话有两个重点,类 ...