# **场景介绍**在使用 MongoDB 过程中,我们建议您对磁盘空间设置监控告警, 避免磁盘空间告急造成业务受损。本文介绍 MongoDB 释放磁盘空间的方法。# **操作步骤**1. 检查您的实例中是否存在已经废弃的索引、集合或者数据库,然后使用 dropIndexes,drop,dropDatabase 命令删除对应的索引、集合或者数据,该类命令执行后,文件会立即删除,磁盘空间会立即归还给操作系统,从而达到释放磁盘空间的目的。2. 从业务的角度来判断是否存...
# 目的对集合中的数据和索引进行碎片整理。释放磁盘空间,降低磁盘利用率。# 操作流程1. 连接到 Hidden 节点,执行 compact。2. 连接到 Secondary 节点,执行 compact。3. 待前两步做完之后,进行主备切换。4. 对当前的 Primary 执行 compact 命令。# Compact 命令影响&建议1. 回收磁盘碎片前,建议对数据库数据进行备份2. MongoDB 4.4 及之前的版本执行 compact 命令会导致集合所属的数据库被锁定,且该数据库的读写操作将...
# **场景介绍**在学习/测试 MongoDB 中,通常我们需要一定的测试数据,本文使用 mongorestore 将示例数据导入到文档数据库 MongoDB 中。# **操作步骤**1. ## 下载示例数据使用如下命令将示例数据下载到具有 mongorestore 的客户端机器上```Bashwget https://atlas-education.s3.amazonaws.com/sampledata.archive```关于示例数据的说明,可以参考文档[1]。2. ## 使用 mongorestore 进行导入恢复 archive 形态的备份文...
# 前言MongoDB 是 schema free 的,也就是说不同的 document 可以允许有不同的结构,最大程度降低了关系型数据库中的 DDL 对数据库的影响。尽管 MongoDB 中的模式十分灵活,我们依旧希望 document 中的字段类型统一... * 这类 collections 进行 validation设置# 参考文档[1] [https://www.mongodb.com/docs/manual/core/schema-validation/](https://www.mongodb.com/docs/manual/core/schema-validation/)
成功创建文档数据库 MongoDB 版实例后,您就可以通过 Mongo Shell 工具连接 MongoDB 实例,并进行各种管理操作。 前提条件已在本地或 ECS 实例上安装正确版本的 Mongo Shell 工具:MongoDB 4.0:具体安装步骤,请参见 The mongo Shell。 MongoDB 5.0:具体安装步骤,请参见 MongoDB Shell。 已创建 MongoDB 实例。实例创建方法,请参见创建实例。 为 MongoDB 实例设置白名单分组,并将客户端设备 IP 地址加入到实例的白名单中。详细操作步...
前言 MongoDB 本质上还是一个文档数据库,具有很强的横向扩展能力,以及灵活模型,特别适合迭代开发,数据模型多变场景。在本教程中,您将学习如何创建 MongoDB,并使用客户端连接,生产数据并进行查询。 关于实验 预计部... 请点击 我已阅读并同意《文档数据库 MongoDB 版服务条款》 ,然后点击立即购买,等待一会儿完成创建。 步骤2:设置连接管理等待集群可用之后,点击到实例详情页,选择 连接管理 ,这里我们申请公网访问地址:注:开启切换...
创建文档数据库 MongoDB 版实例时,系统会默认在 admin 数据库中创建一个 root 账号。如果您想要对数据库进一步精细化管理,那么可以创建其他权限的账号进行分权分库操作。本文介绍如何通过命令行创建非 root 账号。 前提条件已成功创建 MongoDB 实例。创建实例的方法,请参见创建实例。 已成功连接目标 MongoDB 实例。连接实例的方法,请参见通过 Mongo Shell 工具连接实例。 已明确需要创建账户的角色类型、权限、归属数据库、生效...
设置合适的 shard key分片集群中数据的分片以集合为基础单位,集合中的数据通过分片键被分成多个部分。分片键是在集合中选择的一个或多个合适的字段,数据拆分时以该分片键的值为依据均衡地分布到所有分片中。如果您没有选择到合适的的分片键,可能会降低集群的使用性能,出现执行分片语句时执行过程卡住的问题。 说明 从 MongoDB 5.0 起,您可以通过 reshardCollection 命令来修改分片键,实现数据的重新分配。修改分片键的具体操作...
本文以 Mongo Shell 连接工具为例,介绍如何通过自建账号(即非 root 账号)连接 MongoDB 实例。 前提条件已成功创建自建账号。创建方法,请参见创建账号。 为 MongoDB 实例设置白名单分组,并将客户端设备 IP 地址加入到实例的白名单中。详细操作步骤,请参见设置白名单。 若您的客户端设备和 MongoDB 实例不在同一个私有网络(VPC)内,您还要为 MongoDB 实例申请公网连接地址。公网地址申请方法,请参见申请公网地址。 已在本地或 ECS 实...
# **场景介绍**在使用 MongoDB 过程中,我们建议您对磁盘空间设置监控告警, 避免磁盘空间告急造成业务受损。本文介绍 MongoDB 释放磁盘空间的方法。# **操作步骤**1. 检查您的实例中是否存在已经废弃的索引、集合或者数据库,然后使用 dropIndexes,drop,dropDatabase 命令删除对应的索引、集合或者数据,该类命令执行后,文件会立即删除,磁盘空间会立即归还给操作系统,从而达到释放磁盘空间的目的。2. 从业务的角度来判断是否存...
# 目的对集合中的数据和索引进行碎片整理。释放磁盘空间,降低磁盘利用率。# 操作流程1. 连接到 Hidden 节点,执行 compact。2. 连接到 Secondary 节点,执行 compact。3. 待前两步做完之后,进行主备切换。4. 对当前的 Primary 执行 compact 命令。# Compact 命令影响&建议1. 回收磁盘碎片前,建议对数据库数据进行备份2. MongoDB 4.4 及之前的版本执行 compact 命令会导致集合所属的数据库被锁定,且该数据库的读写操作将...
原生支持时序数据MongoDB 5.0 原生支持时间序列数据,提供了时间序列集合、集群索引等能力,在提高应用程序构建和运行时间序列速度的同时,减少了数据和索引的磁盘使用量,实现更好的性能和更大的规模。扩展了 MongoDB 在物联网、金融分析、日志解析、物流等方面的应用场景。您可以在创建集合的 db.createCollection()命令中,通过 { timeseries: { timeField: "timestamp" } } 字段来指定创建一个时间序列集合。更多详情,请参见 Cr...
本文介绍如何通过 compact 命令回收 MongoDB 分片集群实例的磁盘碎片,减少磁盘使用压力,提高利用率。 背景信息文档数据库 MongoDB 版实例在删除数据时,不会直接回收被删除数据的磁盘空间(这些空间会被标记为空闲),后续新写入的数据不会占用新的磁盘空间,而是重用之前空闲的磁盘空间,那些未被使用的空闲存储空间则被称作磁盘碎片。随着删除的操作增多,碎片也会越来越多,磁盘碎片越多表明磁盘利用率越低。Compact 命令可用于重写和...