云服务器内容精选
-
操作步骤 进入快速购买文档数据库DDS页面。 在“购买数据库实例”页面,选择计费模式,填写并选择实例相关信息后,单击“立即购买”。 图1 基础配置 表1 基础配置 参数 描述 计费模式 选择“包年/包月”或“按需计费”。 包年/包月 用户选购完服务配置后,可以根据需要设置购买时长,系统会一次性按照购买价格对账户余额进行扣费。 创建成功后,如果包周期实例到期后不再长期使用资源,可将“包年/包月”实例转为“按需计费”,到期后将转为按需计费实例。具体请参见包年/包月转按需。 说明: “包年/包月”方式购买的实例不能直接删除,仅支持资源退订操作,如何退订资源请参见退订包周期实例。 按需计费 用户选购完服务配置后,无需设置购买时长,系统会根据消费时长对账户余额进行扣费。 创建成功后,如果需要长期使用资源,可将“按需计费”实例转为“包年/包月”,继续使用这些资源的同时,享受包周期的低资费。具体请参见按需计费实例转包周期。 区域 资源所在的区域。 说明: 不同区域的内网不互通,且购买后不能更换,请谨慎选择。 项目 当前区域对应的项目,可进行切换。 可用区 指在同一区域下,电力、网络隔离的物理区域,可用区内部网络互通,不同可用区之间物理隔离。 目前支持将实例部署在单可用区或3可用区。 如果业务要求实例之间的网络延时较低,则建议您选择单可用区,将实例的组件部署在同一个可用区内。实例选择单可用区部署时,会默认配置为反亲和部署。反亲和部署是出于高可用性考虑,将您的Primary、Secondary和Hidden节点分别创建在不同的物理机上。 如果业务需要较高的容灾能力,建议您选择3可用区。此时实例下的主节点、备节点和隐藏节点分别部署在3个可用区内。 说明: 目前3可用区的功能只针对部分区域开放,如果您在当前区域的管理控制台上没有看到3可用区,请切换至其他支持3可用区的区域进行购买。 实例类型 选择“副本集”。 副本集实例由主节点、备节点和隐藏节点组成。当主节点故障时,系统自动分配新的主节点;当备节点不可用时,隐藏节点接管服务,保证高可用。 兼容MongoDB版本 5.0 4.4 4.2 4.0 3.4 CPU类型 当前文档数据库实例的CPU架构支持x86和鲲鹏两种类型。 说明: MongoDB4.0、3.4版本可选,其他版本无需选择,默认X86。 x86 x86类型的CPU架构采用复杂指令集(CISC),CISC指令集的每个小指令可以执行一些较低阶的硬件操作,指令数目多而且复杂,每条指令的长度并不相同。由于指令执行较为复杂所以每条指令花费的时间较长。 鲲鹏 鲲鹏类型的CPU架构采用RISC精简指令集(RISC),RISC是一种执行较少类型计算机指令的微处理器,它能够以更快的速度执行操作,使计算机的结构更加简单合理地提高运行速度,相对于X86类型的CPU架构具有更加均衡的性能功耗比。 鲲鹏类型CPU架构的优势是高密度低功耗,可以提供更高的性价比,满足重载业务场景使用。 规格类型 x86 CPU架构下,针对不同的应用场景,可以选择不同的规格类型。 通用型(s6)。通用型的规格实例,适合平时不会持续高压力使用CPU,但偶尔需要提高计算性能完成工作负载的场景,包括但不限于:轻量级的Web服务器、开发、测试环境以及中低性能数据库等。 增强Ⅱ型(c6)。多项技术优化,计算性能强劲稳定,配套25GE(千兆以太网)智能高速网卡,提供超高网络带宽和PPS收发包能力。是高负载场景首选,对于计算与网络有更高性能要求的网站和Web应用、通用数据库及缓存服务器,中重载企业应用等更加适用。 推荐配置 目前支持中轻量级数据库规格及自定义规格。 说明: 存储空间最小10GB,最大5000GB。 图2 网络设置和购买时长与数量 表2 网络设置 参数 描述 虚拟私有云 文档数据库实例所在的 虚拟专用网络 ,可对不同业务进行网络隔离,方便地管理、配置内部网络,进行安全、快捷的网络变更。 您需要创建或选择所需的虚拟私有云。如何创建虚拟私有云,请参见《虚拟私有云用户指南》中的创建虚拟私有云和子网。所需虚拟私有云的使用限制请参见实例连接方式介绍。 如果不创建或没有可选的虚拟私有云,文档数据库服务默认为您分配资源。 说明: 实例创建完成后不支持切换虚拟私有云,请谨慎选择所属虚拟私有云。 企业项目 该参数针对企业用户使用,如需使用该功能,请联系客服申请开通。 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。 请在下拉框中选择所在的企业项目,其中,default为默认项目。更多企业项目相关的信息,请参见《企业管理用户指南》的项目管理。 如果需要自定义企业项目,请在控制台右上角单击“企业”,进入“企业项目”页面创建,具体请参见《企业管理用户指南》中“创建企业项目”的内容。 表3 购买时长与数量 参数 描述 购买时长 选择所需的时长,系统会自动计算对应的配置费用。 自动续费 默认不勾选,不进行自动续费。 勾选后实例自动续费,自动续费周期与原订单周期一致。 购买数量 购买数量与副本集实例配额有关,所需购买数量超出实例配额时,可根据界面提示申请扩大配额。批量购买的“包年/包月”实例,除实例名称和实例ID外,其余配置信息一致。 在“规格确认”页面,核对实例信息。 包年/包月 如果需要修改,单击“上一步”,修改实例信息。 核对无误后,单击“去支付”,进入“付款”页面,选择支付方式,完成支付。 按需计费 如果需要修改,单击“上一步”,修改实例信息。 核对无误后,单击“提交”,开始创建实例。 单击“返回实例列表”。实例创建成功后,用户可以在“实例管理”页面,查看并管理自己的数据库实例。 创建实例过程中,实例运行状态显示为“创建中”,此过程约15分钟。创建完成的实例的运行状态显示为“正常”。 创建实例时,默认开启自动备份策略,后期可修改。创建成功后,文档数据库服务会自动创建一个全量备份。
-
使用须知 账户余额大于等于0元,才可恢复到新实例。 使用该功能需要具有相应的操作权限,您可联系客服人员进行申请。 目前4.0及以上版本的集群实例支持恢复到指定受限时间点。 开启自动备份策略和增量备份策略后,才允许恢复到指定受限时间点。 目前支持恢复到新实例和当前实例。 为了数据的安全性,增备恢复到指定时间点屏蔽了dropDatabase的操作。因此恢复后可能会存在残留空的库或view,用户可自行删除。 受限场景:rename操作,collmod操作,创建用户,删除用户,创建角色,删除角色,打开集群Shard ip,修改集群Shard ip密码,打开集群Config ip,修改集群Config ip密码,修改rwuser账号密码。当发生受限场景时,增备会停止,待下一次自动全备后,增备重启继续。 当全备和增备的时间窗发生重叠时,会优先保证全备任务的完成,因此对增备流程进行限制,使得小部分的恢复时间段不在可恢复时间窗中。 当oplog增量大于250GB/h的流量时,增量备份速度可能会无法跟上oplog操作日志产生速度,概率出现部分恢复时间点不可选的问题。
-
使用限制 库表恢复与CPU及内存规格相关,恢复单表内数据到指定时间点,最大支持单条数据大小见表1。 库表级恢复失败时,可通过扩容规格或分批次进行库表时间点恢复。 表1 规格信息 CPU类型 规格类型 vCPU(个) 内存(GB) 单集合恢复最大支持单条数据大小 x86 通用型 2 4 400KB 2 8 800KB 4 8 1MB 4 16 1.3MB 8 16 1.3MB 8 32 2MB 增强Ⅱ型 1 8 400KB 2 8 800KB 2 16 800KB 4 16 1.3MB 4 32 1.3MB 8 32 2MB 8 64 3MB 16 64 4MB 16 128 7MB 32 128 7MB 32 256 10MB 64 256 10MB 64 512 16MB 鲲鹏 - 2 4 400KB - 2 8 800KB - 4 8 1MB - 4 16 1.3MB - 8 16 1.3MB - 8 32 2MB - 16 32 2MB - 16 64 4MB
-
部署架构对比 单可用区 实例选择单可用区部署时,实例下的所有组件均部署在相同的可用区内。单可用区部署会默认配置为反亲和部署。反亲和部署是出于高可用性考虑,将Primary、Secondary和Hidden节点分别创建在不同的物理机上。 多可用区 实例选择多可用区部署时,实例下的组件分别部署在三个不同的可用区内,可实现跨可用区容灾部署能力。 dds mongos节点最少为两个,分别部署在两个可用区中,当增加第三个dds mongos节点时,默认部署在第三个可用区。 每个Shard节点中的Primary节点、Secondary节点与Hidden节点随机均衡的部署在三个可用区中。 图1 多可用区部署
-
实例连接方式介绍 文档数据库服务提供使用内网和公网的连接方式。 表1 连接方式 连接方式 IP地址 使用场景 说明 DAS连接 无需使用IP地址 通过数据管理服务管理数据,具备友好的图形化界面,直接在控制台上进行可视化操作。可获得执行SQL、高级数据库管理、智能化运维等功能,做到易用、安全、智能地管理数据库。 文档数据库服务默认开通了DAS连接权限。 易用、安全、高级、智能。 推荐使用DAS连接。 内网连接 内网IP地址 系统默认提供内网IP地址。 当应用部署在弹性云服务器上,且该弹性云服务器与文档数据库实例处于同一区域,同一VPC时,建议使用内网IP地址连接文档数据库实例。 安全性高,可实现DDS的较好性能。 为了获得更快的传输速率和更高的安全性,建议您将应用迁移到与您的DDS实例在同一虚拟私有云子网内,使用内网连接。 公网连接 弹性公网IP 当应用部署在弹性云服务器上,且该弹性云服务器与文档数据库实例处于不同区域时,建议使用弹性公网IP连接文档数据库实例。 如果您使用华为云以外的设备(例如本地设备、其他云厂商服务器等)连接文档数据库实例,您可以使用弹性公网IP连接文档数据库实例。 降低安全性。 公网连接需要购买弹性公网IP,请参见弹性公网IP计费说明。 父主题: 连接集群实例
-
相关常见问题 如果使用DAS登录DDS实例时,出现如下报错信息,请参考DAS连接DDS常见问题进行处理。 Command failed with error 18 (AuthenticationFailed): 'Authentication failed.' on server xxx.xxx.xx.xx:xxxx. The full response is { 'ok' : 0.0, 'errmsg' : "Authentication failed.", "code" : 18, "codeName" : "AuthenticationFailed" } 图1 登录失败 在实例列表的操作列单击“登录”时,无法跳转至DAS页面怎么办? 解决方法:请将您的浏览器设置为允许弹出窗口,然后重试。
-
策略语法 给用户组选择策略时,单击策略下方的,可以查看策略的详细内容,以“DDS Administrator”为例,说明RBAC策略的语法。 图2 DDS Administrator策略 { "Version": "1.0", "Statement": [ { "Effect": "Allow", "Action": [ "DDS:DDS:*" ], "Resource": [ "DDS:*:*:instanceName:dds-*" ], } ], "Depends": [ { "catalog": "BASE", "display_name": "Server Administrator" }, { "catalog": "BASE", "display_name": "Tenant Guest" } ]} 表1 参数说明 参数 含义 值 Version 策略的版本 固定为“1.0”。 Statement Action 定义对DDS的具体操作。 格式为:服务名:资源类型:操作 "DDS:DDS:*",表示对DDS的所有操作,其中DDS为服务名称;“*”为通配符,表示对DDS资源可以执行所有操作。 Effect 定义Action中所包含的具体操作是否允许执行。 Allow:允许执行。 Deny:不允许执行。 Resource 定义资源粒度的鉴权 非必传,“DDS:*:*:instanceName:dds-*”表示对所有dds-开头的实例拥有配置的action权限,如果没有配置,那么默认拥有所有实例的权限 Depends catalog 依赖的策略的所属服务。 服务名称 例如:BASE display_name 依赖的策略的名称。 权限名称 例如:Server Administrator
-
注意事项 跨区域备份仅支持部分区域,详情请参见下表。 表1 支持的备份区域 备份源区域 支持备份的目标区域 北京四 上海一、上海二、广州、贵阳一 上海一 乌兰察布一、北京四、广州、上海二、北京一 上海二 上海一、北京四、北京一、广州、乌兰察布一 深圳 上海一、广州、上海二、北京四 广州 上海一、上海二、北京一、北京四、乌兰察布一、贵阳一 北京一 上海一、北京四 东莞二零一 贵阳二零一 贵阳二零一 东莞二零一 香港 新加坡 新加坡 约翰内斯堡 约翰内斯堡 新加坡
-
前提条件 连接数据库的弹性云服务器必须和DDS实例之间网络互通,可以使用curl命令连接DDS实例服务端的IP和端口号,测试网络连通性。 curl ip:port 返回“It looks like you are trying to access MongoDB over HTTP on the native driver port.”,说明网络互通。 如果开启SSL,需要在界面上下载根证书,并上传到弹性云服务器。
-
使用须知 以下情况不可重置密码: 租户被冻结 创建中 重启中 节点扩容中 切换SSL中 修改端口号中 规格变更中 删除节点中 内核版本升级中 主备切换中 可用区迁移中 只读节点扩容中 开启操作保护的用户,在进行敏感操作时,通过进行二次认证再次确认您的身份,进一步提高账号安全性,有效保护您安全使用云产品。关于如何开启操作保护,具体请参考《 统一身份认证 服务用户指南》中敏感操作的内容。 修改密码可能会导致业务断连。
-
迁移方案概览 DDS提供了多种数据迁移方案,可满足不同业务场景下的MongoDB数据库迁移。 表1 迁移方案 迁移场景 支持的迁移类型 文档链接 使用导出导入工具迁移数据 全量迁移 通过mongoexport和mongoimport工具迁移数据 通过mongodump和mongorestore工具迁移数据 其他云数据库MongoDB迁移至华为云DDS 全量+增量迁移 其他云数据库 MongoDB迁移至华为云DDS 本地自建MongoDB数据库迁移至华为云DDS 全量+增量迁移 本地自建MongoDB数据库迁移至华为云DDS E CS 自建MongoDB数据库迁移至华为云DDS 全量+增量迁移 ECS自建MongoDB数据库迁移至华为云DDS 华为云DDS迁移至用户端MongoDB数据库 全量+增量迁移 华为云DDS迁移至用户端MongoDB数据库 父主题: 数据迁移
-
数据库连接 使用DDS时,可能会遇到因为Mongod/dds mongos的连接数满了,导致客户端无法连接的问题。在Mongod/dds mongos的服务端,收到一个新的连接由一个单独的线程来处理,每个线程配置了1MB的栈空间,当网络连接数太多时,过多的线程会导致上下文切换开销变大,同时内存开销也会上涨。 客户端连接数据库的时候,要计算业务一共有多少个客户端,每个客户端配置的连接池大小是多少,总的连接数不要超过当前实例能承受的最大连接数的80%。 客户端与数据库的连接应尽量保持相对稳定的状态,每秒新增连接数建议保持在10以下。 建议客户端的连接超时时间至少设置为最大业务执行时长的3倍。 对于副本集实例,客户端需要同时配置主备节点的IP地址;对于集群实例,至少配置两个dds mongos的IP地址。 DDS默认提供rwuser用户,使用rwuser用户登录时认证库必须是admin。
-
前提条件 连接数据库的弹性云服务器必须和DDS实例之间网络互通,可以使用curl命令连接DDS实例服务端的IP和端口号,测试网络连通性。 curl ip:port 返回“It looks like you are trying to access MongoDB over HTTP on the native driver port.”,说明网络互通。 如果开启SSL,需要在界面上下载根证书,并上传到弹性云服务器。
-
性能相关 规范 业务程序禁止执行全表扫描的查询。 执行查询时,只选择需要返回的字段,不需要的字段不要返回。从而减少网络和进程处理的负载,修改数据时,只修改变化需要修改的字段,不要整个对象直接存储全部修改。 避免使用$not。DDS并不会对缺失的数据进行索引,因此$not的查询条件将会要求在一个结果集中扫描所有记录。如果$not是唯一的查询条件,会对集合执行全表扫描。 用$and时把匹配最少结果的条件放在最前面,用$or时把匹配最多结果的条件放在最前面。 单个实例中,数据库的总的个数不要超过200个,总的集合个数不要超过500个。集合数量过多会导致内存压力变高,并且集合数量多会导致重启以及主备倒换性能变差,影响紧急情况下的高可用性能。 业务上线前,一定要对数据库进行性能压测,评估业务峰值场景下,对数据库的负载情况。 禁止同时执行大量并发事务,且长时间不提交。 业务正式上线前, 所有的查询类别,都应该先执行查询计划检查查询性能。 建议 每个连接在后台都是由一个单独线程处理,每个线程会分配1MB的栈内存。所以连接数不宜过多,否则会占用过多的内存。 使用连接池,避免频繁的建立连接和断开连接,否则会导致CPU过高。 减少磁盘读写:避免使用不必要的upsert命令,避免查询不必要的数据。 优化数据分布:对数据进行分片,同时分散热点数据,均衡地使用实例资源。如何进行数据分片,请参见设置数据分片。 减少锁冲突:避免对同一个Key过于频繁地操作。 减少锁等待:避免前台创建索引。 注意 开发过程中对集合的每一个操作都要通过执行explain()检查其执行计划,如: db.T_DeviceData.find({"deviceId":"ae4b5769-896f"}).explain(); db.T_DeviceData.find({"deviceId":"77557c2-31b4"}).explain("executionStats"); 对于查询而言,因为覆盖查询不需要读取文档,而是直接从索引中返回结果,这样的查询性能好,所以尽可能使用索引覆盖查询。如果explain()的输出显示indexOnly字段为真,则说明这个查询就被一个索引覆盖。 执行计划解析: 看执行时间:executionStats.executionStages.executionTimeMillisEstimate和executionStats.executionStages.inputStage. executionTimeMillisEstimate时间越短越好。 executionStats.executionTimeMillis表示执行计划选择和执行的所有时间。 executionStats.executionStages.executionTimeMillisEstimate表示执行计划的执行完成时间。 executionStats.executionStages.inputStage. executionTimeMillisEstimate表示执行计划下的子阶段执行完成时间。 看扫描条数:三个条目数相同为最佳。 executionStats. nReturned表示匹配查询条件的文档数。 executionStats .totalKeysExamined表示索引扫描条目数。 executionStats .totalDocsExamined表示文档扫描条目数。 看Stage状态,性能较好的Stage状态组合如下。 Fetch+IDHACK Fetch+ixscan Limit+(Fetch+ixscan) PROJECTION+ixscan 表1 状态说明 状态名称 描述 COLLSCAN 全表扫描 SORT 内存中进行排序 IDHACK 根据_id进行查询 TEXT 全文索引 COUNTSCAN 未用索引计数 FETCH 索引扫描 LIMIT 使用Limit限制返回数 SUBPLA 未用索引的$or查询阶段 PROJECTION 限定返回字段时stage的返回 COUNT_SCAN 使用索引计数
-
连接代码 SSL开启 import sslfrom pymongo import MongoClientconn_urls="mongodb://rwuser:rwuserpassword@ip:port/{mydb}?authSource=admin"connection = MongoClient(conn_urls,connectTimeoutMS=5000,ssl=True, ssl_cert_reqs=ssl.CERT_REQUIRED,ssl_match_hostname=False,ssl_ca_certs=${path to certificate authority file})dbs = connection.database_names()print "connect database success! database names is %s" % dbs SSL关闭 import sslfrom pymongo import MongoClientconn_urls="mongodb://rwuser:rwuserpassword@ip:port/{mydb}?authSource=admin"connection = MongoClient(conn_urls,connectTimeoutMS=5000)dbs = connection.database_names()print "connect database success! database names is %s" % dbs
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格