检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
优化数据库语句方法 文档数据库属于NoSQL数据库,提供了可扩展的高性能数据解决方案,与关系型数据库(例如MySQL、SQLServer、Oracle)一样,在数据库设计、语句优化、索引创建等方面都会影响数据库的使用性能。 下面从不同维度,给出提升DDS使用性能的建议。 数据库和集合的创建
如果查询结果需要排序,尽量控制结果集的数量。 涉及多个字段的索引时,尽量将用于精确匹配的字段放在索引的前面。 如果查询条件中的键值顺序和复合索引中的创建顺序不一致,DDS会自动优化为查询跟索引顺序一致。 修改操作 通过操作符对文档进行修改,通常可以获得更好的性能。该方式不需要往返服务器来获取并修改文档数据,在序列化和传输数据上花费更少的时间。
否 根据多个数据库关键字模糊搜索日志,表示匹配至少一个关键字。 只支持关键字前缀模糊搜索,最多支持10个关键字。 每个关键字最大长度不超过64个字符。 collection_keywords Array of strings 否 根据多个数据库表名关键字模糊搜索日志,表示匹配至少一个关键字。
修改实例内网地址 接口说明 修改实例的内网地址。 约束说明 冻结实例,异常实例不支持该操作。 已使用的IP地址,不能作为实例的新内网地址。 修改内网地址会导致原地址链接失效,如果有绑定弹性公网IP,那么在修改内网地址的过程中,请不要操作解绑。 如果已经开启连接地址切换,不能进行该操作。
runCommand({shardcollection:"<database>.<collection>",key:{"keyname":<value> }}) 表1 参数说明 参数 说明 <database> 数据库名称。 <collection> 集合名称。 <keyname>
修改实例内网地址 数据库从本地或其他云迁移至文档数据库服务后,可能面临更改内网IP地址的问题,文档数据库服务提供修改内网地址功能,降低客户迁移成本。 使用须知 修改节点的内网IP地址会导致原内网IP地址失效,如果该节点绑定了弹性公网IP,修改内网IP地址过程中,请不要操作解绑弹性
"<action>", ... ] }, ... ], { < writeConcern > } ) 表1 privileges各字段含义 字段 类型 说明 resource 文档 用于指定库名或者集合名 actions 数组 参考createRole章节的说明。
服务会自动为实例创建admin、monitor和backup账户。如果试图删掉、重命名、修改这些账户的密码和权限,会导致出错。 对于数据库管理员账户rwuser,以及您所创建的账户,允许修改账户的密码。 创建用户 更新用户 删除用户 父主题: 管理数据库权限
库表级时间点恢复 接口说明 为了保证数据完整性,降低对原实例的性能影响,在进行表级时间点恢复备份时,首先将选中时间点的全量数据和增量数据在后台恢复至一个临时实例,然后自动导出用户需要恢复的表,再将这些表恢复至原实例。 约束说明 该接口只支持副本集实例。 调试 您可以在API Explorer中调试该接口。
对于可靠性有较高要求的,建议采用3AZ部署的集群。 性能相关 规范 业务程序禁止执行全表扫描的查询。 执行查询时,只选择需要返回的字段,不需要的字段不要返回。从而减少网络和进程处理的负载,修改数据时,只修改变化需要修改的字段,不要整个对象直接存储全部修改。 避免使用$not。DDS并不会对缺失的数据进行索引,
文档数据库服务支持重置数据库管理员密码,建议您定期修改密码,以提高系统安全性,防止出现密码被破解等安全风险。 如果您在创建实例时,选择创建后设置密码,在连接实例前,您需要先重置管理员密码,再通过该密码连接实例。 使用须知 以下情况不可重置密码: 租户被冻结 创建中 重启中 节点扩容中 切换SSL中 修改端口号中 规格变更中
磁盘空间,这些未被回收的磁盘空间被称为磁盘碎片。磁盘碎片会被数据库继续使用,当有新数据插入时,会重复利用这些碎片,而不需要新申请磁盘空间。根据底层存储引擎的不同(RocksDB和WiredTiger),又会有不同的具体表现。 RocksDB在删除数据后,将删除操作直接转化为追加写
"<server|client>" } 表1 user参数说明 字段 类型 说明 user string 新用户名称。 pwd string 用户密码,如果您在$external数据库上运行db.createUser()以创建将凭据存储在 MongoDB外部的用户,则pwd字段不是必需的。 customData
其他的注意点: 执行查询时,只选择需要返回的字段,不需要的字段不要返回。修改数据时,只修改变化需要修改的字段,不要整个对象直接存储全部修改。从而减少网络和进程处理的负载。 同一个业务场景,能一次查询返回的必须一次查询 ,减少和数据库的交互次数。 单个实例中,数据库的总的个数不要超过200个,总的集合个数不要超过500个。
collMod 方法修改单字段 TTL 索引的超时时间 × × × √ × × √ “√”表示支持,“×”表示不支持,“N.A.”表示不适用。 当高版本MongoDB迁移至低版本时,兼容度评估请参见高版本MongoDB迁移至低版本时,兼容度如何评估? DDS各版本聚合操作说明 表2 聚合操作的兼容性列表
索引创建,可以避免全表扫描,有效地提高查询命令的执行效率。 索引字段的长度不能超过512字节,索引名称长度不能超过64字符,单个复合索引所包含字段数最多不能超过16个。 <数据库名>.<集合名>.$<索引名>的总长度不能超过128字符。 在高选择性字段上的创建索引。在低选择性字段上查询会返
取值"forwards"时,表示查询下一页limit大小的日志。 不传默认"forwards"。 枚举值: backwards forwards node_id String 否 节点ID,取空值,表示查询实例下所有允许查询的节点。 使用请参考表8的“id”。允许查询的节点如下:
单击页面右上方“控制台”,登录华为账号后进入华为云管理控制台页面。 在页面左上角单击,选择“数据库 > 文档数据库服务 DDS”,进入文档数据库服务信息页面。 单击页面右上角的“购买数据库实例”。 “区域”选择当前公测中的区域,购买页面“兼容MongoDB版本”选择“4.4”,其
索引创建,可以避免全表扫描,有效地提高查询命令的执行效率。 索引字段的长度不能超过512字节,索引名称长度不能超过64字符,单个复合索引所包含字段数最多不能超过16个。 <数据库名>.<集合名>.$<索引名>的总长度不能超过128字符。 在高选择性字段上的创建索引。在低选择性字段上查询会返
排查DDS实例CPU使用率高的问题 使用文档数据库服务时,如果您的CPU使用率很高或接近100%,会导致数据读写处理缓慢,从而影响业务正常运行。 本章节帮助您分析数据库正在执行的请求和数据库慢请求,经过分析优化后,使得数据库的查询相对合理,所有的请求都高效使用了索引,从而排查文档数据库服务CPU使用率高的问题。