华为云用户手册

  • 使用SSL方式连接实例的示例代码 from influxdb import InfluxDBClient client = InfluxDBClient(host=IP, port=****, username=****, password=****, ssl=True) client.get_list_database() host,port,username,password请以实际值为准。 ssl的值必须设置为True。 如果不设置ssl,或者ssl设置为False,则会报如下错误: InfluxDBClientError: 400: Client sent an HTTP request to an HTTPS server.
  • 自动备份策略 系统按照自动备份策略,对数据库进行自动备份,备份将以压缩包的形式存储在对象存储服务中,以保证用户数据的机密性和持久性。建议您定期对数据库进行备份,当数据库故障或数据损坏时,可以通过备份恢复数据库。由于开启备份会损耗数据库读写性能,建议您选择业务低峰时间段启动自动备份。 创建数据库实例时,系统默认开启自动备份策略,默认开启的自动备份策略设置如下: 图1 开启备份策略 保留天数:自动备份可保留天数默认为7天。可设置保留天数范围为1~35天。新的全量备份未超过保留天数前系统会一直保留,直至新的全量备份超过保留天数后才会删除。 增加保留天数,可提升数据可靠性,请根据需要设置。 减少保留天数,会针对已有的备份文件生效,即超出备份保留天数的已有备份文件(包括全量备份和增量备份)会被自动删除,但手动备份不会自动删除,请您谨慎选择。 保留天数小于7天,系统每天都会进行自动备份。 系统会自动检测已有的自动备份文件,若备份文件超过用户自定义的数据保留天数,则将其删除。 备份时间段:默认为24小时中,间隔一小时的随机的一个时间段,例如04:00~05:00。备份时间段以GMT时区保存。如果碰到夏令时或冬令时切换,备份时间段会因时区变化而改变。 假如保留天数设置为“2”,表示超过两天的全量备份和增量备份会被自动删除。即周一产生的备份会在周三删除,同理,周二产生的备份会在周四删除。 全量备份文件自动删除策略: 已有备份文件超出备份天数后会自动删除,考虑到数据完整性,自动删除时仍然会保留最近的一次超过保留天数的全量备份,保证在保留天数内的数据可正常恢复。 假如备份周期选择“周一”、“周二”,保留天数设置为“2”,备份文件的删除策略如下: 本周一产生的全量备份,会在本周四当天自动删除。原因如下: 本周二的全量备份在本周四当天超过保留天数,按照全量备份文件自动删除策略,会保留最近的一个超过保留天数的全量备份(即本周二的备份会被保留),因此周四当天删除本周一产生的全量备份文件。 本周二产生的全量备份,会在下周三当天自动删除。原因如下: 下周一产生的全量备份在下周三超过保留天数,按照全量备份文件自动删除策略,会保留最近的一个超过保留天数的全量备份(即下周一的备份会被保留),因此下周三当天删除本周二产生的全量备份。 备份周期:默认为全选。 全选:选择一周内的每一天。系统每天都会进行自动备份。 选择周期:选择一周内的一天或几天。系统会在所选时间进行自动备份。 备份周期对应的备份开始时间1小时内,系统会自动触发全量备份。备份所需时间由备份数据量决定,备份数据量越大,备份所需时间越长。 实例创建成功后,您可根据业务需要设置自动备份策略。系统将按照您设置的自动备份策略对数据库进行备份。 关闭自动备份策略后,自动备份将会立即停止。
  • 新建独享型负载均衡器并进行配置 购买独享型负载均衡器,详情参考创建独享型负载均衡器。需要注意以下事项: 选择“规格”时,需要选择网络型(TCP/UDP)。 在网络配置中,必须开启‘跨VPC后端’, 以支持负载均衡器添加后端IP。 若选择的“所属VPC”和GaussDB(for Redis)在同一个虚拟私有云(VPC)中,后续仅需参考2和7。 若选择的“所属VPC”和GaussDB(for Redis)不在同一个虚拟私有云(VPC)中,则需要按照以下步骤逐步配置。 需要使用新创建或者已有的“弹性公网IP”,以支持公网访问。 添加监听器,详情参考添加独享型负载均衡TCP监听器。需要注意以下事项: 图1 添加监控器 在“配置监听器”时,前端协议选择TCP,前端端口建议设置为Redis常用端口6379。 在配置“添加后端服务器”时,选择“跨VPC后端”,点击“添加跨VPC后端”。在跨VPC后端IP,配置GaussDB(for Redis)实例的负载均衡地址、端口信息。 “配置健康检查”保持开启即可。 创建对等连接 ,“本端VPC”选择ELB所在的VPC,“对端VPC”选择GaussDB(for Redis)实例所在的VPC,详情参考创建相同帐户下的对等连接。 单击创建好的对等连接名称,进入对等连接基本信息页面。 图2 对等连接 单击“路由表”,进入路由表基本信息页面。 图3 路由表 配置对等连接的本端路由、对端路由。 添加本端路由:单击“添加路由”,弹出“添加路由”窗口,“目的地址”输入对等连接中“对端VPC网段”值,“下一跳类型”选择“对等连接”,“下一跳”选择3中创建的对等连接,单击“确定”。 添加对端路由:单击“添加路由”,弹出“添加路由”窗口,“目的地址”输入对等连接中“本端VPC网段”值,“下一跳类型”选择“对等连接”,“下一跳”选择3中创建的对等连接,单击“确定”。 对添加的GaussDB(for Redis)的负载均衡地址进行健康检查,单击“监听器”,当健康检查结果为“正常”时,表示正常使用。 图4 健康检查
  • 支持审计的关键操作列表 通过云审计服务,您可以记录与GaussDB(for Redis)相关的操作事件,便于日后的查询、审计和回溯。 表1 GaussDB(for Redis)的关键操作列表 操作名称 资源类型 事件名称 创建实例 instance NoSQLCreateInstance 删除实例 instance NoSQLDeleteInstance 扩容节点 instance NoSQLEnlargeInstance 缩容节点 instance NoSQLReduceInstance 重启实例 instance NoSQLRestartInstance 恢复到新实例 instance NoSQLRestoreNewInstance 磁盘扩容 instance NoSQLExtendInstanceVolume 重置密码 instance NoSQLResetPassword 修改实例名称 instance NoSQLRenameInstance 绑定弹性公网IP instance NoSQLResizeInstance 解绑弹性公网IP instance NoSQLBindEIP 规格变更 instance NoSQLUnBindEIP 实例冻结 instance NoSQLFreezeInstance 实例解冻 instance NoSQLUnfreezeInstance 创建备份 backup NoSQLCreateBackup 删除备份 backup NoSQLDeleteBackup 设置备份策略 backup NoSQLSetBackupPolicy 添加实例标签 tag NoSQLAddTags 修改实例标签 tag NoSQLModifyInstanceTag 删除实例标签 tag NoSQLDeleteInstanceTag 创建参数模板 parameterGroup NoSQLCreateConfigurations 修改参数模板 parameterGroup NoSQLUpdateConfigurations 修改实例参数 parameterGroup NoSQLUpdateInstanceConfigurations 复制参数模板 parameterGroup NoSQLCopyConfigurations 重置参数模板 parameterGroup NoSQLResetConfigurations 应用参数模板 parameterGroup NoSQLApplyConfigurations 删除参数模板 parameterGroup NoSQLDeleteConfigurations 删除扩容失败的节点 instance NoSQLDeleteEnlargeFailNode 切换SSL instance NoSQLSwitchSSL 修改实例安全组 instance NoSQLModifySecurityGroup 搭建双活关系 instance NoSQLBuildBiactiveInstance 回收站策略 instance NoSQLModifyRecyclePolicy 父主题: 实例操作审计
  • 约束与限制 包年/包月的云数据库绑定的资源(弹性公网IP)可能不支持随云数据库同步变更计费模式,请参考表1查看绑定资源的计费规则及处理措施。 表1 弹性公网IP计费模式变更规则 资源 计费模式 计费方式 带宽类型 是否支持随GaussDB(for Cassandra)包年/包月转按需 处理措施 弹性公网IP 包年/包月 按带宽计费 独享带宽 否 在控制台的弹性公网IP页面进行按需转包年/包月操作。 详细内容,请参见变更弹性公网IP计费方式。 弹性公网IP 包年/包月 按流量计费 独享带宽 否 包年/包月EIP不支持直接转为按需、按流量计费EIP。变更方法如下: 先转为按需、按带宽计费EIP。 再由按需、按带宽计费EIP转为按需、按流量计费EIP。 详细内容,请参见变更弹性公网IP计费方式。
  • 需要使用Hashtag的多Key命令 以下命令需要使用hashtag,否则会报crossslot错误。 表16 需要使用Hashtag的多Key命令 命令类型 命令 String msetnx List blpopbrpop brpoplpush brpoplpush Set sdiffsdiffstore sinter sinterstore smove sunionsunionstore Sorted Set zinterstore zunionstore Stream xread xreadgroup HyperLogLog pfcount pfmerge Geo georadius georadiusbymember Bitmap bitop Lua eval evalsha
  • Bloom Filter GaussDB(for Redis)的布隆过滤器底层使用Hash结构实现,请不要使用Hash类型的同名Key。 bf.loadchunk和bf.scandump命令用于迁移,因存储方式不同,不予支持。 出于安全考虑,bf.reserve初始设置的capacity上限为2621440(2M), 当输入的capacity值超过2M时会将capacity自动设置为2M。如需要更大的capacity,请使用布隆过滤器的扩展功能;expansion参数上限为10,超过限制时会自动调整为10。 详情请参考Bloom Filter介绍和Bloom Filter命令说明。 表15 Bloom Filter支持的命令 命令 是否支持 备注 bf.add √ - bf.exists √ - bf.info √ - bf.insert √ - bf.madd √ - bf.mexists √ - bf.reserve √ -
  • Stream 表7 Stream支持的命令 命令 是否支持 备注 xack √ - xadd √ - xclaim √ - xdel √ - xgroup create √ - xgroup delconsumer √ - xgroup destroy √ - xgroup setid √ - xinfo consumers √ - xinfo groups √ - xinfo stream √ 内部存储协议与开源不同,radix相关表述与开源有差异。 xlen √ - xpending √ - xrange √ - xread √ - xreadgroup √ - xrevrange √ - xsetid √ - xtrim √ -
  • Generic GaussDB(for Redis)允许不同类型数据使用同名key,如果不同数据类型使用了同名key,则type和del命令按照string、hash、list、zset、set、stream的顺序查找key,并对第一个找到的类型进行处理。 表8 Generic支持的命令 命令 是否支持 备注 del √ - dump √ - exists √ - expire √ - expireat √ - keys √ - move x - persist √ - pexpire √ - pexpireat √ - pttl √ - randomkey √ - rename √ - renamenx √ - restore √ - scan √ - sort √ cluster不支持by选项, 与社区保持一致;暂不支持store选项。 touch √ - ttl √ - type √ - unlink √ -
  • Server management config 系列命令通过控制台提供服务化。 表13 Server management支持的命令 命令 是否支持 备注 command √ - dbsize √ 因采用MVCC机制,查询结果为估计值,非实时准确值。 flushall √ 双活场景下不支持该命令。 flushdb √ 双活双写场景下备实例不支持该命令。 info √ 相比开源Redis增加了部分信息项。 role √ - time √ -
  • Set 表6 Set支持的命令 命令 是否支持 备注 sadd √ - scard √ - sdiff √ - sdiffstore √ - sinter √ - sinterstore √ - sismember √ - smembers √ - smove √ - spop √ - srandmember √ - srem √ - sscan √ - sunion √ - sunionstore √ -
  • Sorted Set 表5 Sorted Set支持的命令 命令 是否支持 备注 bzpopmax √ - bzpopmin √ - zadd √ - zcard √ - zcount √ - zdiffstore √ - zincrby √ - zinterstore √ - zlexcount √ - zpopmax √ - zpopmin √ - zrange √ - zrangebylex √ - zrangebyscore √ - zrank √ - zrem √ - zremrangebylex √ - zremrangebyrank √ - zremrangebyscore √ - zrevrange √ - zrevrangebylex √ - zrevrangebyscore √ - zrevrank √ - zscan √ - zscore √ - zunion √ - zunionstore √ -
  • String 表2 String支持的命令 命令 是否支持 备注 append √ - decr √ - decrby √ - get √ - getdel √ - getex √ - getrange √ - getset √ - incr √ - incrby √ - incrbyfloat √ - mget √ mget命令已经进行拆分处理,不需要对key添加Hashtag。 mset √ mset命令已经进行拆分处理,不需要对key添加Hashtag。 msetnx √ - psetex √ - set √ - setex √ - setnx √ - setrange √ - strlen √ -
  • List 表4 List支持的命令 命令 是否支持 备注 blpop √ - brpop √ - brpoplpush √ - lindex √ - linsert √ - llen √ - lmove √ - lpop √ - lpos √ - lpush √ - lpushx √ - lrange √ - lrem √ - lset √ - ltrim √ - rpop √ - rpoplpush √ - rpush √ - rpushx √ -
  • 计费说明 GaussDB(for Influx)的计费项由实例规格费用、存储空间费用、备份空间费用和公网流量费用组成。具体内容如表1所示。 标 * 的计费项为必选计费项。 表1 GaussDB(for Influx)实例计费项 计费项 计费项说明 适用的计费模式 计费公式 * 实例规格 计费因子:vCPU和内存,不同规格的实例类型提供不同的计算和存储能力。 包年/包月、按需计费 实例规格单价 * 购买时长 实例规格单价请参见云数据库 GaussDB NoSQL价格详情中的“集群-规格费用”。 * 存储空间 计费因子:存储空间,按统一标准进行计费。 包年/包月、按需计费 存储空间单价 * 存储容量 * 购买时长 请参见云数据库 GaussDB NoSQL价格详情中的“集群磁盘空间计费信息”。 备份空间 计费因子:备份空间,按统一标准进行计费。 按需计费 备份空间单价 * 备份收费容量 * 购买时长 请参见云数据库 GaussDB NoSQL价格详情中的“备份空间计费信息”。 说明: 计费时长:备份超过免费空间大小的使用时长。 冷存储空间 计费因子:冷存储空间,按统一标准进行计费。 包年/包月、按需计费 冷存储空间单价 * 存储容量 * 购买时长 请参见云数据库 GaussDB NoSQL价格详情中的“冷存储空间计费信息”。 公网流量 如有互联网访问需求,您需要购买弹性公网IP。 计费因子:带宽费、流量费和IP保有费。 包年/包月计费模式支持按带宽计费方式,收取带宽费。 按需计费模式支持按带宽计费、按流量计费和加入共享带宽三种计费方式,分别收取带宽费+IP保有费、流量费+IP保有费、带宽费+IP保有费。 包年/包月、按需计费 带宽费支持使用带宽加油包抵扣,流量费支持使用共享流量包抵扣。 按固定带宽值采用阶梯计费 0Mbit/s~5Mbit/s(含):均为一个统一的单价 大于5Mbit/s:按每Mbit/s计费 公网带宽单价请参见弹性云服务器价格详情中的“带宽价格”,或者弹性公网IP价格详情。
  • 计费示例 假设您在2023/03/08 15:50:04购买了一个包年/包月GaussDB(for Influx)实例(规格:2 vCPUs 8GB,节点数量:3,存储空间:100GB,备份空间:110GB(赠送100GB,后续收费空间10GB),冷存储空间:500GB),计费资源包括实例规格(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给出了上述示例配置的费用计算过程。 图中价格仅为示例,实际计算请以云数据库 GaussDB NoSQL价格详情中的价格为准。 图1 包年/包月GaussDB(for Influx)费用计算示例 按需计费模式下,各计费项的计费示例请参见计费示例。
  • 备份原理 GaussDB(for Mongo)目前仅支持副本集实例,其备份原理如下。 GaussDB(for Mongo)副本集实例由主节点和备节点组成。如图1所示,GaussDB(for Mongo)副本集实例的备份是在节点ID字典序最小的备节点上进行的。备份过程中会占用备份节点一定的CPU内存资源,因此会存在CPU使用率、内存使用率指标上涨的情况,属于正常现象。但最终的备份文件将以压缩包的形式存储在对象存储服务(OBS)中,不会占用实例的磁盘空间。 图1 备份原理图
  • 备份存储 GaussDB(for Mongo)的备份数据存储至对象存储服务(Object Storage Service,简称OBS),在提高数据容灾能力的同时有效降低磁盘空间占用。 购买实例存储空间后,GaussDB(for Mongo)将同比例赠送备份存储空间,用于存储备份数据。例如,您购买的实例存储空间为100GB时,会得到赠送的100GB备份存储空间。当备份数据没有超出100GB,将免费存储在OBS上;当备份数据超出100GB,超出部分将根据OBS的计费规则收费,详情请参见OBS计费详情。
  • 备份方案 GaussDB(for Mongo)实例支持自动备份和手动备份两种方案。 自动备份 您可以在管理控制台设置自动备份策略,系统将会按照自动备份策略中设置的备份时间段和备份周期进行自动备份,并且会按照设置的备份保留天数对备份文件进行存放。 自动备份的备份文件不支持手动删除,可通过修改自动备份策略调整备份保留天数,超出备份保留天数的已有备份文件会被自动删除。 手动备份 手动备份是由用户根据自身业务特点随时启动的数据库实例的全量备份,会一直保存,直到用户手动删除。 建议您定期对数据库进行备份,当数据库故障或数据损坏时,可以通过备份恢复数据库,从而保证数据可靠性。 表1 备份方案 备份方案 使用场景 自动备份 系统按照自动备份策略,对数据库进行自动备份,您可以根据业务需求修改自动备份策略。 手动备份 根据自身业务特点手动启动数据库实例的全量备份。
  • 操作系统更新 GaussDB(for Redis)实例需要适时进行操作系统更新,以提高数据库性能和数据库的整体安全状况。 实例内核版本升级时,GaussDB(for Redis)会根据操作系统的实际情况,决定是否更新以及更新适合的操作系统冷补丁版本。 操作系统更新不会更改数据库实例的版本或数据库实例信息。 此外,GaussDB(for Redis)会在用户设置的运维时间段内,通过热补丁方式及时修复影响重大的操作系统漏洞。 父主题: 实例变更管理
  • 使用须知 该功能目前为公测阶段,如需使用,请联系客服申请开通相应的操作权限。 搭建双活关系前,需要提前创建好两个GaussDB(for Redis)实例,这两个实例必须在不同VPC下,VPC不允许使用192和172开头的IP,主备实例使用的VPC网段不重叠,需要确保实例所在的VPC网络互通,同region使用对等连接,跨region使用云连接,具体操作请参见网络配置。 搭建双活关系前,需要确保创建的两个GaussDB(for Redis)实例的规格、磁盘、节点个数保持一致,且端口必须是8635。 搭建双活关系过程中,主实例会有多次秒级中断,需要业务具备重试机制,备实例不能处理业务,备实例的数据会被清空,最终与主实例数据一致。搭建时长取决于节点个数和数据容量。 搭建双活关系后,不允许在主实例和备实例同时进行添加节点、删除节点和规格变更操作。 搭建双活关系后,支持主备实例变更存储容量,用户要避免主备实例容量长期不一致。 搭建双活关系后,不支持flushall命令。 双写的场景,需要业务避免同一时刻或相近的时刻修改同一个key,否则有可能导致数据不一致。备实例不支持flushdb命令。 跨region场景的同步时延主要取决于云连接时延,还取决于写流量和云连接配置的域间带宽是否匹配。如果写流量大于云连接带宽,将会导致同步数据堆积,支持在节点监控上通过“rsync的同步WAL堆积大小”指标查看数据堆积大小并设置告警规则,具体请参见查看监控指标。 父主题: 双活容灾
  • 修订记录 发布日期 修订记录 2023-08-30 第三十五次正式发布。 新增计费说明。 2023-07-18 第三十四次正式发布。 新增入门实践。 2023-06-30 第三十三次正式发布。 新增事件监控。 2023-05-30 第三十二次正式发布。 新增查看增量备份文件。 2023-04-28 第三十一次正式发布。 新增通过Go连接实例。 新增增量备份策略。 2023-03-31 第三十次正式发布。 新增操作系统更新。 2023-01-05 第二十九次正式发布。 支持设置跨区域备份策略。 2022-08-11 第二十八次正式发布。 购买实例,支持磁盘加密。 新增常见问题:资源冻结/释放/删除/退订。 2022-07-07 第二十七次正式发布。 升级内核小版本,支持补丁升级功能。 2022-06-01 第二十六次正式发布。 异地双活原理介绍,支持异地双活功能。 2022-02-15 第二十五次正式发布。 购买实例,修改实例名称,优化中文名称长度。 删除节点,GaussDB(for Cassandra)包年/包月实例支持缩容节点数量。 创建容灾实例,支持同个VPC下跨子网创建灾备实例。 2022-01-27 第二十四次正式发布。 实例续费,按需计费实例转包周期,包周期实例转按需计费,退订包周期实例,支持批量操作。 2021-11-20 第二十三次正式发布。 购买实例,存储空间自动扩容,支持扩容。 2021-09-27 第二十二次正式发布。 删除节点,支持删除节点。 2021-06-30 第二十一次正式发布。 购买实例,GaussDB(for Cassandra)实例名称支持中文。 修改实例安全组,GaussDB(for Cassandra)支持修改安全组。 2021-06-23 第二十次正式发布。 通过Java连接实例,增加Java连接GaussDB(for Cassandra)实例的方法。 2021-06-15 第十九次正式发布。 调整文档结构。 2021-04-30 第十八次正式发布。 数据库实例规格,增加不同规格实例支持的最小存储容量。 2021-04-15 第十七次正式发布。 调整文档结构。 购买页优化性能规格描述。 2021-01-30 第十六次正式发布。 实例操作列增加规格变更、添加节点和磁盘扩容入口。 2020-12-30 第十五次正式发布。 GaussDB(for Cassandra)支持创建容灾实例。 2020-10-30 第十三次正式发布。 资源标签支持20个配额。 扩容磁盘支持每次至少选择1GB扩容量。 GaussDB(for Cassandra)支持包周期实例的计算规格降配变更。 2020-09-30 第十二次正式发布。 支持实例配额管理。 GaussDB(for Cassandra)增加磁盘使用率指标监控。 2020-08-30 第十一次正式发布。 GaussDB(for Cassandra)支持如下功能: 支持修改实例名称 支持实例回收站 支持导出日志文件 2020-07-30 第十次正式发布。 GaussDB(for Cassandra)支持时间点恢复。 2020-06-30 第九次正式发布。 GaussDB(for Cassandra)支持如下功能: 购买包周期实例 包周期实例续费 按需实例转包周期实例 包周期实例转按需计费实例 退订包周期实例 支持SSL加密 支持跨AZ级容灾 2020-04-30 第八次正式发布。 新增监控指标。 2020-03-31 第七次正式发布。 新增创建参数模板。 新增导出参数模板。 新增比较参数模板。 新增复制参数模板。 新增重置参数模板。 新增应用参数模板。 新增查看参数模板应用记录。 新增修改参数模板描述。 新增删除参数模板。 新增部分支持的监控指标,请参见GaussDB(for Cassandra)支持的监控指标。 2020-03-13 第六次正式发布。 支持慢日志。 2020-01-20 第五次正式发布。 GaussDB(for Cassandra)支持规格变更。 2019-11-18 第四次正式发布。 支持重置管理员密码。 支持重启数据库实例。 支持修改数据库实例名称。 2019-10-22 第三次正式发布。 对接标签管理服务。 2019-09-11 第二次正式发布。 支持添加和删除GaussDB(for Cassandra)实例的节点。 支持扩容GaussDB(for Cassandra)实例的磁盘容量。 2019-07-18 第一次正式发布。
  • 在费用中心续费 登录管理控制台。 单击“控制台”页面上方“费用与成本”,在下拉菜单中选择“续费管理”。 进入“续费管理”页面。 自定义查询条件。 可在“手动续费项”、“自动续费项”、“到期转按需项”、“到期不续费项”页签查询全部待续费资源,对资源进行手动续费的操作。 图4 续费管理 所有需手动续费的资源都可归置到“手动续费项”页签,具体操作请参见如何恢复为手动续费。 手动续费资源。 单个续费:在资源页面找到需要续费的资源,单击操作列的“续费”。 图5 单个续费 批量续费:在资源页面勾选需要续费的资源,单击列表左上角的“批量续费”。 图6 批量续费 选择续费时长,判断是否勾选“统一到期日”,将到期时间统一到各个月的某一天(详细介绍请参见统一包年/包月资源的到期日)。确认配置费用后单击“去支付”。 图7 续费确认 进入支付页面,选择支付方式,确认付款,支付订单后即可完成续费。
  • 迁移原理 使用自研迁移工具rocksdb-port,和RocksDB部署在相同机器上,准备好配置文件,启动迁移即可自动完成全量与增量的迁移。 全量迁移对RocksDB数据进行快照,然后扫描整个数据库,将数据打包成GaussDB(for Redis)识别的格式,发送到GaussDB(for Redis),具有很高的迁移效率。 增量迁移解析RocksDB的wal文件,将RocksDB的操作解析出来,然后对其中的key进行分片,多线程进行发送。
  • AOF导入GaussDB(for Redis) 用户上传数据源AOF文件到ECS上。 在ECS上启动开源Redis 5.0单机进程,加载AOF并等待启动完成。开源Redis的启动目录需为AOF文件所在的目录。 通过SAVE命令生成数据快照,等待RDB文件生成完毕。RDB文件在Redis的启动目录下。 停止开源Redis 5.0单机进程。 按照RDB导入GaussDB(for Redis)进行迁移。 注:使用redis-shake v2迁移过程中,常见问题及解决方法请参考redis‐shake 2.x 常见问题。
  • Lua脚本中禁止执行的命令 Hash:hscan List:blpop、brpop、brpoplpush Set:sscan Sorted Set:bzpopmax、bzpopmin、zscan Stream:xread、xreadgroup Generic:rename、renamenx、restore、scan、client、command、config、dbsize、flushall、flushdb、info、keys Lua:eval、evalsha、script Pub/Sub:psubscribe、publish、punsubscribe、subscribe、unsubscribe Transactions:discard、exec、multi、unwatch、watch
  • 与开源Redis Lua的区别 EVAL/EVALSHA命令 命令格式: EVAL script numkeys key [key …] arg [arg …] EVALSHA sha1 numkeys key [key …] arg [arg …] 上述命令的语法与操作与开源Redis一致。用户需自己保证将脚本中使用到的Redis key显式的通过key参数传入,而不是直接在脚本中编码,并且如果带有多个key参数,则要求所有的key参数必须拥有相同的hash tag。 如果不遵循上述约束,则在Lua中执行涉及这些key的Redis操作时,可能会返回类似“partition not found”的错误信息。 SCRIPT命令 SCRIPT命令包含了一组管理Lua脚本的子命令,具体可以通过SCRIPT HELP命令查询具体的操作。 SCRIPT大部分命令都与开源Redis兼容,其中需要特别说明的命令如下: SCRIPT KILL GaussDB(for Redis)是多线程执行的环境,允许同时执行多个Lua脚本,执行SCRIPT KILL,会终止所有正在运行的Lua脚本。 为了方便使用,GaussDB(for Redis)扩展了SCRIPT KILL命令,用户可以通过‘SCRIPT KILL SHA1’来终止指定哈希值的脚本。若同一时间存在多个节点在执行哈希值相同的脚本,那么这些脚本都会被终止。 另外,由于用户无法设置Lua超时时间(config set lua-time-limit),因此在任意时刻执行SCRIPT KILL都能直接终止脚本,而不是等待脚本超时后才终止。 SCRIPT DEBUG 目前GaussDB(for Redis)不支持DEBUG功能,所以该命令执行无效。 Lua脚本中执行Redis命令 与开源Redis一致,GaussDB(for Redis)的Lua环境中也提供了一个全局的“redis”表,用于提供各类和Redis Server交互的函数。 如表1为GaussDB(for Redis)目前支持和不支持的操作列表。 表1 函数列表 支持的操作 不支持的操作 redis.call() redis.pcall() redis.sha1hex() redis.error_reply() redis.status_reply() redis.log() redis.LOG_DEBUG redis.LOG_VERBOSE redis.LOG_NOTICE redis.LOG_WARNING redis.replicate_commands() redis.set_repl() redis.REPL_NONE redis.REPL_AOF redis.REPL_SLAVE redis.REPL_REPLICA redis.REPL_ALL redis.breakpoint() redis.debug() Lua执行环境限制 开源Redis对Lua脚本的执行有一定的限制,比如限制脚本操作全局变量,限制随机函数的结果,限定能够使用的系统库和第三方库等。 GaussDB(for Redis)也继承了绝大多数的限制,但是针对如下情况,GaussDB(for Redis)与开源Redis存在差异: Write Dirty 开源Redis规定,如果某个脚本已经执行了写操作,那么就不能被SCRIPT KILL停止执行,必须使用SHUTDOWN NOSAVE来直接关闭Redis Server。 GaussDB(for Redis)不支持执行SHUTDOWN命令,因此这条限制不会被执行,用户仍然可以通过SCRIPT KILL来停止脚本的执行。 Random Dirty 由于主从复制的原因,开源Redis规定,若脚本执行了带有随机性质的命令(Time, randomkey),则不允许再执行写语义的命令。 例如,如下Lua脚本: local t = redis.call("time") return redis.call("set", "time", t[1]); 当该脚本的执行传递到从节点时,Time命令获取到的时间一定晚于主节点,因此从节点执行的Set命令的值就会和主节点产生冲突。开源Redis引入了replicate_commands来允许用户决定这种场景下的行为模式。 对于GaussDB(for Redis)来说,由于没有主从的概念,数据在逻辑上只有一份,因此也就不存在该限制。
  • 防暴力破解 防暴力破解安全机制 GaussDB(for Redis)默认开启auth认证的防暴力破解功能,当auth认证错误次数累计超过5次,该IP会被后台锁定,不能继续进行auth认证。 自动解除机制 当一个IP被锁定超过5秒后,该IP会被自动解锁,此后可以重新进行认证。 人工解锁 如需人工解锁IP,或关闭实例的防暴力破解功能,请联系客服提交工单,进行授权确认。 为进一步提高安全性,可根据实际情况提交工单,由技术人员协助进行认证次数及锁定时长的调节。 为保证安全性,请您充分评估风险,谨慎关闭或调整该安全策略,关闭后由此带来的安全风险及事故,将不计入服务SLA中,由客户自行承担。 父主题: 步骤二:连接实例
  • 事件监控支持的事件说明 表1 云数据库GaussDB NoSQL事件监控支持的事件说明 事件来源 事件名称 事件ID 事件级别 事件说明 处理建议 事件影响 NoSQL 创建实例业务失败 NoSQLCreateInstanceFailed 重要 一般是由于实例配额不足或底层资源不足等原因导致。 先释放不再使用的实例再尝试重新发放,或者提交工单调整配额上限。 无法创建数据库实例。 变更规格失败 NoSQLResizeInstanceFailed 重要 一般是由于底层资源不足等原因导致。 提交工单让运维在后台协调资源再重试规格变更操作。 业务中断。 添加节点失败 NoSQLAddNodesFailed 重要 一般是由于底层资源不足等原因导致。 提交工单让运维在后台协调资源,删除添加失败的节点,重新尝试添加新节点。 无 删除节点失败 NoSQLDeleteNodesFailed 重要 一般是由于底层释放资源失败导致。 重新尝试删除节点。 无 扩卷失败 NoSQLScaleUpStorageFailed 重要 一般是由于底层资源不足等原因导致。 提交工单让运维在后台协调资源再重试扩卷操作。 如果磁盘满,会导致业务中断。 重置密码失败 NoSQLResetPasswordFailed 重要 一般是由于重置密码命令超时导致。 重新尝试重置密码操作。 无 修改参数模板失败 NoSQLUpdateInstanceParamGroupFailed 重要 一般是由于修改参数模板命令超时导致。 重新尝试修改参数模板操作。 无 设置备份策略失败 NoSQLSetBackupPolicyFailed 重要 一般是由于数据库连接异常导致。 重新重试设置备份策略操作。 无 创建手动备份失败 NoSQLCreateManualBackupFailed 重要 一般是备份文件导出失败或上传失败等原因导致。 提交工单让运维处理。 无法备份数据。 创建自动备份失败 NoSQLCreateAutomatedBackupFailed 重要 一般是备份文件导出失败或上传失败等原因导致。 提交工单让运维处理。 无法备份数据。 实例运行状态异常 NoSQLFaultyDBInstance 重要 由于灾难或者物理机故障导致实例故障时,会上报该事件,属于关键告警事件。 提交工单。 可能导致数据库服务不可用。 实例运行状态异常已恢复 NoSQLDBInstanceRecovered 重要 针对灾难性的故障,NoSQL有高可用工具会自动进行恢复或者手动恢复,执行完成后会上报该事件。 不需要处理。 无 节点运行状态异常 NoSQLFaultyDBNode 重要 由于灾难或者物理机故障导致数据库节点故障时,会上报该事件,属于关键告警事件。 检查数据库服务是否可以正常使用,并提交工单。 可能导致数据库服务不可用。 节点运行状态异常已恢复 NoSQLDBNodeRecovered 重要 针对灾难性的故障,NoSQL有高可用工具会自动进行恢复或者手动恢复,执行完成后会上报该事件。 不需要处理。 无 实例主备切换 NoSQLPrimaryStandbySwitched 重要 在手动触发的主备倒换或节点故障自动触发的故障倒换场景下,会上报该事件。 不需要处理。 无 出现热点分区键 HotKeyOccurs 重要 客观上是因为主键设置不合理,使得热点数据集中分布在一个分区。客户端不合理的应用程序设计,造成对某一key的频繁读写。 1. 选择合理的分区键。 2. 业务增加缓存,业务应用先从缓存中读取热点数据。 影响业务请求成功率,存在影响集群性能及稳定性的风险。 出现超大分区键 BigKeyOccurs 重要 主键设计不合理,单个分区的记录数或数据量过大,引起了节点负载不均。 1. 选择合理的分区键 2. 基于现有分区键,增加分区键散列。 随着数据量增长,集群稳定性会下降。 数据盘空间不足 NoSQLRiskyDataDiskUsage 重要 数据盘空间不足,产生此告警。 请参见对应服务用户指南中“扩容磁盘”的内容,进行磁盘扩容。 实例被设为只读模式,数据无法写入。 数据盘空间已扩容并恢复可写 NoSQLDataDiskUsageRecovered 重要 数据盘空间已扩容并恢复可写,产生此事件。 无需处理。 无 创建索引失败 NoSQLCreateIndexFailed 重要 业务负载超过实例规格瓶颈,此时再创建索引会耗费更多实例资源,导致响应变慢甚至卡顿,最终超时,引起索引创建失败。 1、根据业务负载,选择匹配的实例规格 2、在业务低峰期创建索引 3、使用后台方式创建索引 4、索引字段,结合业务进行合理选择。 索引创建失败或不完整,导致索引无效,需要删掉索引重新创建。 发生写入降速 NoSQLStallingOccurs 重要 写入速度快,接近集群规模和实例规格范围允许最大写能力,从而触发数据库自身的限流机制,会发生请求失败情况 1. 根据业务的最大写请求速率,调整集群规模或者节点规格 2. 衡量业务的最大写请求速率,分散业务写峰值速率 影响业务的请求的成功率 发生写入停止 NoSQLStoppingOccurs 重要 写入速度过快,达到集群规模和实例规格范围允许最大写能力,从而触发数据库自身的限流机制,会发生请求失败情况 1. 根据业务的最大写请求速率,调整集群规模或者节点规格 2. 衡量业务的最大写请求速率,分散业务写峰值速率 影响业务的请求的成功率 重启数据库失败 NoSQLRestartDBFailed 重要 一般是由于实例状态异常等原因导致。 提交工单让运维处理。 数据库实例状态可能存在异常。 恢复到新实例失败 NoSQLRestoreToNewInstanceFailed 重要 一般是由于底层资源不足等原因导致。 提交工单让运维在后台协调资源,重新尝试添加新节点。 无法恢复到新的数据库实例。 恢复到已有实例失败 NoSQLRestoreToExistInstanceFailed 重要 一般是由于备份文件下载或恢复失败等原因导致。 提交工单让运维处理。 当前数据库实例可能处于不可用状态。 删除备份文件失败 NoSQLDeleteBackupFailed 重要 一般是由于备份文件从obs删除失败导致。 重新尝试删除备份文件。 无 切换慢日志明文开关失败 NoSQLSwitchSlowlogPlainTextFailed 重要 一般是由于引擎不支持切换等原因导致。 请查阅NoSQL用户指南,确认引擎支持打开慢日志明文开关。提交工单让运维处理。 无 绑定EIP失败 NoSQLBindEipFailed 重要 一般是由于节点状态不正常,节点已经绑定EIP或EIP非法等原因导致。 检查节点是否正常,EIP是否合法。 无法通过公网访问数据库实例。 解绑EIP失败 NoSQLUnbindEipFailed 重要 一般是由于节点状态不正常,节点已经未绑定EIP等原因导致。 检查节点和EIP状态是否正常。 无 修改参数失败 NoSQLModifyParameterFailed 重要 一般是由于参数取值非法等原因导致。 排查参数值是否符合在合法范围内,提交工单让运维处理。 无 参数模板应用失败 NoSQLApplyParameterGroupFailed 重要 一般是由于实例状态异常导致参数模板无法应用等原因导致。 提交工单让运维处理。 无 开启或关闭SSL失败 NoSQLSwitchSSLFailed 重要 一般是由于修改SSL命令超时导致。 重新提交一次或者提交工单处理,并先保持切换之前使用SSL的连接方式。 是否使用SSL连接。 单行数据量太大 LargeRowOccurs 重要 用户单行数据量过大,可能会导致查询超时,进而节点OOM挂掉等各种故障发生。 1. 对每列和每行的写入长度做限制,遵从规范,使得单行的的key和value长度和不超过阈值。 2. 排查业务是否出现异常写入和异常编码,导致写入大row。 过大的单行记录,随着数据量增长,集群稳定性会下降。 父主题: 事件监控
  • 其他需要支持持久化存储的应用 除上述场景外,随着互联网飞速发展,各种大型应用对持久化存储的需求与日俱增,具体来说,需要存储包括:历史订单、特征工程、日志记录、位置坐标、机器学习、用户画像等信息在内的海量数据。这些数据的共同特点是:数据量大,有效期长,需要一个支持大容量,低成本的key-value存储服务完成数据的采集和流转。Redis作为当前应用最为广泛的key-value服务,其丰富的数据结构和操作接口对于存储此类数据具有先天优势,但由于原生Redis只能作为缓存,因此无法在持久化存储领域发挥作用。
共100000条