华为云用户手册

  • 迁移原理 使用Redis-Shake迁移工具进行源端Redis到目标端GeminiDB Redis的迁移。迁移过程支持全量+增量迁移,支持单机/主从/Cluster集群/RDB文件等多种Redis数据源。 全量迁移原理:工具模拟源端Redis的从节点,通过全量同步获取RDB文件,解析后将数据以命令形式发送给目标端GeminiDB Redis。此外,也可将RDB文件作为数据源,方便地导入某时刻的数据快照。 增量迁移原理:全量迁移完成后,工具继续将增量数据以命令形式发送给目标端GeminiDB Redis,直到手动停止工具。
  • 变更计费模式概述 在购买GeminiDB Redis后,如果发现当前计费模式无法满足业务需求,您可以变更计费模式。支持变更计费模式的GeminiDB Redis计费项如表1所示。 表1 支持变更计费模式的GeminiDB Redis计费项 计费项 变更说明 相关文档 实例规格(vCPU和节点数量) 变更GeminiDB Redis实例的计费模式会同时变更计算资源(vCPU和节点数量)的计费模式。 将GeminiDB Redis实例的计费模式从按需计费转为包年/包月,可以让您享受一定程度的价格优惠。 将GeminiDB Redis实例的计费模式从包年/包月转为按需计费,可以帮助您回收部分成本,并更加灵活地使用GeminiDB Redis资源。 说明: 包年/包月计费模式到期后,按需计费模式才会生效。 按需转包年/包月 包年/包月转按需 EIP 包年/包月EIP支持到期后转为按需、按带宽计费EIP。 按需、按带宽计费EIP支持转为包年/包月EIP。 按需、按带宽计费EIP支持和按需、按流量计费EIP互转。 具体变更方式可参考图1。 按需转包年/包月 包年/包月转按需 图1 EIP计费模式变更 父主题: 变更计费模式
  • 计费示例 假设您在2023/03/08 15:50:04购买了一个包年/包月GeminiDB Redis实例(规格:2 vCPUs 独享型,节点数量:3,存储空间:40GB,备份存储:50GB(赠送40GB,后续收费空间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期间,使用免费备份空间20GB。 2023/05/01 23:59:59~2023/05/08 23:59:59期间,使用计费备份空间10GB,计费时长168小时。 图1给出了上述示例配置的费用计算过程。 图中价格仅为示例,实际计算请以云数据库 GeminiDB价格详情中的价格为准。 图1 包年/包月GeminiDB Redis费用计算示例 按需计费模式下,各计费项的计费示例请参见计费示例。
  • 计费说明 GeminiDB Redis的计费项由实例规格费用、存储空间费用、备份空间费用和公网流量费用组成。具体内容如表1所示。 标 * 的计费项为必选计费项。 表1 GeminiDB Redis实例计费项 计费项 计费项说明 适用的计费模式 计费公式 * 实例规格 计费因子:vCPU和内存,不同规格的实例类型提供不同的计算和存储能力。 包年/包月、按需计费 实例规格单价 * 购买时长 实例规格单价请参见云数据库 GeminiDB价格详情中的“集群-规格费用”。 * 存储空间 计费因子:存储空间,按统一标准进行计费。 包年/包月、按需计费 存储空间单价 * 存储容量 * 购买时长 请参见云数据库 GeminiDB价格详情中的“集群磁盘空间计费信息”。 备份空间 计费因子:备份空间,按统一标准进行计费。 按需计费 备份空间单价 * 备份收费容量 * 购买时长 请参见云数据库 GeminiDB价格详情中的“备份空间计费信息”。 说明: 计费时长:备份超过免费空间大小的使用时长。 公网流量 如有互联网访问需求,您需要购买弹性公网IP。 计费因子:带宽费、流量费和IP保有费。 包年/包月计费模式支持按带宽计费方式,收取带宽费。 按需计费模式支持按带宽计费、按流量计费和加入共享带宽三种计费方式,分别收取带宽费+IP保有费、流量费+IP保有费、带宽费+IP保有费。 包年/包月、按需计费 带宽费支持使用带宽加油包抵扣,流量费支持使用共享流量包抵扣。 按固定带宽值采用阶梯计费 0Mbit/s~5Mbit/s(含):均为一个统一的单价 大于5Mbit/s:按每Mbit/s计费 公网带宽单价请参见弹性 云服务器价格 详情中的“带宽价格”,或者弹性公网IP价格详情。
  • 使用须知 目前SSL连接方式处于公测阶段,如需使用,请联系客服申请开通。 开启SSL安全连接后,外部应用需要使用SSL证书并通过SSL的方式访问GeminiDB Redis实例。 使用SSL方式时需要确保所使用的Redis客户端具有SSL的连接能力,例如:redis-cli 6.x版本。 使用非SSL方式连接GeminiDB Redis实例,必须关闭SSL安全连接。如何关闭SSL,请参见设置SSL 数据加密 。 用户需要评估业务所需带宽,购买带宽资源足够的弹性公网IP,因公网网络性能造成的客户端访问异常不计入SLA。
  • 自定义策略样例 示例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" } ] }
  • 迁移场景 表1 迁移场景 序号 源端 目标端 迁移方案 1 阿里云Redis/Tair GeminiDB Redis 阿里云数据库Redis/Tair到GeminiDB Redis的迁移 2 腾讯云Redis GeminiDB Redis 腾讯云Redis到GeminiDB Redis的迁移 3 自建Redis/Codis GeminiDB Redis 自建Redis到GeminiDB Redis的迁移 4 RDB GeminiDB Redis RDB到GeminiDB Redis的迁移 5 自建Kvrocks GeminiDB Redis Kvrocks到GeminiDB Redis的迁移 6 自建Pika GeminiDB Redis Pika到GeminiDB Redis的迁移 7 自建SSDB GeminiDB Redis SSDB到GeminiDB Redis的迁移 8 自建LevelDB GeminiDB Redis LevelDB到GeminiDB Redis的迁移 9 自建RocksDB GeminiDB Redis RocksDB到GeminiDB Redis的迁移 10 AWS ElasticCache for Redis GeminiDB Redis AWS ElasticCache for Redis数据库到GeminiDB Redis的迁移
  • 迁移工具 DRS服务:华为云 数据复制服务 DRS(Data Replication Service)提供数据库零停机的迁移上云体验,支持全量数据迁移和增量数据迁移,为您提供安全稳定高可靠的迁移链路。 Redis-Shake工具:Redis-Shake是一款开源迁移工具,支持全量扫描(rump)、数据恢复(restore)、增量同步(sync)等迁移方式,灵活方便。将工具下载到一台E CS 上即可用命令行形式方便迁移。
  • 操作步骤 登录管理控制台。 在服务列表中,单击“ 云监控服务 CES ”,进入 云监控 服务页面。 图1 登录云监控服务控制台 创建监控看板。 在左侧导航栏选择“监控看板”,单击“创建监控看板”。 图2 创建监控看板 在“创建监控看板”弹出框中配置参数。 图3 配置参数 表1 参数说明 参数名称 说明 名称 表示监控看板名称,该参数只能由中文、英文字母、数字、下划线、中划线组成,且长度不超过128。 企业项目 将监控看板关联给到某个企业项目时,只有拥有该企业项目权限的用户才可以查看和管理该监控看板。 说明: 企业项目仅在部分区域上线。 单击“确定”,完成创建监控看板。 为监控看板添加监控视图。 在完成监控看板的创建后,您就可以添加监控视图对GeminiDB Redis实例进行监控。 在“监控看板”页面,选择目标名称,切换到需要添加监控视图的监控看板,然后单击“添加监控视图”。 图4 添加监控视图 在“添加监控视图”界面,可以选择曲线图和条形图。 曲线图:能够直观反映指标数据随时间的变化趋势,峰值等特征。 条形图:能够直观地反映同类资源的指标数据差异,帮助了解指标的极值等。 在“监控项配置”界面,参照表2完成参数配置。 图5 监控项配置 表2 参数说明 参数名称 说明 指标展示 单指标一个视图:生产一个或多个视图,一个视图中的监控项均为相同指标。 多指标一个视图:生产一个视图,监控项可以为不同指标。 监控范围 选择资源和指标。 视图名称 自定义关注指标组件的视图名称,该名称只能由中文、英文字母、数字、下划线、中划线组成,长度限制为128字节。 例如:CPU利用率 阈值 配置阈值生成辅助水位线,高于水位线的数据点高亮。 图例名称 图例名称是显示在监控视图指标变化曲线上的名称,您可以自定义图例名称。 您可以选择不配置图例名称,那么系统默认展示:监控对象 (资源类型) - 监控指标: 数据。 添加监控视图时,建议选择单指标一个视图,这样每个监控指标就可以独立生成一个监控视图,方便您观察和分析监控数据。如果您需要添加多个监控指标,可通过多次添加监控视图来添加对应监控指标。 在所选的监控看板上可以查看新添加监控视图的监控走势图。
  • 事件监控简介 事件监控提供了事件类型数据上报、查询和告警的功能。方便您将业务中的各类重要事件或对云资源的操作事件收集到云监控服务,并在事件发生时进行告警。 事件即云监控服务保存并监控的GeminiDB Redis资源的关键操作,您可以通过“事件”了解到谁在什么时间对系统哪些资源做了什么操作,如修改实例名称、规格变更等。 事件监控为您提供上报自定义事件的接口,方便您将业务产生的异常事件或重要变更事件采集上报到云监控服务。 事件监控默认开通,您可以在事件监控中查看系统事件和自定义事件的监控详情,目前支持的系统事件请参见事件监控支持的事件说明。 父主题: 事件监控
  • 使用GeminiDB Redis时要注意什么 实例的操作系统,对用户都不可见,这意味着,只允许用户应用程序访问数据库对应的IP地址和端口。 对象存储服务 (Object Storage Service,简称OBS)上的备份文件以及GeminiDB Redis使用的系统容器,都对用户不可见,它们只对GeminiDB Redis后台管理系统可见。 购买数据库实例后,您还需要做什么。 购买实例后,您不需要进行数据库的基础运维(比如高可用、安全补丁等),但是您还需要重点关注以下事情: 数据库实例的CPU、IOPS、空间是否足够。 数据库实例是否存在性能问题,是否需要优化等。 父主题: 产品咨询
  • 入门实践 当您购买并连接了GeminiDB Redis数据库实例后,可以根据自身的业务需求使用GeminiDB Redis提供的一系列常用实践。 表1 常用最佳实践 实践 描述 数据迁移 阿里云数据库Redis/Tair到GeminiDB Redis的迁移 本实践主要介绍阿里云数据库Redis/Tair到GeminiDB Redis的迁移方案。使用阿里云的数据迁移工具DTS中的数据迁移功能,该功能支持将阿里云Redis服务的数据迁移至其他Redis服务中,利用该工具避开阿里云 Redis服务屏蔽sync和psync命令限制,实现数据从阿里云Redis服务迁移至华为云GeminiDB Redis中。 腾讯云Redis到GeminiDB Redis的迁移 本实践主要介绍腾讯云Redis到GeminiDB Redis的迁移方案。使用腾讯云的数据迁移工具DTS中的数据同步功能,该功能支持将腾讯云 Redis服务的数据迁移至ECS自建Redis中,利用该工具避开腾讯云 Redis服务屏蔽分片实际IP,实现数据从腾讯云 Redis服务迁移至华为云GeminiDB Redis中。 自建Redis到GeminiDB Redis的迁移 本实践主要介绍自建Redis到GeminiDB Redis的迁移方案。使用Redis-Shake迁移工具进行源端Redis到目标端GeminiDB Redis的迁移。迁移过程支持全量+增量迁移,支持单机/主从/Cluster集群/RDB文件等多种Redis数据源。 RDB到GeminiDB Redis的迁移 本实践主要介绍RDB到GeminiDB Redis的迁移方案。使用Redis-Shake迁移工具进行源端RDB到目标端GeminiDB Redis的迁移。迁移过程支持全量+增量迁移。 Kvrocks到GeminiDB Redis的迁移 本实践主要介绍Kvrocks到GeminiDB Redis的迁移方案。使用开源工具kvrocks2redis进行Kvrocks到GeminiDB Redis的迁移,在此基础上,从GeminiDB Redis源码层面对Kvrocks的namespace功能进行适配。 Pika到GeminiDB Redis的迁移 本实践主要介绍Pika到GeminiDB Redis的迁移方案。pika-port伪装成Pika的从节点运行,通过主从复制的方式进行数据迁移。Pika主节点通过比较pika-port和自己的binlog偏移量判断做全量迁移还是增量迁移。如果需要做全量迁移,Pika主节点会将全量数据快照发送给pika-port,pika-port将解析后的快照数据发送给GeminiDB Redis。全量迁移结束后进入增量迁移,pika-port将增量数据解析后以redis命令的形式发送给GeminiDB Redis。 SSDB到GeminiDB Redis的迁移 本实践主要介绍SSDB到GeminiDB Redis的迁移方案。ssdb-port作为源端SSDB数据库的主节点的从节点(replica)运行,通过主从复制的方式进行数据迁移。将获取到的数据解析、转换为Redis支持的格式,并发送到配置文件中指定的Redis实例。全量同步完成后,SSDB中新增的数据也会同步到Redis实例中。 LevelDB到GeminiDB Redis的迁移 本实践主要介绍LevelDB到GeminiDB Redis的迁移方案。使用自研迁移工具leveldb-port,和LevelDB部署在相同机器上,准备好配置文件,启动迁移即可自动完成全量与增量的迁移。 RocksDB到GeminiDB Redis的迁移 本实践主要介绍RocksDB到GeminiDB Redis的迁移方案。使用自研迁移工具rocksdb-port,和RocksDB部署在相同机器上,准备好配置文件,启动迁移即可自动完成全量与增量的迁移。 AWS ElasticCache for Redis数据库到GeminiDB Redis的迁移 本实践主要介绍AWS ElasticCache for Redis到GeminiDB Redis的迁移方案。AWS ElasticCache for Redis通过备份导出RDB文件后,通过Redis-Shake迁移工具的数据恢复(restore)将数据迁移到GeminiDB Redis。 数据备份 管理自动备份 介绍如何在数据库实例的备份时段中创建数据库实例的自动备份,系统根据您指定的备份保留期保存数据库实例的自动备份。 管理手动备份 介绍如何为数据库实例手动备份数据,用户可以通过手动备份恢复数据,从而保证数据可靠性。 数据恢复 恢复备份到新实例 介绍如何使用已有的自动备份或手动备份恢复实例数据到新建实例,恢复后的数据与该备份生成时的实例数据一致。 日志管理 慢日志 GeminiDB Redis支持查看数据库级别的慢日志,执行时间的单位为ms。通过该日志,可查找出执行效率低的语句,以便优化。 父主题: 快速入门
  • 如何使用GeminiDB Redis提供的多个节点IP地址 GeminiDB Redis提供多个IP地址供客户连接,连接任何一个IP地址都可以访问整个集群,其目的是为了提供负载均衡和容灾能力。 您可以通过以下三种方法使用多个IP。 业务侧实现连接池,实现负载均衡和故障检测处理。 联系客服,为您配置ELB(Elastic Load Balance,弹性负载均衡)服务,提供唯一IP供客户使用。 对多个proxy IP配置DNS域名,详情请参见通过负载均衡地址连接实例(推荐)章节中“通过内网域名连接实例”的方法。 父主题: 数据库连接
  • 成本分配 成本管理的基础是树立成本责任制,让各部门、各业务团队、各责任人参与进来,为各自消耗云服务产生的成本负责。企业可以通过成本分配的方式,将云上成本分组,归集到特定的团队或项目业务中,让各责任组织及时了解各自的成本情况。 华为云成本中心支持通过多种不同的方式对成本进行归集和重新分配,您可以根据需要选择合适的分配工具。 通过关联账号进行成本分配 企业主客户可以使用关联账号对子客户的成本进行归集,从而对子账号进行财务管理。详细介绍请参见通过关联账号维度查看成本分配。 通过企业项目进行成本分配 在进行成本分配之前,建议开通企业项目并做好企业项目的规划,可以根据企业的组织架构或者业务项目来划分。在购买云资源时选择指定企业项目,新购云资源将按此企业项目进行成本分配。详细介绍请参见通过企业项目维度查看成本分配。 图1 选择企业项目 通过成本标签进行成本分配 标签是华为云为了标识云资源,按各种维度(例如用途、所有者或环境)对云资源进行分类的标记。推荐企业使用预定义标签进行成本归集,具体流程如下: 图2 添加标签 详细介绍请参见通过成本标签维度查看成本分配。 使用成本单元进行成本分配 企业可以使用成本中心的“成本单元”来拆分公共成本。公共成本是指多个部门共享的计算、网络、存储或资源包产生的云成本,或无法直接通过企业项目、成本标签分配的云成本。这些成本不能直接归属于单一所有者,因此不能直接归属到某一类别。使用拆分规则,可以在各团队或业务部门之间公平地分配这些成本。详细介绍请参见使用成本单元查看成本分配。 父主题: 成本管理
  • 迁移原理 使用自研迁移工具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 备份方案 备份方案 使用场景 自动备份 系统按照自动备份策略,对数据库进行自动备份,您可以根据业务需求修改自动备份策略。 手动备份 根据自身业务特点手动启动数据库实例的全量备份。
  • 测试环境 区域:华北-北京四 可用区:可用区一 弹性云服务器(Elastic Cloud Server,简称ECS):规格选择通用计算型s3.2xlarge.2,8U16GB,操作系统镜像使用CentOS 7.5 64位版本。 被测试副本集实例的规格:覆盖副本集实例支持的全部规格类型,详见表1。 表1 副本集规格 副本集编号 数据库版本 实例规格 被测副本集1 4.0 4U16GB 被测副本集2 4.0 8U32GB 被测副本集3 4.0 16U64GB 被测副本集4 4.0 32U128GB
  • 测试模型 workload模型 表2 workload模型 workload模型编号 workload模型 S1 100% insert S2 90% update ,10% read S3 65% read ,25% insert, 10% update S4 90% read ,5% insert, 5% update S5 50% update, 50% read S6 100% read 测试并发数 :128 文档模型 使用YCSB默认配置,每个文档大小1KB,默认“_id”索引。 预置数据量 本次性能测试中,针对每种规格的副本集,测试了2种预置数据量下的性能。 不同规格副本集的预置数据量不同,具体如下表所示。 表3 预置数据量 副本集编号 实例规格 预置小数据量 预置大数据量 被测副本集1 4U16GB 存储容量:10GB RecordCount:10000000 存储容量:100GB RecordCount:100000000 被测副本集2 8U32GB 存储容量:10GB RecordCount:10000000 存储容量:100GB RecordCount:100000000 被测副本集3 16U64GB 存储容量:10GB RecordCount:10000000 存储容量:100GB RecordCount:100000000 被测副本集4 32U128GB 存储容量:10GB RecordCount:10000000 存储容量:100GB RecordCount:100000000 数据一致性模型 弱一致性:Write Concern为{w : 1, j : false},数据写入单个节点磁盘,将返回结果。后台异步持久化下盘,为默认的Write Concern设置。
  • 支持与限制的命令 用户在连接到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 √ - driverO IDT est 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计算节点增加,扩容性能倍数提升,可灵活轻松应对。 数据恢复快 表级时间点恢复,支持游戏快速回档。 稳定扩容 扩容期间性能稳定,不影响游戏体验。
共100000条