检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
数据库使用规范 基础命令规范 开发规范 设计规范
设计规范 命名规范 数据库对象(库名、表名、字段名、索引名)命名建议全部使用小写字母开头,后面跟字母或者数字,数据库对象(库名、表名、字段名、索引名)名字长度建议都不要大于32字节。 数据库名称不能使用特殊字符("",.,$,\,/,*,?,~,#,:,|")和空字符\0,数据库名
通过命令创建数据库 数据库是表、索引、视图、存储过程、操作符的集合。为了更方便地管理文档数据库实例,创建数据库实例后,您可以通过命令为其创建数据库。如果数据库不存在,则创建数据库并切换到新创数据库,否则,直接切换到指定数据库。 前提条件 成功连接文档数据库实例,请参见《文档数据库服务快
设计规范 命名规范 数据库对象(库名、表名、字段名、索引名)命名建议全部使用小写字母开头,后面跟字母或者数字,数据库对象(库名、表名、字段名、索引名)名字长度建议都不要大于32字节。 数据库名称不能使用特殊字符("",.,$,\,/,*,?,~,#,:,|")和空字符\0,数据库名
前面。 单个实例中,数据库的总的个数不要超过200个,总的集合个数不要超过500个。集合数量过多会导致内存压力变高,并且集合数量多会导致重启以及主备倒换性能变差,影响紧急情况下的高可用性能。 业务上线前,一定要对数据库进行性能压测,评估业务峰值场景下,对数据库的负载情况。 禁止同时执行大量并发事务,且长时间不提交。
基础命令规范 查询命令 写入/更新命令 删除命令 父主题: 数据库使用规范
前面。 单个实例中,数据库的总的个数不要超过200个,总的集合个数不要超过500个。集合数量过多会导致内存压力变高,并且集合数量多会导致重启以及主备倒换性能变差,影响紧急情况下的高可用性能。 业务上线前,一定要对数据库进行性能压测,评估业务峰值场景下,对数据库的负载情况。 禁止同时执行大量并发事务,且长时间不提交。
文档数据库服务与自建数据库的对比优势 与自建数据库相比,文档数据库服务DDS具有高可用、高可靠、高安全、低成本等优势。 表1 对比优势 对比项 文档数据库服务 自建数据库 服务可用性 99.95% 自行保障,自行搭建主从复制,部署高可用环境等。 数据持久性 99.99999999%
您可以通过编写代码调用API来访问文档数据库服务,具体操作请参见《文档数据库服务API参考》。 兼容的引擎和版本 文档数据库服务兼容的引擎和版本,请参见引擎和版本。 部署建议 建议从以下维度考虑如何创建并使用文档数据库服务。 区域和可用区:区域和可用区决定了文档数据库实例所在的物理位置,文档数据库实例创建成
创建数据库角色 接口说明 给指定实例创建数据库角色。 约束说明 该接口只支持DDS社区版。 实例在创建、规格变更、修改端口、冻结、重启等过程中以及状态为非“normal”时,不允许执行该操作。 调试 您可以在API Explorer中调试该接口。 URI URI格式 POST h
数据库版本 DDS是否支持版本升级
访问数据库 假设客户端应用程序已经完成数据库连接,并初始化好一个 MongoClient client. 访问DataBase 当已经有一个初始化好的MongoClient实例后,通过如下方式来访问一个database,示例如下: db=client.test_database 或者采用如下方式指定:
创建分片集合 在DDS集群架构中,可以创建分片来充分利用数据库性能。创建分片的规范及建议请参见分片设计规范。 使数据库可分片。 sh.enableSharding("info") 创建分片表,并指定分片键。如下为info数据库的fruit集合分片,且分片键是"id"。 sh.shardCollection("info
P通过弹性云服务器连接文档数据库实例。 文档数据库服务和弹性云服务器在不同的安全组默认不能访问,需要在文档数据库服务所属安全组添加一条“入”的访问规则。 文档数据库服务默认端口:8635,需要手动修改才能访问其它端口。 安全性高,可实现DDS的较好性能。 通过内网连接集群实例 通过内网连接副本集实例
通过命令创建数据库账户 创建文档数据库实例时,系统会同步创建默认账户rwuser。您可以根据业务需要,通过默认账户rwuser创建其他数据库账户,之后您可以使用默认账户rwuser或已创建的其他账户对数据库中的数据如库、表、索引等进行操作。 使用须知 为目标实例创建数据库账户时,建议您开启SSL通道,提高数据的安全性。
连接数据库 前提条件 连接数据库的弹性云服务器必须和DDS实例之间网络互通,可以使用curl命令连接DDS实例服务端的IP和端口号,测试网络连通性。 curl ip:port 返回“It looks like you are trying to access MongoDB over
文档数据库服务与其他云服务的关系 文档数据库服务与其他服务之间的关系,具体如下图所示。 图1 文档数据库服务与其他服务之间的关系 表1 与其他服务的关系 相关服务 交互功能 弹性云服务器(ECS) 弹性云服务器为文档数据库服务提供可弹性申请的计算资源,为数据库实例提供运行环境。 虚拟私有云(VPC)
insert/update命令中涉及的文档,最大不能超过16MB。 使用写入/更新命令修改业务数据会造成业务数据变更。 父主题: 基础命令规范
会产生内存堆积。 根据查询条件创建必要的索引,索引设计请参见索引设计规范。 避免COLLSCAN全表扫描。 查询条件和索引字段匹配有顺序性。 对于集群实例,根据业务对表进行合理地分片,分片设计请参见分片设计规范。 对于分片表,查询条件要基于shardKey进行,避免出现scatt
Only机制。只有当存储引擎内部数据状态满足一定条件后,会触发内部的compaction操作,进行数据压缩,进而释放磁盘空间。 如果整个数据库不需要了,可以执行dropDatabase命令进行删除而不是逻辑删除,这样快速释放磁盘空间。 删除操作会涉及到备节点同步,可以指定writ