## 一、前言MongoDB 有三种集群架构模式,分别为**主从复制**(Master-Slaver)、**副本集**(Replica Set)和**分片**(Sharding)模式。 - Master-Slaver 是一种主从复制的模式,目前已经不推荐使用。 - Replica Set 模式取代了 Master-Slaver 模式,是一种互为主从的关系。Replica Set 将数据复制多份保存,不同服务器保存同一份数据,在出现故障时自动切换,实现故障转移,在实际生产中非常实用。 - Sharding 模式适合处理大量数据,...
# 前言MongoDB 是 schema free 的,也就是说不同的 document 可以允许有不同的结构,最大程度降低了关系型数据库中的 DDL 对数据库的影响。尽管 MongoDB 中的模式十分灵活,我们依旧希望 document 中的字段类型统一... validationAction = error 表示如果数据不符合规则时直接报错。尝试向集合中写入不符合要求的文档会出现 **Document failed validation** 报错:````undefinedrs-mongo-replica-cn01f91c9e400b64:PRIMARY> db....
# 目的对集合中的数据和索引进行碎片整理。释放磁盘空间,降低磁盘利用率。# 操作流程1. 连接到 Hidden 节点,执行 compact。2. 连接到 Secondary 节点,执行 compact。3. 待前两步做完之后,进行主备切换。4. 对当前的 Primary 执行 compact 命令。# Compact 命令影响&建议1. 回收磁盘碎片前,建议对数据库数据进行备份2. MongoDB 4.4 及之前的版本执行 compact 命令会导致集合所属的数据库被锁定,且该数据库的读写操作将...
# 问题描述在使用文档数据库 MongoDB 的时发现 CPU使用率很高,从业务角度来看,发现数据读写处理缓慢,我该如何排查此类问题?# 问题分析通常来说,导致 MongoDB CPU 使用率高有如下几点原因:* 查询语句不够优化,没有合理的索引。* 请求并发量大,当前业务负载和实例类型不匹配,即超出当前服务能力。* 有过重的计算任务。# 解决方案### 1. 查看当前正在运行的语句与 MySQL 中 `show full processlist` 语句功能类似,在 Mon...
本文介绍如何通过 compact 命令回收 MongoDB 分片集群实例的磁盘碎片,减少磁盘使用压力,提高利用率。 背景信息文档数据库 MongoDB 版实例在删除数据时,不会直接回收被删除数据的磁盘空间(这些空间会被标记为空闲),后续新写入的数据不会占用新的磁盘空间,而是重用之前空闲的磁盘空间,那些未被使用的空闲存储空间则被称作磁盘碎片。随着删除的操作增多,碎片也会越来越多,磁盘碎片越多表明磁盘利用率越低。Compact 命令可用于重写和...
在使用文档数据库 MongoDB 版的过程中,若存在查询语句不够优化(如未设置合理索引)、请求并发量大、计算任务过重等情况时,可能会使数实例 CPU 使用率变高,从而导致数据读写变慢、超时增加等问题,甚至严重影响业务的正常运行。本文从查询语句、慢日志、执行计划等方面,介绍如何排查并定位 MongoDB 实例 CPU 使用率高的问题。 查看正在运行的语句您可以参考如下步骤查看数据库中正在运行的语句: 通过 Mongo Shell 工具连接实例。具体...
本文介绍如何在数据库传输服务 DTS 创建火山引擎版 MongoDB 同步至火山引擎版 MongoDB 任务。 前提条件已创建文档数据库 MongoDB 版实例和账号。详细操作,请参见创建实例和创建账号。 创建同步任务前,请确认源库和目标库的网络连通性与服务可用性。 您还可以根据预检查项中的说明,来检查源库和目标库中各迁移对象做相应准备。更多详情,请参见预检查项(MongoDB)。 注意事项若未选中增量同步,数据同步期间请勿在源实例中写入新的...
添加至数据库实例的白名单或安全组中。关于 DTS 服务器 IP 地址段的详细信息,请参见添加 DTS 服务器的 IP 地址段。 网络连通性:创建数据同步任务之前,请确认源库和目标库的网络连通性与服务可用性。 您还可以根据预检查项中的说明,来检查源库和目标库中各同步对象做相应准备。更多详情,请参见预检查项(MongoDB)。 注意事项若未选中增量同步,数据同步期间请勿在源实例中写入新的数据,以确保数据一致性。 为实时保障数据的一致...
产品架构文档数据库 MongoDB 版根据不同的架构将 MongoDB 实例分为副本集实例和分片集群实例。 副本集副本集实例能够提供高可用的 MongoDB 服务,副本集由 1 个主节点(Primary Node)、1 个从节点(Secondary Node)和 1 个隐藏节点(Hidden Node)组成。其中: 主节点:可提供读写功能,每个副本集实例中只能有 1 个主节点。集群状态正常时,来自客户端的所有数据都会写入主节点。 从节点:可保障高可用,并通过操作日志 oplog(operations ...
请参见搭建云上VPC与云下多数据中心网络互通。 在需要使用专线实现数据同步时,您需要搭建云上单私有网络和云下单数据中心网络连通的专线连接。详细操作,请参见配置专线连接。 已确认源端和目标端的网络连通性与服务可用性。 (可选)根据预检查项中的说明,检查源端和目标端中各同步对象。更多详情,请参见预检查项(MongoDB)。 注意事项若未选中增量同步,数据同步期间请勿在源实例中写入新的数据,以确保数据一致性。 为实时保障...
本文介绍以 YCSB 压测工具测试文档数据库 MongoDB 版实例性能的详细方法和测试结果,您可以按照本文介绍自行测试对比,快速了解数据库系统的性能。 测试环境测试所用的 ECS 实例和文档数据库 MongoDB 版实例均在同一... 读写比为 50:50 的测试中,readproportion 和 updateproportion 取值均为 0.5。 读写比为 95:5 的测试中,readproportion 和 updateproportion 取值分别为 0.95 和 0.05。 执行如下命令准备测试数据。 shell ./b...
成功创建文档数据库 MongoDB 版实例后,您就可以通过 Mongo Shell 工具连接 MongoDB 实例,并进行各种管理操作。 前提条件已在本地或 ECS 实例上安装正确版本的 Mongo Shell 工具:MongoDB 4.0:具体安装步骤,请参见 The mongo Shell。 MongoDB 5.0:具体安装步骤,请参见 MongoDB Shell。 已创建 MongoDB 实例。实例创建方法,请参见创建实例。 为 MongoDB 实例设置白名单分组,并将客户端设备 IP 地址加入到实例的白名单中。详细操作步...
成功创建文档数据库 MongoDB 版实例后,您就可以通过 Mongo Shell 工具连接 MongoDB 实例,并进行各种管理操作。 前提条件已在本地或 ECS 实例上安装正确版本的 Mongo Shell 工具:MongoDB 4.0:具体安装步骤,请参见 The mongo Shell。 MongoDB 5.0:具体安装步骤,请参见 MongoDB Shell。 已创建 MongoDB 实例。实例创建方法,请参见创建实例。 为 MongoDB 实例设置白名单分组,并将客户端设备 IP 地址加入到实例的白名单中。详细操作步...