华为云用户手册

  • 迁移原理 使用自研迁移工具leveldb-port,和LevelDB部署在相同机器上,准备好配置文件,启动迁移即可自动完成全量与增量的迁移。 全量迁移对LevelDB数据进行快照,然后扫描整个数据库,将数据打包成GeminiDB Redis识别的格式,发送到GeminiDB Redis ,具有很高的迁移效率。 增量迁移解析LevelDB的wal文件,将LevelDB的操作解析出来,然后对其中的key进行分片,多线程进行发送。
  • 操作步骤 打开Robo 3T下载地址:https://robomongo.org/download,单击“Download Robo 3T”。 图1 下载页面 在弹出框中填写相关信息后,单击“Download for Windows”。 图2 下载工具 下载“robo3t-1.4.4-windows-x86_64-e6ac9ec5.zip”。 图3 下载软件包 解压3下载的压缩包文件,双击解压目录下的“robo3t.exe”文件,开始执行安装。 安装完成后,打开工具,界面展示如图4所示。 图4 工具主界面 工具安装成功后,您可以通过工具连接实例。 连接副本集实例,请参见通过Robo 3T工具连接副本集实例。
  • 监控指标 如下监控指标需要在实例节点查看,具体方法请参见查看监控指标。 表1 GeminiDB Mongo支持的监控指标 指标ID 指标名称 指标含义 取值范围 测量对象 监控周期(原始指标) nosql001_cpu_usage CPU利用率 该指标为从系统层面采集的CPU使用率。 单位:% 0~100 % GeminiDB Mongo实例的节点 1分钟 nosql002_mem_usage 内存利用率 该指标为从系统层面采集的内存使用率。 单位:% 0~100 % GeminiDB Mongo实例的节点 1分钟 nosql003_bytes_out 网络输出吞吐量 统计平均每秒从测量对象的所有网络适配器输出的流量。 单位:bytes/s ≥ 0 bytes/s GeminiDB Mongo实例的节点 1分钟 nosql004_bytes_in 网络输入吞吐量 统计平均每秒从测量对象的所有网络适配器输入的流量。 单位:bytes/s ≥ 0 bytes/s GeminiDB Mongo实例的节点 1分钟 nosql005_disk_usage 存储容量使用率 该指标为存储容量使用率。 单位:% 0~100 % GeminiDB Mongo实例 1分钟 nosql006_disk_total_size 存储容量总容量 该指标为实例的存储容量总容量。 单位:GB ≥ 0 GB GeminiDB Mongo实例 1分钟 nosql007_disk_used_size 存储容量使用量 该指标为实例的存储容量使用量。 单位:GB ≥ 0 GB GeminiDB Mongo实例 1分钟 mongodb001_command_ps command执行频率 该指标用于统计平均每秒command语句在节点上执行次数。 单位:Counts/s ≥ 0 Counts/s GeminiDB Mongo实例的节点 1分钟 mongodb002_delete_ps delete语句执行频率 该指标用于统计平均每秒delete语句在节点上执行次数。 单位:Counts/s ≥ 0 Counts/s GeminiDB Mongo实例的节点 1分钟 mongodb003_insert_ps insert语句执行频率 该指标用于统计平均每秒insert语句在节点上执行次数。 单位:Counts/s ≥ 0 Counts/s GeminiDB Mongo实例的节点 1分钟 mongodb004_query_ps query语句执行频率 该指标用于统计平均每秒query语句在节点上执行次数。 单位:Counts/s ≥ 0 Counts/s GeminiDB Mongo实例的节点 1分钟 mongodb005_update_ps update语句执行频率 该指标用于统计平均每秒update语句执行次数。 单位:Counts/s ≥ 0 Counts/s GeminiDB Mongo实例的节点 1分钟 mongodb006_getmore_ps getmore语句执行频率 该指标用于统计平均每秒getmore语句在节点上执行次数。 单位:Counts/s ≥ 0 Counts/s GeminiDB Mongo实例的节点 1分钟 mongodb007_connections 当前活动连接数 该指标用于统计试图连接到实例节点的连接数。 单位:Counts ≥ 0 Counts GeminiDB Mongo实例的节点 1分钟 mongodb007_connections_usage 当前活动连接数百分比 该指标用于统计试图连接到实例节点的连接数占可用连接数百分比。 单位:% 0~100 % GeminiDB Mongo实例的节点 1分钟 mongodb008_mem_resident 驻留内存 该指标用于统计当前驻留内存的大小。 单位:MB ≥ 0 MB GeminiDB Mongo实例的节点 1分钟 mongodb009_mem_virtual 虚拟内存 该指标用于统计当前虚拟内存的大小。 单位:MB ≥ 0 MB GeminiDB Mongo实例的节点 1分钟 mongodb010_regular_asserts_ps 常规断言频率 该指标用于统计常规断言频率。 单位:Counts/s ≥ 0 Counts/s GeminiDB Mongo实例的节点 1分钟 mongodb011_warning_asserts_ps 警告频率 该指标用于统计警告频率。 单位:Counts/s ≥ 0 Counts/s GeminiDB Mongo实例的节点 1分钟 mongodb012_msg_asserts_ps 消息断言频率 该指标用于统计消息断言频率。 单位:Counts/s ≥ 0 Counts/s GeminiDB Mongo实例的节点 1分钟 mongodb013_user_asserts_ps 用户断言频率 该指标用于统计用户断言频率。 单位:Counts/s ≥ 0 Counts/s GeminiDB Mongo实例的节点 1分钟 mongodb014_queues_total 等待锁的操作数 该指标用于统计当前等待锁的操作数。 单位:Counts ≥ 0 Counts GeminiDB Mongo实例的节点 1分钟 mongodb015_queues_readers 等待读锁的操作数 该指标用于统计当前等待读锁的操作数。 单位:Counts ≥ 0 Counts GeminiDB Mongo实例的节点 1分钟 mongodb016_queues_writers 等待写锁的操作数 该指标用于统计当前等待写锁的操作数。 单位:Counts ≥ 0 Counts GeminiDB Mongo实例的节点 1分钟 mongodb017_page_faults 缺页错误数 该指标用于统计当前节点上的缺页错误数。 单位:Counts ≥ 0 Counts GeminiDB Mongo实例的节点 1分钟 mongodb018_porfling_num 慢查询数 该指标用于统计当前节点上的慢查询数。 单位:Counts ≥ 0 Counts GeminiDB Mongo实例的节点 1分钟 mongodb019_cursors_open 当前维护游标数 该指标用于统计当前节点上的维护游标数。 单位:Counts ≥ 0 Counts GeminiDB Mongo实例的节点 1分钟 mongodb020_cursors_timeout 服务超时游标数 该指标用于统计当前节点上的服务超时游标数。 单位:Counts ≥ 0 Counts GeminiDB Mongo实例的节点 1分钟
  • 环境类 客户端需配置JDK1.8。JDK是跨平台的,支持Windows,Linux等多种平台。 下面以Windows为例,介绍JDK配置流程: DOS窗口输入“java -version”,查看JDK版本,确认为JDK1.8版本。如果未安装JDK,请下载安装包并安装。 在windows操作系统桌面中“此电脑”图标上单击右键,选择“属性”。 在弹出的“系统”窗口中,单击左侧导航栏中“高级系统设置”。 在弹出的“系统属性”窗口中,单击右下角的“环境变量”。 在弹出的“环境变量”窗口中的“系统变量”区域框中设置如下变量名和变量值。 变量名 操作 变量值 JAVA_HOME 若存在,则单击“编辑”。 若不存在,则单击“新建”。 JAVA的安装目录。 例如:C:\Program Files\Java\jdk1.8.0_131 Path 编辑 若配置了JAVA_HOME,则在变量值的最前面加上: %JAVA_HOME%\bin; 若未配置JAVA_HOME,则在变量值的最前面加上 JAVA安装的全路径: C:\Program Files\Java\jdk1.8.0_131\bin; CLASSPATH 新建 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar; 单击“确定”,并依次关闭各窗口。
  • 备份存储 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实例支持自动备份和手动备份两种方案。 自动备份 您可以在管理控制台设置自动备份策略,系统将会按照自动备份策略中设置的备份时间段和备份周期进行自动备份,并且会按照设置的备份保留天数对备份文件进行存放。 自动备份的备份文件不支持手动删除,可通过修改自动备份策略调整备份保留天数,超出备份保留天数的已有备份文件会被自动删除。 手动备份 手动备份是由用户根据自身业务特点随时启动的数据库实例的全量备份,会一直保存,直到用户手动删除。 建议您定期对数据库进行备份,当数据库故障或数据损坏时,可以通过备份恢复数据库,从而保证数据可靠性。 表1 备份方案 备份方案 使用场景 自动备份 系统按照自动备份策略,对数据库进行自动备份,您可以根据业务需求修改自动备份策略。 手动备份 根据自身业务特点手动启动数据库实例的全量备份。
  • 支持与限制的命令 用户在连接到GeminiDB Mongo数据库后,需要关注以下支持以及限制的命令。 更多信息,请参见MongoDB官方文档。 表1 4.0版本支持与限制的命令 命令类别 命令名称 是否支持该命令 备注 Aggregates Commands aggregate √ - count √ - distinct √ - group √ - mapReduce √ - Geospatial Commands geoNear √ - geoSearch × 副本集不支持。 Query and Write Operation Commands find √ - insert √ - update √ - delete √ - findAndModify √ - getMore √ - getLastError √ - parallelCollectionScan x 系统内部命令。 Query Plan Cache Commands planCacheListFilters √ - planCacheSetFilter √ - planCacheClearFilters √ - planCacheListQueryShapes √ - planCacheListPlans √ - planCacheClear √ - Authentication Commands logout √ - authenticate √ - getnonce √ - User Management Commands createUser √ - updateUser √ - dropUser √ - dropAllUsersFromDatabase √ - grantRolesToUser √ - revokeRolesFromUser √ - usersInfo √ - Role Management Commands invalidateUserCache √ - createRole √ - updateRole √ - dropRole √ - dropAllRolesFromDatabase √ - grantPrivilegesToRole √ - revokePrivilegesFromRole √ - grantRolesToRole √ - revokeRolesFromRole √ - rolesInfo √ - Replication Commands replSetFreeze x 系统内部命令。 replSetGetStatus √ 副本集支持。 replSetInitiate x 系统内部命令。 replSetMaintenance x 系统内部命令。 replSetReconfig x 系统内部命令。 replSetStepDown x 系统内部命令。 replSetSyncFrom x 系统内部命令。 resync x 系统内部命令。 applyOps x 系统内部命令。 isMaster √ - replSetGetConfig x 系统内部命令。 Sharding Commands flushRouterConfig x 系统内部命令。 addShard x 系统内部命令。 addShardToZone x 系统内部命令。 balancerStart x 系统内部命令。 balancerStatus √ 系统内部命令。 balancerStop x 系统内部命令。 removeShardFromZone x 系统内部命令。 updateZoneKeyRange x 系统内部命令。 cleanupOrphaned x 高危命令。 checkShardingIndex x 系统内部命令。 enableSharding √ - listShards √ 系统内部命令。 removeShard x 高危命令。 getShardMap x 系统内部命令。 getShardVersion x 系统内部命令。 mergeChunks x 系统内部命令。 setShardVersion x 系统内部命令。 shardCollection √ 目前,只支持空表做shardCollection。 shardingState x 系统内部命令。 unsetSharding x 系统内部命令。 split x 系统内部命令 splitChunk x 系统内部命令。 splitVector x 系统内部命令。 moveChunk x 系统内部命令。 movePrimary x 系统内部命令。 isdbgrid √ - Sessions Commands abortTransaction √ 副本集支持。 commitTransaction √ 副本集支持。 endSessions √ - killAllSessions √ - killAllSessionsByPattern √ - killSessions √ - refreshSessions √ - startSession √ - Administration Commands setFeatureCompatibilityVersion √ - renameCollection √ - dropDatabase √ - listCollections √ - drop √ - create √ - clone x 系统内部命令。 cloneCollection x 系统内部命令。 cloneCollectionAsCapped x 系统内部命令。 convertToCapped √ - filemd5 √ - createIndexes √ - listIndexes √ - dropIndexes √ - fsync √ - clean x 系统内部命令。 connPoolSync x 系统内部命令。 connectionStatus √ - compact x 高危命令。 collMod √ - reIndex √ - setParameter x 系统配置命令。 getParameter √ - repairDatabase x 高危命令。 touch x 存储引擎不支持。 shutdown x 高危命令。 logRotate x 高危命令。 killOp √ - Diagnostic Commands availableQueryOptions √ - buildInfo √ - collStats √ - connPoolStats x 系统内部命令。 dataSize √ - dbHash x 系统内部命令。 dbStats √ - driverOIDTest x 系统内部命令。 explain √ - features √ - getCmdLineOpts x 系统内部命令。 getLog x 系统内部命令。 hostInfo x 系统内部命令。 isSelf x 系统内部命令。 listCommands √ - listDatabases √ - netstat x 系统内部命令。 ping √ - profile √ - serverStatus √ - shardConnPoolStats x 系统内部命令。 top x 系统内部命令。 validate x 系统配置命令。 whatsmyuri √ - System Events Auditing Commands logApplicationMessage x 系统内部命令。 父主题: 数据库命令
  • 使用GeminiDB Mongo时要注意什么 实例的操作系统,对用户都不可见,这意味着,只允许用户应用程序访问数据库对应的IP地址和端口。 对象存储服务(Object Storage Service,简称OBS)上的备份文件以及云数据库 GeminiDB使用的系统容器,都对用户不可见,它们只对GeminiDB Mongo后台管理系统可见。 申请数据库实例后,您还需要做什么。 申请实例后,您不需要进行数据库的基础运维(比如高可用、安全补丁等),但是您还需要重点关注以下事情: 数据库实例的CPU、IOPS、空间是否足够。 数据库实例是否存在性能问题,是否需要优化等。 父主题: 产品咨询
  • 在续费管理页面开通自动续费 登录管理控制台。 单击“控制台”页面上方“费用与成本”,在下拉菜单中选择“续费管理”,进入“续费管理”页面。 自定义查询条件。 可在“自动续费项”页签查询已经开通自动续费的资源。 可对“手动续费项”、“到期转按需项”、“到期不续费项”页签的资源开通自动续费。 图2 续费管理 为包年/包月资源开通自动续费。 单个资源开通自动续费:选择需要开通自动续费的实例,单击操作列“开通自动续费”。 图3 单个资源开通自动续费 批量资源开通自动续费:选择需要开通自动续费的实例,单击列表左上角的“开通自动续费”。 图4 多个资源开通自动续费 选择续费时长,并根据需要设置自动续费次数,单击“开通”。 图5 开通自动续费
  • 自定义策略样例 示例1:授权用户创建云数据库 GeminiDB实例 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "nosql:instance:create" ] } ] } 示例2:拒绝用户删除云数据库 GeminiDB数据库实例 拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先原则。 如果您给用户授予GaussDB NoSQLFullAccess的系统策略,但不希望用户拥有GaussDB NoSQLFullAccess中定义的删除云数据库 GeminiDB实例权限,您可以创建一条拒绝删除云数据库 GeminiDB实例的自定义策略,然后同时将GaussDB NoSQLFullAccess和拒绝策略授予用户,根据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" } ] }
  • 迁移方案概览 GeminiDB Mongo提供了多种数据迁移方案,可满足不同业务场景下的MongoDB数据库迁移。 表1 迁移方案 迁移场景 支持的迁移类型 文档链接 使用导出导入工具迁移MongoDB数据库 全量迁移 通过mongoexport和mongoimport工具迁移数据 通过mongodump和mongorestore工具迁移数据 使用DRS服务迁移MongoDB数据库 全量+增量迁移 通过数据复制服务迁移数据 父主题: 数据迁移
  • 连接方式介绍 GeminiDB Mongo副本集实例支持通过内网和公网的方式连接。 表1 连接方式 连接方式 使用场景 说明 内网连接 系统默认提供内网IP地址。 当应用部署在弹性云服务器上,且该弹性云服务器与数据库实例处于同一区域、同一VPC内时,建议使用内网IP通过弹性云服务器连接数据库实例。 安全性高,可实现数据库实例的较好性能。 公网连接 不能通过内网IP地址访问数据库实例时,使用公网访问,建议单独绑定弹性公网IP连接弹性云服务器(或公网主机)与数据库实例。 降低安全性。 为了获得更快的传输速率和更高的安全性,建议您将应用迁移到与您的数据库实例在同一VPC子网内,使用内网连接。 用户需要购买弹性公网IP,请参见弹性公网IP计费说明。 父主题: 连接副本集实例
  • 典型应用 游戏场景 兼容MongoDB协议,游戏应用可以将一些游戏数据,如用户装备、用户积分等存储其中。游戏玩家活跃高峰期,对并发能力要求较高,可以快速灵活添加计算节点以应对高并发场景。 优势: 灵活 游戏开服6小时内需多次扩容,GeminiDB Mongo计算节点增加,扩容性能倍数提升,可灵活轻松应对。 数据恢复快 表级时间点恢复,支持游戏快速回档。 稳定扩容 扩容期间性能稳定,不影响游戏体验。
  • 事件监控简介 事件监控提供了事件类型数据上报、查询和告警的功能。方便您将业务中的各类重要事件或对云资源的操作事件收集到云监控服务,并在事件发生时进行告警。 事件即云监控服务保存并监控的GeminiDB Mongo资源的关键操作,您可以通过“事件”了解到谁在什么时间对系统哪些资源做了什么操作,如修改实例名称、规格变更等。 事件监控为您提供上报自定义事件的接口,方便您将业务产生的异常事件或重要变更事件采集上报到云监控服务。 事件监控默认开通,您可以在事件监控中查看系统事件和自定义事件的监控详情,目前支持的系统事件请参见事件监控支持的事件说明。 父主题: 事件监控
  • 变更计费模式概述 在购买GeminiDB Mongo后,如果发现当前计费模式无法满足业务需求,您可以变更计费模式。支持变更计费模式的GeminiDB Mongo计费项如表1所示。 表1 支持变更计费模式的GeminiDB Mongo计费项 计费项 变更说明 相关文档 实例规格(vCPU和节点数量) 变更GeminiDB Mongo实例的计费模式会同时变更计算资源(vCPU和节点数量)的计费模式。 将GeminiDB Mongo实例的计费模式从按需计费转为包年/包月,可以让您享受一定程度的价格优惠。 将GeminiDB Mongo实例的计费模式从包年/包月转为按需计费,可以帮助您回收部分成本,并更加灵活地使用GeminiDB Mongo资源。 说明: 包年/包月计费模式到期后,按需计费模式才会生效。 按需转包年/包月 包年/包月转按需 EIP 包年/包月EIP支持到期后转为按需、按带宽计费EIP。 按需、按带宽计费EIP支持转为包年/包月EIP。 按需、按带宽计费EIP支持和按需、按流量计费EIP互转。 具体变更方式可参考图1。 按需转包年/包月 包年/包月转按需 图1 EIP计费模式变更 父主题: 变更计费模式
  • 修订记录 发布日期 修订记录 2023-08-30 第二十八次正式发布。 新增计费说明。 2023-07-18 第二十七次正式发布。 新增入门实践。 2023-06-30 第二十六次正式发布。 事件监控,新增事件监控。 2023-04-28 第二十五次正式发布。 数据库实例规格,新增1:8 规格的实例。 2023-03-31 第二十四次正式发布。 新增数据库接口及操作系统更新。 2022-08-11 第二十三次正式发布。 新增常见问题:资源冻结/释放/删除/退订。 2022-03-11 第二十二次正式发布。 购买副本集实例,修改实例名称,优化中文长度。 2022-01-27 第二十一次正式发布。 实例续费,按需计费实例转包周期,包周期实例转按需计费,退订包周期实例,支持批量操作。 2021-11-30 第二十次正式发布。 购买副本集实例、设置SSL数据加密,GeminiDB Mongo副本集支持SSL安全连接。 2021-06-30 第十九次正式发布。 购买副本集实例,GeminiDB Mongo实例名称支持中文。 调整文档结构。 2021-04-30 第十八次正式发布。 数据库实例规格,增加不同规格实例支持的最小存储容量。 设置告警规则,支持一键告警。 2021-04-15 第十七次正式发布。 调整文档结构。 2021-01-30 第十六次正式发布。 实例操作列增加规格变更、添加节点和磁盘扩容入口。 2020-12-30 第十五次正式发布。 GeminiDB Mongo副本集实例支持跨网段访问配置。 2020-10-30 第十三次正式发布。 资源标签支持20个配额。 扩容磁盘支持每次至少选择1GB扩容量。 GeminiDB Mongo支持备份恢复到已有实例。 GeminiDB Mongo支持包周期实例的计算规格降配变更。 GeminiDB Mongo增加命令限制列表。 GeminiDB Mongo支持通过高级运维功能。 2020-09-30 第十二次正式发布。 支持实例配额管理。 GeminiDB Mongo支持错误日志功能。 GeminiDB Mongo支持参数模板功能。 2020-08-30 第十一次正式发布。 GeminiDB Mongo支持如下功能: 支持按需或包周期批量购买 支持查看慢日志明细、开启明文显示、导出日志文件 支持修改实例名称 支持实例回收站 副本集支持重置管理员密码 副本集支持修改实例端口 副本集支持修改安全组 2020-07-30 第十次正式发布。 GeminiDB Mongo支持如下功能: 购买包周期实例 包周期实例续费 按需实例转包周期实例 包周期实例转按需计费实例 退订包周期实例 磁盘扩容 规格变更 绑定解绑弹性公网IP 公网访问 重启实例 连接管理 2020-06-30 第九次正式发布。 GeminiDB Mongo支持如下功能: 重置密码 支持跨AZ级容灾 2020-04-30 第八次正式发布。 新增监控指标。 2020-03-13 第六次正式发布。 支持慢日志。 2019-11-18 第四次正式发布。 支持重置管理员密码。 支持重启数据库实例。 支持修改数据库实例名称。 2019-10-22 第三次正式发布。 对接标签管理服务。 2019-07-18 第一次正式发布。
  • 数据库连接 使用GeminiDB Mongo时,可能会遇到因为mongod连接数用满了,导致客户端无法连接的问题。mongod的服务模型是每个网络连接由一个单独的线程来处理,每个线程配置了1MB的栈空间,当网络连接数太多时,过多的线程会导致上下文切换开销变大,同时内存开销也会上涨。 客户端使用GeminiDB Mongo驱动连接数据库的时候,一定要配置连接池,连接池大小最大不要超过200。 客户端使用GeminiDB Mongo驱动连接数据库的时候,要计算业务一共有多少个客户端, 每个客户端配置的连接池大小是多少,总的连接数不要超过当前实例能承受的最大连接数的80%。 对于副本集,客户端需要同时配置主备节点的IP地址。 GeminiDB Mongo默认提供rwuser用户,使用rwuser登录时认证库必须是admin。 父主题: 使用规范
  • 计费模式概述 GeminiDB Mongo提供包年/包月和按需计费两种计费模式,以满足不同场景下的用户需求。 包年/包月:一种预付费模式,即先付费再使用,按照订单的购买周期进行结算。购买周期越长,享受的折扣越大。一般适用于设备需求量长期稳定的成熟业务。 按需计费:一种后付费模式,即先使用再付费,按照实例实际使用时长计费,秒级计费,按小时结算。按需计费模式允许您根据实际业务需求灵活地调整资源使用,无需提前预置资源,从而降低预置过多或不足的风险。一般适用于电商抢购等设备需求量瞬间大幅波动的场景。 表1列出了两种计费模式的区别。 表1 计费模式 计费模式 包年/包月 按需计费 付费方式 预付费。 按照订单的购买周期结算。 后付费。 按照实例实际使用时长计费。 计费周期 按订单的购买周期计费。 秒级计费,按小时结算。 适用计费项 实例规格(vCPU和内存)、存储空间、备份空间、弹性公网IP 实例规格(vCPU和内存)、存储空间、备份空间、弹性公网IP 变更计费模式 支持变更为按需计费模式。但包年/包月资费模式到期后,按需的资费模式才会生效。详情请参考包年/包月转按需。 支持变更为包年/包月计费模式。详情请参考按需转包年/包月。 变更规格 支持变更实例规格。 支持变更实例规格。 适用场景 适用于可预估资源使用周期的场景,价格比按需计费模式更优惠。对于长期使用者,推荐该方式。 适用于计算资源需求波动的场景,可以随时开通,随时删除。 父主题: 计费模式
  • 计费场景 某用户于2023/03/18 15:30:00购买了一个按需计费的GeminiDB Mongo实例,规格配置如下: 规格:4vCPUs,16GB 节点数量:3 公网带宽:6Mbit/s 用了一段时间后,用户发现实例当前规格无法满足业务需要,于2023/03/20 9:00:00扩容规格为8vCPUs,32GB。因为该实例打算长期使用下去,于2023/03/20 10:30:00将实例转为包年/包月计费,购买时长为1个月。那么在3~4月份,该实例总共产生多少费用呢?
  • 计费构成分析 可以将GeminiDB Mongo的使用阶段按照计费模式分为两段: 2023/03/18 15:30:00 ~ 2023/03/20 10:30:00:按需计费 2023/03/18 15:30:00 ~ 2023/03/20 9:00:00期间 实例规格:4vCPUs,16GB 节点数量:3 使用存储空间:100GB 使用备份空间:100GB 公网带宽:6Mbit/s 在2023/03/20 9:00:00 ~ 2023/03/20 10:30:00期间 实例规格:8vCPUs,32GB 节点数量:3 使用存储空间:200GB 使用备份空间:210GB(备份按需计费时间:2023/03/20 10:00:00~2023/03/20 10:30:00) 公网带宽:6Mbit/s 2023/03/20 10:30:00 ~ 2023/04/20 23:59:59:包年/包月计费 实例规格:8vCPUs,32GB 节点数量:3 使用存储空间:200GB 使用备份空间:300GB(备份按需计费时间:2023/04/10 23:59:59 ~ 2023/04/20 23:59:59) 公网带宽:6Mbit/s 计费时长:1个月 此案例中的单价仅为示例,且计算出的费用为估算值。单价的变动和实际场景中计算出来的费用可能会有偏差。请以华为云官网发布的数据为准。 按需计费 在2023/03/18 15:30:00 ~ 2023/03/20 9:00:00期间按照4vCPUs 16GB规格计费,计费时长为41.5小时,费用计算如下: 在2023/03/20 9:00:00 ~ 2023/03/20 10:30:00期间按照8vCPUs 32GB规格计费,计费时长为1.5小时,费用计算如下: 包年/包月计费 在2023/03/20 10:30:00 ~ 2023/04/20 23:59:59期间为包年/包月计费,计费时长为1个月,费用计算如下: 由此可见,在3~4月份,GeminiDB Mongo总共产生的费用为:288.14 + 19.99 + 6460.30 = 6768.43 元。
  • 成本分配 成本管理的基础是树立成本责任制,让各部门、各业务团队、各责任人参与进来,为各自消耗云服务产生的成本负责。企业可以通过成本分配的方式,将云上成本分组,归集到特定的团队或项目业务中,让各责任组织及时了解各自的成本情况。 华为云成本中心支持通过多种不同的方式对成本进行归集和重新分配,您可以根据需要选择合适的分配工具。 通过关联账号进行成本分配 企业主客户可以使用关联账号对子客户的成本进行归集,从而对子账号进行财务管理。详细介绍请参见通过关联账号维度查看成本分配。 通过企业项目进行成本分配 在进行成本分配之前,建议开通企业项目并做好企业项目的规划,可以根据企业的组织架构或者业务项目来划分。在购买云资源时选择指定企业项目,新购云资源将按此企业项目进行成本分配。详细介绍请参见通过企业项目维度查看成本分配。 图1 选择企业项目 通过成本标签进行成本分配 标签是华为云为了标识云资源,按各种维度(例如用途、所有者或环境)对云资源进行分类的标记。推荐企业使用预定义标签进行成本归集,具体流程如下: 图2 添加标签 详细介绍请参见通过成本标签维度查看成本分配。 使用成本单元进行成本分配 企业可以使用成本中心的“成本单元”来拆分公共成本。公共成本是指多个部门共享的计算、网络、存储或资源包产生的云成本,或无法直接通过企业项目、成本标签分配的云成本。这些成本不能直接归属于单一所有者,因此不能直接归属到某一类别。使用拆分规则,可以在各团队或业务部门之间公平地分配这些成本。详细介绍请参见使用成本单元查看成本分配。 父主题: 成本管理
  • 操作步骤 获取安装包。 进入官网下载链接地址:https://www.mongodb.com/download-center#community。 在“Version”中选择“4.0.27”,在“Platform”中选择“RedHat/CentOS 7.0 ”(Platform要与弹性云服务器的操作系统版本保持一致),在“Package”中选择“tgz”。如图1所示。 图1 MongoDB官网页面 单击“Download”下载4.0.27版本的二进制安装包,安装包名称为“mongodb-linux-x86_64-rhel70-4.0.27.tgz”。 将安装包上传到弹性云服务器上。 创建并登录弹性云服务器,请参见购买弹性云服务器和登录弹性云服务器。 在弹性云服务器上,解压安装包。 tar zxvf mongodb-linux-x86_64-rhel70-4.0.27.tgz 进入安装包的“bin”文件夹下,获取客户端工具。 cd mongodb-linux-x86_64-rhel70-4.0.27/bin 其中,常用工具包含如下: MongoDB客户端mongo。 数据导出工具mongoexport。 数据导入工具mongoimport。 使用客户端工具前,需要对工具赋予执行权限。 执行chmod +x mongo,赋予连接实例的权限。 执行chmod +x mongoexport,赋予导出数据的权限。 执行chmod +x mongoimport,赋予导入数据的权限。 客户端安装成功后,您可以通过客户端连接实例。 连接副本集实例,请参见通过内网连接副本集实例。 注:如果执行MongoDB客户端时出现类似无法找到libcrypto.so.10的错误,请检查您下载的客户端是否与弹性云服务器操作系统匹配。
  • 数据库实例状态 数据库实例状态是数据库实例的运行情况。可以通过管理控制台查看数据库实例状态。 表1 实例状态 状态 说明 正常 数据库实例正常和可用。 异常 数据库实例不可用。 创建中 正在创建数据库实例。 创建失败 数据库实例创建失败。 重启中 正在重启数据库实例。 重置密码中 正在重置管理员密码。 存储扩容中 正在扩容实例的磁盘容量。 规格变更中 正在变更实例的CPU和内存规格。 备份上传中 正在上传备份文件。 备份中 正在创建数据库备份。 恢复检查中 该实例下的备份正在恢复到新实例。 SSL切换中 正在开启或关闭SSL安全连接。 转包周期中 实例的计费方式正在由“按需计费”转为“包年/包月”。 转按需中 实例的计费方式正在由“包年/包月”转为“按需计费”。 冻结 账户余额小于或等于0元,系统对该用户下的实例进行冻结。您需前往费用中心充值成功,欠款核销后,冻结的实例才会解冻。 解冻中 欠款核销后,正在解冻数据库实例。 包周期变更资源检查中 包周期实例在进行变更过程中所持续的状态。 父主题: 产品介绍
  • 数据库性能 业务禁止出现任何全表扫描的查询。 执行查询时,只选择需要返回的字段,不需要的字段不要返回。从而减少网络和进程处理的负载,修改数据时,只修改变化需要修改的字段,不要整个对象直接存储全部修改。 避免使用$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数据库实例后,可以根据自身的业务需求使用GeminiDB Mongo提供的一系列常用实践。 表1 常用最佳实践 实践 描述 使用规范 命名规范 介绍GeminiDB Mongo的命名规范。 索引规范 介绍GeminiDB Mongo的索引规范。 变更实例 修改实例名称 GeminiDB Mongo支持修改数据库实例名称,以方便您区分和识别实例。 重置管理员密码 GeminiDB Mongo支持重置数据库管理员密码,建议您定期修改密码,以提高系统安全性,防止出现密码被破解等安全风险。 变更实例的CPU和内存规格 当用户购买的实例的CPU和内存规格无法满足业务需要时,可以在控制台进行CPU和内存规格变更。 数据备份 管理自动备份 介绍如何在数据库实例的备份时段中创建数据库实例的自动备份,系统根据您指定的备份保留期保存数据库实例的自动备份。 管理手动备份 介绍如何为数据库实例手动备份数据,用户可以通过手动备份恢复数据,从而保证数据可靠性。 数据恢复 恢复备份到新实例或已有实例 介绍如何使用已有的自动备份或手动备份恢复实例数据到新建实例或已有实例,恢复后的数据与该备份生成时的实例数据一致。 日志管理 慢日志 GeminiDB Mongo支持查看数据库级别的慢日志,执行时间的单位为ms。通过该日志,可查找出执行效率低的语句,以便优化。 错误日志 GeminiDB Mongo支持查看数据库级别的错误日志,包括数据库运行的Warning和Error级别的信息,有助于您分析系统中存在的问题。 父主题: 快速入门
  • 驱动下载 建议使用go mod下载驱动 require go.mongodb.org/mongo-driver v1.7.6 go文件中导入: import ( "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" "go.mongodb.org/mongo-driver/mongo/readpref" )
  • 计费说明 GeminiDB Mongo的计费项由实例规格费用、存储空间费用、备份空间费用和公网流量费用组成。具体内容如表1所示。 标 * 的计费项为必选计费项。 表1 GeminiDB Mongo实例计费项 计费项 计费项说明 适用的计费模式 计费公式 * 实例规格 计费因子:vCPU和内存,不同规格的实例类型提供不同的计算和存储能力。 包年/包月、按需计费 实例规格单价 * 购买时长 实例规格单价请参见云数据库 GeminiDB价格详情中的“集群-规格费用”。 * 存储空间 计费因子:存储空间,按统一标准进行计费。 包年/包月、按需计费 存储空间单价 * 存储容量 * 购买时长 请参见云数据库 GeminiDB价格详情中的“集群磁盘空间计费信息”。 备份空间 计费因子:备份空间,按统一标准进行计费。 按需计费 备份空间单价 * 备份收费容量 * 购买时长 请参见云数据库 GeminiDB价格详情中的“备份空间计费信息”。 说明: 计费时长:备份超过免费空间大小的使用时长。 公网流量 如有互联网访问需求,您需要购买弹性公网IP。 计费因子:带宽费、流量费和IP保有费。 包年/包月计费模式支持按带宽计费方式,收取带宽费。 按需计费模式支持按带宽计费、按流量计费和加入共享带宽三种计费方式,分别收取带宽费+IP保有费、流量费+IP保有费、带宽费+IP保有费。 包年/包月、按需计费 带宽费支持使用带宽加油包抵扣,流量费支持使用共享流量包抵扣。 按固定带宽值采用阶梯计费 0Mbit/s~5Mbit/s(含):均为一个统一的单价 大于5Mbit/s:按每Mbit/s计费 公网带宽单价请参见弹性云服务器价格详情中的“带宽价格”,或者弹性公网IP价格详情。
  • 计费示例 假设您在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费用计算示例 按需计费模式下,各计费项的计费示例请参见计费示例。
  • 计费模式概述 GeminiDB Influx提供包年/包月和按需计费两种计费模式,以满足不同场景下的用户需求。 包年/包月:一种预付费模式,即先付费再使用,按照订单的购买周期进行结算。购买周期越长,享受的折扣越大。一般适用于设备需求量长期稳定的成熟业务。 按需计费:一种后付费模式,即先使用再付费,按照实例实际使用时长计费,秒级计费,按小时结算。按需计费模式允许您根据实际业务需求灵活地调整资源使用,无需提前预置资源,从而降低预置过多或不足的风险。一般适用于电商抢购等设备需求量瞬间大幅波动的场景。 表1列出了两种计费模式的区别。 表1 计费模式 计费模式 包年/包月 按需计费 付费方式 预付费。 按照订单的购买周期结算。 后付费。 按照实例实际使用时长计费。 计费周期 按订单的购买周期计费。 秒级计费,按小时结算。 适用计费项 实例规格(vCPU和内存)、存储空间、备份空间、冷存储空间、弹性公网IP 实例规格(vCPU和内存)、存储空间、备份空间、冷存储空间、弹性公网IP 变更计费模式 支持变更为按需计费模式。但包年/包月资费模式到期后,按需的资费模式才会生效。详情请参考包年/包月转按需。 支持变更为包年/包月计费模式。详情请参考按需转包年/包月。 变更规格 支持变更实例规格。 支持变更实例规格。 适用场景 适用于可预估资源使用周期的场景,价格比按需计费模式更优惠。对于长期使用者,推荐该方式。 适用于计算资源需求波动的场景,可以随时开通,随时删除。 父主题: 计费模式
共100000条