华为云用户手册

  • 适用计费项 包年包月包含以下计费项。 表1 适用计费项 计费项 说明 实例规格 对所选的实例规格进行计费,包括vCPU和内存。 存储空间 对数据库存储空间进行计费,包年包月计费方式的存储空间如果超过当前容量,超出的部分将按需计费。 备份空间 GeminiDB Mongo提供了部分免费存储空间,用于存放您的备份数据,其总容量为您购买存储容量的100%。 备份存储用量超过购买存储容量的100%,超出部分将按照备份计费标准收费,计费方式为按需计费(每小时扣费一次),不足一小时按照实际使用时长收费。 公网带宽(可选) GeminiDB Mongo实例支持公网访问,公网访问会产生带宽流量费;GeminiDB Mongo数据库实例在云内部网络产生的流量不计费。 假设您计划购买一个规格为4vCPUs 16GB,3个节点,存储空间容量为12GB的GeminiDB Mongo实例。在购买数据库实例页面底部,您将看到所需费用的明细(不包含备份空间费用),如图1所示。 图1 配置费用 配置费用将包括以下部分: 数据库实例:根据所选实例规格计算的费用。 数据库存储:对数据库存储空间进行计费。 备份空间费用,使用后按照统一标准计费,购买时不包含在配置费用中,可通过云数据库 GeminiDB价格详情查看。
  • 使用须知 默认情况下,一个租户可以创建500条安全组规则。 为一个安全组设置过多的安全组规则会增加首包延时,因此,建议一个安全组内的安全组规则不超过50条。 目前一个GeminiDB Mongo实例仅允许绑定一个安全组。 内网和公网连接实例时,需要配置的安全组规则请参见表1。 表1 安全组规则说明 场景 配置的安全组规则说明 内网连接实例 使用内网连接GeminiDB Mongo实例时,设置安全组规则分为以下两种情况: E CS 与GeminiDB Mongo实例在相同安全组时,默认ECS与GeminiDB Mongo实例互通,无需设置安全组规则。 ECS与GeminiDB Mongo实例在不同安全组时,需要为GeminiDB Mongo和ECS分别设置安全组规则。 设置GeminiDB Mongo安全组规则:为GeminiDB Mongo所在安全组配置相应的入方向规则,具体操作请参见操作步骤。 设置ECS安全组规则:安全组默认规则为出方向上数据报文全部放行,此时,无需对ECS配置安全组规则。当在ECS所在安全组为非默认安全组且出方向规则非全放通时,需要为ECS所在安全组配置相应的出方向规则。具体操作请参见《弹性云服务器用户指南》中“设置安全组规则”章节。 公网连接实例 使用公网连接GeminiDB Mongo实例时,需要为GeminiDB Mongo所在安全组配置相应的入方向规则。具体操作请参见操作步骤。
  • 计费示例 假设您在2023/04/18 9:59:30购买了一个按需计费实例(规格:4vCPUs 16GB,节点数量:3,存储容量:100GB,备份存储:110GB(赠送100GB,后续收费空间10GB)),计费资源包括计算资源(vCPU和节点数量)和存储容量,然后在2023/04/18 10:45:46将其删除,则: 第一个计费周期为9:00:00 ~ 10:00:00,在9:59:30 ~ 10:00:00间产生费用,该计费周期内的计费时长为30秒。 第二个计费周期为10:00:00 ~ 11:00:00,在10:00:00 ~ 10:45:46间产生费用,该计费周期内的计费时长为2746秒。 10:00:00 ~ 10:45:00期间,使用免费备份空间。 10:45:00 ~ 10:45:46期间,使用计费备份空间10GB,计费时长46秒。 您需要为每个计费周期付费,各项GeminiDB Mongo实例单独计费,计费公式如表2所示。产品价格详情中标出了实例的每小时价格,您需要将每小时价格除以3600,得到每秒价格。 表2 计费公式 资源类型 计费公式 资源单价 计算资源(vCPU和节点数量) 实例规格单价 * 计费时长 请参见云数据库 GeminiDB价格详情中的“集群-规格费用”。 存储容量 存储容量单价 * 购买时长 请参见云数据库 GeminiDB价格详情中的“集群磁盘空间计费信息”。 备份空间 备份空间单价 * 计费时长 * ( 备份容量 - 存储空间)(GB) 说明: 计费时长:备份超过免费空间大小的使用时长。 请参见云数据库 GeminiDB价格详情中的“备份空间计费信息。 公网流量 按固定带宽值采用阶梯计费 0Mbit/s~5Mbit/s(含):均为一个统一的单价 大于5Mbit/s:按每Mbit/s计费 请参见弹性 云服务器价格 详情中的“带宽价格”,或者弹性公网IP价格详情。 图2给出了上述示例配置的费用计算过程。 图中价格仅供参考,实际计算请以云数据库 GeminiDB价格详情中的价格为准。 在按需付费模式下,价格计算器上的金额如果遇小数点,则保留小数点后两位,第三位四舍五入。如遇四舍五入后不足¥0.01,则按¥0.01展示。 图2 按需计费GeminiDB Mongo费用计算示例
  • 变更配置后对计费的影响 如果您在购买按需计费实例后变更了实例配置,会产生一个新订单并开始按新配置的价格计费,旧订单自动失效。 如果您在一个小时内变更了实例配置,将会产生多条计费信息。每条计费信息的开始时间和结束时间对应不同配置在该小时内的生效时间。 例如,您在9:00:00购买了一台按需计费实例,实例规格为 4vCPUs 16GB,并在9:30:00升配为 8vCPUs 32GB,那么在9:00:00 ~ 10:00:00间会产生两条计费信息。 第一条对应9:00:00 ~ 9:30:00,实例规格按照 4vCPUs 16GB计费。 第二条对应9:30:00 ~ 10:00:00,实例规格按照 8vCPUs 32GB计费。
  • 适用计费项 按需计费包含以下计费项。 表1 适用计费项 计费项 说明 实例规格 对所选的实例规格进行计费,包括vCPU和内存。 存储空间 对数据库存储空间进行计费,按需计费的存储空间费用按照实际使用量每小时计费。 备份空间 GeminiDB Mongo提供了部分免费存储空间,用于存放您的备份数据,其总容量为您购买存储容量的100%。 备份存储用量超过购买存储容量的100%,超出部分将按照备份计费标准收费,计费方式为按需计费(每小时扣费一次),不足一小时按照实际使用时长收费。 公网带宽(可选) GeminiDB Mongo实例支持公网访问,公网访问会产生带宽流量费;GeminiDB Mongo数据库实例在云内部网络产生的流量不计费。 假设您计划购买一个规格为4vCPUs 16GB,3个节点,存储空间容量为100GB的GeminiDB Mongo实例。在购买数据库实例页面底部,您将看到所需费用的明细(不包含备份空间费用),如图1所示。 图1 配置费用 配置费用将包括以下部分: 云数据库虚拟机:根据所选配置(包括vCPU和内存)计算的费用。 云数据库存储空间:根据所选存储空间计算的费用。 备份空间费用,使用后按照统一标准计费,购买时不包含在配置费用中,可通过云数据库 GeminiDB价格详情查看。
  • 计费周期 按需计费GeminiDB Mongo实例按秒计费,每一个小时整点结算一次费用(以GMT+8时间为准),结算完毕后进入新的计费周期。计费的起点以GeminiDB Mongo实例创建成功的时间点为准,终点以实例删除时间为准。 实例从创建到启动需要一定时长,计费的起点是创建成功的时间点,而非开始创建的时间。您可以在实例详情页“基本信息”页签查看这个时间,创建成功的时间点对应界面上的“创建时间”。 例如,您在8:45:30购买了一个按需计费的GeminiDB Mongo实例,相关资源包括计算资源(vCPU和节点数量)、存储容量和备份存储,然后在8:55:00将其删除,则计费周期为8:00:00 ~ 9:00:00,在8:45:30 ~ 8:55:30间产生费用,该计费周期内的计费时长为600秒。
  • 备份方案 GeminiDB Mongo实例支持自动备份和手动备份两种方案。 自动备份 您可以在管理控制台设置自动备份策略,系统将会按照自动备份策略中设置的备份时间段和备份周期进行自动备份,并且会按照设置的备份保留天数对备份文件进行存放。 自动备份的备份文件不支持手动删除,可通过修改自动备份策略调整备份保留天数,超出备份保留天数的已有备份文件会被自动删除。 手动备份 手动备份是由用户根据自身业务特点随时启动的数据库实例的全量备份,会一直保存,直到用户手动删除。 建议您定期对数据库进行备份,当数据库故障或数据损坏时,可以通过备份恢复数据库,从而保证数据可靠性。 表1 备份方案 备份方案 使用场景 自动备份 系统按照自动备份策略,对数据库进行自动备份,您可以根据业务需求修改自动备份策略。 手动备份 根据自身业务特点手动启动数据库实例的全量备份。
  • 备份存储 GeminiDB Mongo的备份数据存储至 对象存储服务 (Object Storage Service,简称OBS),在提高数据容灾能力的同时有效降低磁盘空间占用。 购买实例存储空间后,GeminiDB Mongo将同比例赠送备份存储空间,用于存储备份数据。例如,您购买的实例存储空间为100GB时,会得到赠送的100GB备份存储空间。当备份数据没有超出100GB,将免费存储在OBS上;当备份数据超出100GB,超出部分将根据OBS的计费规则收费,详情请参见OBS计费详情。
  • 备份原理 GeminiDB Mongo目前仅支持副本集实例,其备份原理如下。 GeminiDB Mongo副本集实例由主节点和备节点组成。如图1所示,GeminiDB Mongo副本集实例的备份是在节点ID字典序最小的备节点上进行的。备份过程中会占用备份节点一定的CPU内存资源,因此会存在CPU使用率、内存使用率指标上涨的情况,属于正常现象。但最终的备份文件将以压缩包的形式存储在对象存储服务(OBS)中,不会占用实例的磁盘空间。 图1 备份原理图
  • 快速了解GeminiDB Mongo 本章节主要帮助您快速掌握GeminiDB Mongo实例创建、连接的整体流程。 连接方式介绍 使用流程 通过内网和公网连接GeminiDB Mongo实例的使用流程介绍如图1所示。 图1 通过内网和公网连接实例 表1 连接方式 连接方式 使用场景 默认端口号 说明 内网连接 系统默认提供内网IP地址。 当应用部署在弹性云服务器上,且该弹性云服务器与数据库实例处于同一区域、同一VPC内时,建议使用内网IP通过弹性云服务器连接数据库实例。 8635 安全性高,可实现数据库实例的较好性能。 目标实例必须与弹性云服务器在同一个虚拟私有云和子网内才能访问。 该弹性云服务器必须处于目标实例所属安全组允许访问的范围内。 如果目标实例所属安全组为默认安全组, 则无需设置安全组规则。 如果目标实例所属安全组非默认安全组,请查看安全组规则是否允许该弹性云服务器访问。 如果安全组规则允许弹性云服务器访问,即可连接实例。 如果安全组规则不允许弹性云服务器访问,需要在实例安全组添加一条入方向的访问规则。具体操作请参考设置安全组规则。 公网连接 不能通过内网IP地址访问数据库实例时,使用公网访问,建议单独绑定弹性公网IP连接弹性云服务器(或公网主机)与数据库实例。 8635 降低安全性。 为了获得更快的传输速率和更高的安全性,建议您将应用迁移到与您的数据库实例在同一VPC子网内,使用内网连接。 用户需要购买弹性公网IP,请参见弹性公网IP计费说明。 Java连接 提供Java语言连接GeminiDB Mongo实例的示例。 8635 - Go连接 提供Go语言连接GeminiDB Mongo实例的示例。 8635 - Python连接 提供Python语言连接GeminiDB Mongo实例的示例。 8635 - 父主题: 快速入门
  • 使用须知 目前只有实例重启、规格变更和补丁升级支持可维护时间段。 已经选择可维护时间段的规格变更和补丁升级,不能再立即执行;实例重启可以立即执行。 您可以取消待执行的任务。 修改可维护时间段,不影响原有可维护时间段内定时任务的执行时间。 可维护时间段不要和备份的时间冲突,否则可能会导致定时任务失败。 在可维护时间段内,定时任务10分钟扫描一次,执行任务;临近可维护时间段结束时下发的任务,有可能扫描不到,取消执行。
  • 副本集实例规格 表1 GeminiDB Mongo副本集实例规格 规格名称 vCPU(个) 内存(GB) 最小存储空间(GB) 最大存储空间(GB) 缺省最大连接数配置 geminidb.mongodb.repset.large.4 2 8 100 600 400 geminidb.mongodb.repset.xlarge.4 4 16 100 1,200 1,000 geminidb.mongodb.repset.2xlarge.4 8 32 100 2,400 4,000 geminidb.mongodb.repset.4xlarge.4 16 64 100 4,800 8,000 geminidb.mongodb.repset.8xlarge.4 32 128 100 9,600 16,000 geminidb.mongodb.repset.xlarge.8 4 32 100 1,200 1,000 geminidb.mongodb.repset.2xlarge.8 8 64 100 2,400 4,000 geminidb.mongodb.repset.4xlarge.8 16 128 100 4,800 8,000 geminidb.mongodb.repset.8xlarge.8 32 256 100 9,600 16,000
  • 使用须知 目标实例必须与弹性云服务器在同一个虚拟私有云和子网内才能访问。 该弹性云服务器必须处于目标实例所属安全组允许访问的范围内。 如果目标实例所属安全组为默认安全组, 则无需设置安全组规则。 如果目标实例所属安全组非默认安全组,请查看安全组规则是否允许该弹性云服务器访问。 如果安全组规则允许弹性云服务器访问,即可连接实例。 如果安全组规则不允许弹性云服务器访问,需要在实例安全组添加一条入方向的访问规则。具体操作请参考设置安全组规则。
  • 操作系统更新 GeminiDB Mongo实例需要适时进行操作系统更新,以提高数据库性能和数据库的整体安全状况。 实例内核版本升级时,GeminiDB Mongo会根据操作系统的实际情况,决定是否更新以及更新适合的操作系统冷补丁版本。 操作系统更新不会更改数据库实例的版本或数据库实例信息。 此外,GeminiDB Mongo会在用户设置的运维时间段内,通过热补丁方式及时修复影响重大的操作系统漏洞。 父主题: 变更实例
  • 使用须知 mongoexport和mongoimport工具仅支持全量数据迁移。为保障数据一致性,迁移操作开始前请停止源数据库的相关业务,并停止数据写入。 建议您尽量选择在业务低峰期迁移数据,避免在迁移过程中对业务造成影响。 不支持迁移系统库admin和local。 确保源库中系统库admin和local没有创建业务集合,如果已经有业务集合,必须在迁移前将这些业务集合从admin和local库中迁移出来。 导入数据之前,确保源端有必要的索引,即在迁移前删除不需要的索引,创建好必要的索引。 如果选择迁移分片集群,必须在目标库创建好要分片的集合,并配置数据分片。同时,迁移前必须要创建好索引。
  • 前提条件 准备弹性云服务器或可访问GeminiDB Mongo 数据库的设备。 通过内网连接GeminiDB Mongo数据库实例,需要创建并登录弹性云服务器,请参见购买弹性云服务器和登录弹性云服务器。 通过公网地址连接GeminiDB Mongo数据库实例,需具备以下条件。 为实例中的节点绑定公网地址,如何绑定公网地址,请参见绑定弹性公网IP。 保证本地设备可以访问GeminiDB Mongo 数据库绑定的公网地址。 在已准备的弹性云服务器或可访问GeminiDB Mongo 数据库的设备上,安装数据迁移工具。 安装数据迁移工具,请参见如何安装MongoDB客户端。 MongoDB客户端会自带mongoexport和mongoimport工具。
  • 分析服务能力 经过前面数据库正在执行的请求和慢请求的分析和优化,所有的请求都使用了合理的索引,CPU的使用率相对趋于稳定。如果经过前面的分析排查,CPU使用率仍然居高不下,则可能是因为当前实例已达到性能瓶颈,不能满足业务需要,此时您可以通过如下方法解决。 通过查看监控信息分析实例资源的使用情况,详情请参见查看监控指标。 对GeminiDB Mongo进行规格变更或者添加分片数量。具体操作请根据当前的实例类型参考如下文档。 添加节点数据量。 变更实例的CPU和内存。
  • 分析GeminiDB Mongo数据库的慢请求 GeminiDB Mongo数据库服务默认开启了慢请求Profiling ,系统自动将请求时间超过500ms的执行情况记录到对应数据库下的“system.profile”集合中。 通过Mongo Shell连接GeminiDB Mongo实例。 执行以下命令,进入指定数据库,以“test”为例。 use test 查看是否生成慢sql集合“system.profile”。 show collections; 回显中有“system.profile”,说明产生了慢SQL,继续执行下一步。 回显中没有“system.profile”,说明未产生慢SQL,该数据库不涉及慢请求分析。 查看数据下的慢请求日志。 db.system.profile.find().pretty() 分析慢请求日志,查找CPU使用率升高的原因。 下面是某个慢请求日志示例,可查看到该请求进行了全表扫描,扫描了1561632个文档,没有通过索引进行查询。 { "op" : "query", "ns" : "taiyiDatabase.taiyiTables$10002e", "query" : { "find" : "taiyiTables", "filter" : { "filed19" : NumberLong("852605039766") }, "shardVersion" : [ Timestamp(1, 1048673), ObjectId("5da43185267ad9c374a72fd5") ], "chunkId" : "10002e" }, "keysExamined" : 0, "docsExamined" : 1561632, "cursorExhausted" : true, "numYield" : 12335, "locks" : { "Global" : { "acquireCount" : { "r" : NumberLong(24672) } }, "Database" : { "acquireCount" : { "r" : NumberLong(12336) } }, "Collection" : { "acquireCount" : { "r" : NumberLong(12336) } } }, "nreturned" : 0, "responseLength" : 157, "protocol" : "op_command", "millis" : 44480, "planSummary" : "COLLSCAN", "execStats" : { "stage" : "SHARDING_FILTER", [3/1955] "nReturned" : 0, "executionTimeMillisEstimate" : 43701, "works" : 1561634, "advanced" : 0, "needTime" : 1561633, "needYield" : 0, "saveState" : 12335, "restoreState" : 12335, "isEOF" : 1, "invalidates" : 0, "chunkSkips" : 0, "inputStage" : { "stage" : "COLLSCAN", "filter" : { "filed19" : { "$eq" : NumberLong("852605039766") } }, "nReturned" : 0, "executionTimeMillisEstimate" : 43590, "works" : 1561634, "advanced" : 0, "needTime" : 1561633, "needYield" : 0, "saveState" : 12335, "restoreState" : 12335, "isEOF" : 1, "invalidates" : 0, "direction" : "forward", "docsExamined" : 1561632 } }, "ts" : ISODate("2019-10-14T10:49:52.780Z"), "client" : "xxx.xxx.xxx.xxx", "appName" : "MongoDB Shell", "allUsers" : [ { "user" : "__system", "db" : "local" } ], "user" : "__system@local"} 在慢请求日志中,您需要重点关注以下关键字。 全集合(全表)扫描:COLLSCAN 当一个操作请求(如QUERY、UPDATE、DELETE)需要全表扫描时,将大量占用CPU资源。在查看慢请求日志时,发现COLLSCAN关键字,很可能是这些查询占用了CPU资源。 如果该类操作请求较为频繁,建议您对查询的字段建立索引进行优化。 全集合(全表)扫描:docsExamined 通过查看参数“docsExamined”的值,可以查看一个查询扫描了多少文档。该值越大,请求的CPU使用率越高。 不合理的索引:IXSCAN、keysExamined 索引不是越多越好,过多索引会影响写入和更新的性能。 如果您的应用偏向于写操作,建立索引可能会降低写操作的性能。 通过查看参数“keysExamined”的值,可以查看一个使用了索引的查询,扫描了多少条索引。该值越大,请求的CPU使用率越高。 如果索引建立不太合理,或者匹配的结果很多。该场景下,即便使用了索引,请求的CPU使用率也不会降低很多,执行的速度也会很慢。 示例:对于某个集合的数据,a字段的取值很少(只有1和2),而b字段的取值很多。 如下所示,要实现 {a: 1, b: 2} 这样的查询。 db.createIndex( {a: 1} ) 效果不好,因为a相同取值太多db.createIndex( {a: 1, b: 1} ) 效果不好,因为a相同取值太多db.createIndex( {b: 1 } ) 效果好,因为b相同取值很少db.createIndex( {b: 1, a: 1 }) 效果好,因为b相同取值少 关于{a: 1}与{b: 1, a: 1}的区别,可参考官方文档。 大量数据排序:SORT、hasSortStage 当查询请求中包含排序时,“system.profile”集合中的参数“hasSortStage”的值为“true”。如果排序无法通过索引实现,将在查询结果中进行排序。由于排序将占用大量CPU资源,该场景下,需要通过对经常排序的字段建立索引进行优化。 当您在“system.profile”集合中发现SORT关键字时,可以考虑通过索引来优化排序。 其他操作如建立索引、Aggregation(遍历、查询、更新、排序等动作的组合)也可能占用大量CPU资源,但本质上也适用以上几种场景。更多Profiling的设置,请参见官方文档。
  • 分析GeminiDB Mongo数据库正在执行的请求 通过Mongo Shell连接GeminiDB Mongo实例。 执行以下命令,查看数据库当前正在执行的操作。 db.currentOp() 回显如下: { "raw" : { "shard0001" : { "inprog" : [ { "desc" : "StatisticsCollector", "threadId" : "140323686905600", "active" : true, "opid" : 9037713, "op" : "none", "ns" : "", "query" : { }, "numYields" : 0, "locks" : { }, "waitingForLock" : false, "lockStats" : { } }, { "desc" : "conn2607", "threadId" : "140323415066368", "connectionId" : 2607, "client" : "xxx.xxx.xxx.xxx:xxx", "appName" : "MongoDB Shell", "active" : true, "opid" : 9039588, "secs_running" : 0, "microsecs_running" : NumberLong(63), "op" : "command", "ns" : "admin.", "query" : { "currentOp" : 1 }, "numYields" : 0, "locks" : { }, "waitingForLock" : false, "lockStats" : { } } ], "ok" : 1 }, ...} client:发起请求的客户端。 opid:操作的唯一标识符。 secs_running:该操作已经执行的时间,单位:秒。如果该字段返回的值特别大,需要查看请求是否合理。 microsecs_running:该操作已经执行的时间,单位:微秒。如果该字段返回的值特别大,需要查看请求是否合理。 op:操作类型。通常是query、insert、update、delete、command中的一种。 ns:操作目标集合。 其他参数详见db.currentOp()命令官方文档。 根据命令执行结果,分析是否有异常耗时的请求正在执行。 如果业务日常运行的CPU使用率不高,由于执行某一操作使得CPU使用率过高,导致业务运行缓慢,该场景下,您需要关注执行耗时久的请求。 如果发现异常请求,您可以找到该请求对应的opid,执行db.killOp(opid)命令终止该请求。
  • 计费示例 假设您在2023/03/08 15:50:04购买了一个包年/包月GeminiDB Mongo实例(规格:4 vCPUs 16GB,节点数量:3,存储空间:100GB,备份空间:110GB(赠送100GB,后续收费空间10GB)),计费资源包括实例规格(vCPU、内存、节点数量)、存储空间、备份空间、公网带宽。购买时长为一个月,并在到期前手动续费1个月,则: 第一个计费周期为:2023/03/08 15:50:04 ~ 2023/04/08 23:59:59 第二个计费周期为:2023/04/08 23:59:59 ~ 2023/05/08 23:59:59 2023/04/08 23:59:59~2023/05/01 23:59:59期间,使用免费备份空间50GB。 2023/05/01 23:59:59~2023/05/08 23:59:59期间,使用计费备份空间10GB,计费时长168小时。 图1给出了上述示例配置的费用计算过程。 图中价格仅为示例,实际计算请以云数据库 GeminiDB价格详情中的价格为准。 图1 包年/包月GeminiDB Mongo费用计算示例 按需计费模式下,各计费项的计费示例请参见计费示例。
  • 在费用中心续费 登录管理控制台。 单击“控制台”页面上方“费用与成本”,在下拉菜单中选择“续费管理”。 进入“续费管理”页面。 自定义查询条件。 可在“手动续费项”、“自动续费项”、“到期转按需项”、“到期不续费项”页签查询全部待续费资源,对资源进行手动续费的操作。 图3 续费管理 所有需手动续费的资源都可归置到“手动续费项”页签,具体操作请参见如何恢复为手动续费。 手动续费资源。 单个续费:在资源页面找到需要续费的资源,单击操作列的“续费”。 图4 单个续费 批量续费:在资源页面勾选需要续费的资源,单击列表左上角的“批量续费”。 图5 批量续费 选择续费时长,判断是否勾选“统一到期日”,将到期时间统一到各个月的某一天(详细介绍请参见统一包年/包月资源的到期日)。确认配置费用后单击“去支付”。 图6 续费确认 进入支付页面,选择支付方式,确认付款,支付订单后即可完成续费。
  • 计费说明 GeminiDB Mongo的计费项由实例规格费用、存储空间费用、备份空间费用和公网流量费用组成。具体内容如表1所示。 标 * 的计费项为必选计费项。 表1 GeminiDB Mongo实例计费项 计费项 计费项说明 适用的计费模式 计费公式 * 实例规格 计费因子:vCPU和内存,不同规格的实例类型提供不同的计算和存储能力。 包年/包月、按需计费 实例规格单价 * 购买时长 实例规格单价请参见云数据库 GeminiDB价格详情中的“集群-规格费用”。 * 存储空间 计费因子:存储空间,按统一标准进行计费。 包年/包月、按需计费 存储空间单价 * 存储容量 * 购买时长 请参见云数据库 GeminiDB价格详情中的“集群磁盘空间计费信息”。 备份空间 计费因子:备份空间,按统一标准进行计费。 按需计费 备份空间单价 * 备份收费容量 * 购买时长 请参见云数据库 GeminiDB价格详情中的“备份空间计费信息”。 说明: 计费时长:备份超过免费空间大小的使用时长。 公网流量 如有互联网访问需求,您需要购买弹性公网IP。 计费因子:带宽费、流量费和IP保有费。 包年/包月计费模式支持按带宽计费方式,收取带宽费。 按需计费模式支持按带宽计费、按流量计费和加入共享带宽三种计费方式,分别收取带宽费+IP保有费、流量费+IP保有费、带宽费+IP保有费。 包年/包月、按需计费 带宽费支持使用带宽加油包抵扣,流量费支持使用共享流量包抵扣。 按固定带宽值采用阶梯计费 0Mbit/s~5Mbit/s(含):均为一个统一的单价 大于5Mbit/s:按每Mbit/s计费 公网带宽单价请参见弹性云服务器价格详情中的“带宽价格”,或者弹性公网IP价格详情。
  • 数据库性能 业务禁止出现任何全表扫描的查询。 执行查询时,只选择需要返回的字段,不需要的字段不要返回。从而减少网络和进程处理的负载,修改数据时,只修改变化需要修改的字段,不要整个对象直接存储全部修改。 避免使用$not。GeminiDB Mongo并不会对缺失的数据进行索引,因此$not的查询条件将会要求在一个结果集中扫描所有记录。如果$not是唯一的查询条件,会对集合进行全表扫描。 用$and时把匹配最少结果的条件放在最前面,用$or时把匹配最多结果的条件放在最前面。 单个实例中,数据库的总的个数不要超过200个,总的集合个数不要超过500个。集合数量过多会导致内存压力变高,并且集合数量多会导致重启以及主备倒换性能变差,影响紧急情况下的高可用性能。 业务上线前,一定要对数据库进行性能压测,评估业务峰值场景下,对数据库的负载情况。 禁止同时执行大量并发事务,且长时间不提交。 业务正式上线前, 所有的查询类别,都应该先执行查询计划检查查询性能。 开发过程中,对集合的每一个操作都要通过执行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 使用索引计数 COUNT_SCAN 使用索引计数 父主题: 使用规范
  • 数据库连接 使用GeminiDB Mongo时,可能会遇到因为mongod连接数用满了,导致客户端无法连接的问题。mongod的服务模型是每个网络连接由一个单独的线程来处理,每个线程配置了1MB的栈空间,当网络连接数太多时,过多的线程会导致上下文切换开销变大,同时内存开销也会上涨。 客户端使用GeminiDB Mongo驱动连接数据库的时候,一定要配置连接池,连接池大小最大不要超过200。 客户端使用GeminiDB Mongo驱动连接数据库的时候,要计算业务一共有多少个客户端, 每个客户端配置的连接池大小是多少,总的连接数不要超过当前实例能承受的最大连接数的80%。 对于副本集,客户端需要同时配置主备节点的IP地址。 GeminiDB Mongo默认提供rwuser用户,使用rwuser登录时认证库必须是admin。 父主题: 使用规范
  • 使用GeminiDB Mongo时要注意什么 实例的操作系统,对用户都不可见,这意味着,只允许用户应用程序访问数据库对应的IP地址和端口。 对象存储服务(Object Storage Service,简称OBS)上的备份文件以及云数据库 GeminiDB使用的系统容器,都对用户不可见,它们只对GeminiDB Mongo后台管理系统可见。 申请数据库实例后,您还需要做什么。 申请实例后,您不需要进行数据库的基础运维(比如高可用、安全补丁等),但是您还需要重点关注以下事情: 数据库实例的CPU、IOPS、空间是否足够。 数据库实例是否存在性能问题,是否需要优化等。 父主题: 产品咨询
  • 数据库实例状态 数据库实例状态是数据库实例的运行情况。可以通过管理控制台查看数据库实例状态。 表1 实例状态 状态 说明 正常 数据库实例正常和可用。 异常 数据库实例不可用。 创建中 正在创建数据库实例。 创建失败 数据库实例创建失败。 重启中 正在重启数据库实例。 重置密码中 正在重置管理员密码。 存储扩容中 正在扩容实例的磁盘容量。 规格变更中 正在变更实例的CPU和内存规格。 备份上传中 正在上传备份文件。 备份中 正在创建数据库备份。 恢复检查中 该实例下的备份正在恢复到新实例。 SSL切换中 正在开启或关闭SSL安全连接。 转包周期中 实例的计费方式正在由“按需计费”转为“包年/包月”。 转按需中 实例的计费方式正在由“包年/包月”转为“按需计费”。 冻结 账户余额小于或等于0元,系统对该用户下的实例进行冻结。您需前往费用中心充值成功,欠款核销后,冻结的实例才会解冻。 解冻中 欠款核销后,正在解冻数据库实例。 包周期变更资源检查中 包周期实例在进行变更过程中所持续的状态。 父主题: 产品介绍
  • 在续费管理页面开通自动续费 登录管理控制台。 单击“控制台”页面上方“费用与成本”,在下拉菜单中选择“续费管理”,进入“续费管理”页面。 自定义查询条件。 可在“自动续费项”页签查询已经开通自动续费的资源。 可对“手动续费项”、“到期转按需项”、“到期不续费项”页签的资源开通自动续费。 图2 续费管理 为包年/包月资源开通自动续费。 单个资源开通自动续费:选择需要开通自动续费的实例,单击操作列“开通自动续费”。 图3 单个资源开通自动续费 批量资源开通自动续费:选择需要开通自动续费的实例,单击列表左上角的“开通自动续费”。 图4 多个资源开通自动续费 选择续费时长,并根据需要设置自动续费次数,单击“开通”。 图5 开通自动续费
  • 约束与限制 按需计费云数据库绑定的资源(弹性公网IP)可能不支持随实例同步变更计费模式,请参考表1查看绑定资源的计费规则及处理措施。 表1 弹性公网IP计费模式变更规则 资源 计费模式 计费方式 带宽类型 是否支持随GeminiDB Mongo按需转包年/包月 处理措施 弹性公网IP 按需计费 按带宽计费 独享带宽 是 在控制台的弹性公网IP页面进行按需转包年/包月操作。 详细内容,请参见变更弹性公网IP计费方式。 弹性公网IP 按需计费 按流量计费 独享带宽 否 按需、按流量计费EIP不支持直接转为包年/包月EIP。变更方法如下: 先转为按需、按带宽计费的EIP。 再由按需、按带宽计费EIP转为包年/包月EIP。 详细内容,请参见变更弹性公网IP计费方式。
  • 自定义策略样例 示例1:授权用户创建云数据库 GeminiDB实例 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "nosql:instance:create" ] } ]} 示例2:拒绝用户删除云数据库 GeminiDB数据库实例 拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先原则。 如果您给用户授予GeminiDB FullAccess的系统策略,但不希望用户拥有GeminiDB FullAccess中定义的删除云数据库 GeminiDB实例权限,您可以创建一条拒绝删除云数据库 GeminiDB实例的自定义策略,然后同时将GeminiDB FullAccess和拒绝策略授予用户,根据Deny优先原则,则用户可以对云数据库 GeminiDB执行除了删除云数据库 GeminiDB实例外的所有操作。拒绝策略示例如下: { "Version": "1.1", "Statement": [ { "Effect": "Deny" "Action": [ "nosql:instance:delete" ], } ]} 示例3:多个授权项策略 一个自定义策略中可以包含多个授权项,且除了可以包含本服务的授权项外,还可以包含其他服务的授权项,可以包含的其他服务必须跟本服务同属性,即都是项目级服务或都是全局级服务。多个授权语句策略描述如下: { "Version": "1.1", "Statement": [ { "Action": [ "nosql:instance:create", "nosql:instance:rename", "nosql:instance:delete", "vpc:publicIps:list", "vpc:publicIps:update" ], "Effect": "Allow" } ] }
  • 知识库资产文件入库状态 资产创建成功后,会自动进行初始化,单击资产进入资产详情页面,可以查看资产下导入文件的状态,状态包含:上传中、加载失败、入库中、入库成功、入库失败、删除中、删除失败。 上传中:正在从数据源获取文档内容。 加载失败:文档解析切片失败,通常失败原因为分段清洗配置有误或是源文档损坏。 入库中:执行向量化和索引建立。 入库成功:成功入库。 入库失败:执行向量化和索引建立失败,通常失败原因为索引配置有误。 删除中:执行文档在向量库中的删除过程。 删除失败:执行删除操作失败。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全