检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
创建和管理索引 DDS支持利用索引实现高效查询。如果没有索引,DDS必须执行集合扫描,即扫描集合中的每个文档,以选择那些与查询语句匹配的文档。如果一个查询存在适当的索引,DDS可以使用该索引来限制它必须检查的文档数量。 创建索引的规范及建议请参见索引设计规范。
备份原理及方案 DDS实例支持自动备份和手动备份,您可以定期对数据库进行备份,当数据库故障或数据损坏时,可以通过备份文件恢复数据库,从而保证数据可靠性。 备份原理 集群实例 集群实例由dds mongos(路由)、Config(配置)和Shard(分片)组件构成。
将创建索引等耗时较长的DDL操作,以及数据备份操作放在业务低峰期执行,同时尽可能避免突发大量增删改操作。 如果没有以majority级别的writeConcern写入数据,发生主备倒换时,未同步到备节点的数据有丢失风险。
文档数据库中创建失败的索引可以删除吗 使用语句db.<collection>.stats(),查询文档数据库中有哪些索引,然后对创建失败的索引进行删除。 collection请根据需要进行填写。 父主题: 数据库基本使用
DDS是否支持TTL索引清理过期数据 DDS支持TTL索引清理过期数据。详情请参考官方指南。 父主题: 数据库基本使用
需要基于分片键排序查询且增加数据时可以分布均匀建议使用范围分片,其他使用哈希分片。 合理设计shard key,防止出现大量的数据使用相同shard key,导致出现jumbo chunk。
根据查询条件创建必要的索引,索引设计请参见索引设计规范。 避免COLLSCAN全表扫描。 查询条件和索引字段匹配有顺序性。 对于集群实例,根据业务对表进行合理地分片,分片设计请参见分片设计规范。
需要基于分片键排序查询且增加数据时可以分布均匀建议使用范围分片,其他使用哈希分片。 合理设计shard key,防止出现大量的数据使用相同shard key,导致出现jumbo chunk。
update也需要匹配索引。 避免COLLSCAN全表扫描。 查询条件和索引字段匹配有顺序性。 insert/update命令中涉及的文档,最大不能超过16MB。 父主题: 基础命令规范
在最新的4.4版本中支持了复合哈希索引,意即您可以在复合索引中指定单个哈希字段,可以作为前缀也可以作为后缀,位置不限,由此来支持复合哈希分片键。
复杂哈希片键 在以前的版本中,只能指定单个字段的哈希分片键,长期以往很容易导致集合数据在分片上分布不均匀。 在最新的4.4版本中支持了复合哈希索引,意即您可以在复合索引中指定单个哈希字段,可以作为前缀也可以作为后缀,位置不限,进而为使用复合哈希分片键提供了支持。
哪些数据会占用文档数据库实例空间 以下内容占用文档数据库实例空间: 您申请的磁盘空间会有必要的文件系统开销,这些开销包括索引节点和保留块,以及数据库运行必需的空间。 除备份数据以外的用户正常的数据。 文档数据库实例正常运行所需的数据,比如系统数据库、数据库回滚日志、索引等。
√ √ √ √ √ √ √ 通配符索引 支持通配符索引。 √ √ √ √ √ √ √ 分片集群 允许修改集群文档的分片键值。 × × √ √ √ √ √ 调整分片键关联的字段。 √ √ √ √ × √ √ 可以使用具有单个哈希字段的复合分片键对集合进行分片。
创建索引时,只创建必要的索引,避免创建多余索引导致存储空间浪费。例如:不要基于复合索引的前缀字段再创建索引。 创建索引时,需要创建后台索引,即:db.
修复声明 为了防止客户遭遇不当风险,除漏洞背景信息、漏洞详情、漏洞原理分析、影响范围/版本/场景、解决方案以及参考信息等内容外,不提供有关漏洞细节的其他信息。 父主题: 漏洞公告
是因为无论是写入、更新还是删除,以及索引插入和删除等操作,在后台实际上都会转成写入。因为底层的存储引擎(WiredTiger和RocksDB)采用都是appendOnly机制。
哈希分片,能够将写入均衡分布到各个Shard。 删除集合 执行db.collection_name.drop()删除集合。 父主题: 数据库使用
COUNTSCAN 未用索引计数 FETCH 索引扫描 LIMIT 使用Limit限制返回数 SUBPLA 未用索引的$or查询阶段 PROJECTION 使用索引计数 COUNT_SCAN 使用索引计数 优化方案 对于无索引覆盖的查询,则需要根据查询条件创建对应索引。
不合理的索引:IXSCAN、keysExamined 索引不是越多越好,过多索引会影响写入和更新的性能。 如果您的应用偏向于写操作,建立索引可能会降低写操作的性能。 通过查看参数“keysExamined”的值,可以查看一个使用了索引的查询,扫描了多少条索引。
TTL索引是单字段索引,而非复合索引。 需要在集合中某个字段上创建索引,但当集合中大量文档不包含该键值时,建议创建稀疏索引。 创建文本索引时,字段指定text,而不是1或者-1。每个集合只有一个文本索引,但它可以为任意多个字段建立索引。