华为云用户手册

  • 兼容接口和版本 介绍GeminiDB Influx目前支持的兼容接口和版本。 表1 兼容接口和版本 兼容接口 实例类型 版本 InfluxDB 集群 集群是基于多个节点(至少是三节点)组成。集群的主要特点是横向扩展能力强,能满足不断增长的数据量需求,因此当您对可用性要求较高、数据量较大、未来扩展性要求较高的情况下,推荐您使用集群架构。 单节点 单节点实例只有一个节点,无法保证SLA,建议仅用于测试和功能验证。 1.7,1.8 父主题: 产品介绍
  • 使用须知 当有对应的补丁更新时(定期同步开源社区问题、漏洞修复),请及时进行升级。 当数据库版本为风险版本时,会提醒用户进行数据库补丁升级。 补丁升级会采用滚动升级的方式,升级过程中会依次重启每一个节点,重启期间业务会由其他节点接管,每次接管会产生5-10s闪断,请在业务低峰变更,避免实例过载,并建议业务添加自动重连机制,确保重启后连接及时重建。 基础组件升级约需15分钟,数据组件升级与节点数量有关,约1-2min每节点。
  • 连接方式介绍 GeminiDB Influx提供使用内网、公网和程序代码的连接方式。 连接GeminiDB Influx实例的使用流程介绍如图1所示。 图1 连接方式介绍 表1 连接方式 连接方式 使用场景 默认端口 说明 DAS连接 GeminiDB Influx支持通过管理控制台的Web客户端连接Influx实例 - 易用、安全、高级、智能。 默认为您开通了远程主机登录权限,推荐您使用更安全便捷的数据管理服务连接实例。 内网连接 介绍使用内网IP或者负载均衡地址连接GeminiDB Influx实例的方法。 该方法适用于当应用部署在弹性云服务器上,且该弹性云服务器与数据库实例处于同一区域、同一VPC内时连接数据库实例。 8635 为了提升可靠性、消除单点故障影响,推荐使用负载均衡地址连接实例。 安全性高,可实现数据库实例的较好性能。 E CS 与Influx实例在相同安全组 默认ECS与Influx实例内网互通,无需设置安全组规则。 ECS与Influx实例在不同安全组时,需要为Influx和ECS分别设置安全组规则。 设置Influx安全组规则:为Influx所在安全组配置相应的入方向规则,详见设置安全组规则。 设置ECS安全组规则:安全组默认规则为出方向上数据报文全部放行,此时,无需对ECS配置安全组规则。当在ECS所在安全组为非默认安全组且出方向规则非全放通时,需要为ECS所在安全组配置相应的出方向规则。 公网连接 介绍使用弹性公网IP连接GeminiDB Influx实例的方法。 该方法适用于不能通过内网IP地址访问数据库实例时,单独绑定弹性公网IP连接弹性云服务器(或公网主机)与数据库实例。 8635 降低安全性。 为了获得更快的传输速率和更高的安全性,建议您将应用迁移到与您的数据库实例在同一VPC子网内,使用内网连接。 用户需要购买弹性公网IP,请参见弹性公网IP计费说明。 。 程序代码连接 介绍使用GO语言、Java语言、Python语言连接GeminiDB Influx实例的方法和示例。 8635 - 父主题: 连接实例
  • 使用须知 支持SELECT查询命令。 支持INSERT写入数据命令。 支持数据库操作命令(包括创建数据库、删除数据库、展示数据库等命令)。 支持用户操作命令(包括创建用户、删除用户、展示用户、授权用户、修改用户密码等命令)。 支持保留策略操作命令(包括创建保留策略、删除保留策略、展示保留策略、修改保留策略等命令)。 支持CONTINUOUS QUERY操作命令(包括创建CONTINUOUS QUERY、删除CONTINUOUS QUERY、展示CONTINUOUS QUERY等命令)。
  • 特性对比 表1 GeminiDB Influx与自建InfluxDB对比 对比项 自建InfluxDB GeminiDB Influx 云原生能力 无。 有。 集群能力 无。 有。 冷热数据分级存储 不支持冷热分层存储。 同时支持2种存储介质,既能保证性能,又能保证成本。 系统安全性 自行修复数据库安全漏洞。 无需关注数据库安全漏洞。 容灾 无高可用能力。 3AZ部署,服务高可用,SLA可达99.95%。 备份 自行操作备份。 自动备份。 运维难度 软硬件自行维护,运维难度大。 提供图形化操作界面,便于用户进行基本的管理操作。提供专业的使用文档和7x24小时专业指导。
  • 方案优势 海量数据实时解析写入,应用开发极简 传统HBase:将车辆上报的数千监控指标作为一个字符串写入HBase,应用程序读取某个指标时,需要先读整个字符串,再解析,过程复杂,效率低。 GeminiDB Influx:将车辆上报的数千监控指标直接作为数千列写入GeminiDB,应用直接查询对应指标,无需二次解析,做到真正的实时写入、实时查询。 数据自动排序、合并,简化中间处理环节 车辆上报的同一时刻多维度指标数据,由于车端不同部件处理以及网络传输时延差异,无法保证数据一次性、有序上报写入。 传统HBase:应用程序需要借助Spark对HBase的数据进行合并、排序,处理复杂,无法满足实时查询诉求。 GeminiDB Influx:在时序数据写入时,对数据进行自动合并、排序,应用直接访问GeminiDB Influx查询即可返回需要的结果。 实时分析 传统HBase:一般将历史数据转存到Hudi,应用程序根据指标通过ElasticSearch先找到车辆VIN,再通过VIN去Hudi查对应的指标数据进行分析,涉及多系统,交互复杂,无法支撑海量数据的实时分析。 GeminiDB Influx:支持应用程序直接基于指标的一次性查询分析,一库替代多库,有效支撑业务的实时查询分析诉求。 高压缩率 传统HBase:只能按列族设置压缩算法,且仅支持Gzip,SNAPPY,LZO,LZ4四种压缩算法。 GeminiDB Influx:针对每列的数据类型选用不同的压缩算法,支持Simple8b,Delta,Delta-Of-Delta,RLE,Zigzag, Zstd, Snappy,Bit-packing等多种压缩算法,压缩率是传统HBase的10倍。 冷热分离 针对车辆的海量数据带来的存储高成本,支持用户基于业务场景配置数据的冷热策略,实现数据自动转冷,应用程序“0”改动,有效控制整体成本。
  • 快速了解Influx 本章节主要介绍GeminiDB Influx实例类型,并帮助您快速掌握GeminiDB Influx实例创建、连接的整体流程。 表1 实例类型 实例类型 使用场景 购买并连接实例 集群 集群是基于多个节点(至少是三节点)组成。集群的主要特点是横向扩展能力强,能满足不断增长的数据量需求,因此当您对可用性要求较高、数据量较大、未来扩展性要求较高的情况下,推荐您使用集群架构。 购买并连接集群实例 单节点 单节点实例只有一个节点,无法保证SLA,建议仅用于测试和功能验证。 购买并连接单节点实例 连接方式介绍 数据管理服务(Data Admin Service,简称DAS)是一款专业的简化数据库管理工具,提供优质的可视化操作界面,大幅提高工作效率,让数据管理变得既安全又简单。您可以通过数据管理服务连接并管理实例。云数据库GeminiDB Influx服务默认为您开通了远程主机登录权限,推荐您使用更安全便捷的数据管理服务连接实例。 表2 DAS连接方式 连接方式 使用场景 说明 控制台连接 GeminiDB Influx支持通过管理控制台的Web客户端连接Influx实例 易用、安全、高级、智能。 默认为您开通了远程主机登录权限,推荐您使用更安全便捷的数据管理服务连接实例。 更多连接操作 连接方式介绍 父主题: 快速入门
  • 请求示例 URI样例 POST https://{Endpoint}/v3/375d8d8fad1f43039e23d3b6c0f60a19/instances 创建一个按需付费的3节点Cassandra实例,规格是16U64G 请求体样例中参数“region”和“availability_zone”的值为示例值,具体取值请以实际环境为准。 { "name" : "test-cassandra-01", "datastore" : { "type" : "cassandra", "version" : "3.11", "storage_engine" : "rocksDB" }, "region" : "aaa", "availability_zone" : "bbb", "vpc_id" : "674e9b42-cd8d-4d25-a2e6-5abcc565b961", "subnet_id" : "f1df08c5-71d1-406a-aff0-de435a51007", "security_group_id" : "7aa51dbf-5b63-40db-9724-dad3c4828b58", "password" : "******", "mode" : "Cluster", "flavor" : [ { "num" : 3, "storage" : "ULTRAHIGH", "size" : 500, "spec_code" : "geminidb.cassandra.4xlarge.4" } ], "backup_strategy" : { "start_time" : "08:15-09:15", "keep_days" : 8 }, "ssl_option" : 1 } 创建一个包周期付费的3节点Cassandra实例,规格是16U64G 请求体样例中参数“region”和“availability_zone”的值为示例值,具体取值请以实际环境为准。 { "name" : "test-cassandra-01", "datastore" : { "type" : "cassandra", "version" : "3.11", "storage_engine" : "rocksDB" }, "region" : "aaa", "availability_zone" : "bbb", "vpc_id" : "674e9b42-cd8d-4d25-a2e6-5abcc565b961", "subnet_id" : "f1df08c5-71d1-406a-aff0-de435a51007", "security_group_id" : "7aa51dbf-5b63-40db-9724-dad3c4828b58", "password" : "******", "mode" : "Cluster", "flavor" : [ { "num" : 3, "storage" : "ULTRAHIGH", "size" : 500, "spec_code" : "geminidb.cassandra.4xlarge.4" } ], "backup_strategy" : { "start_time" : "08:15-09:15", "keep_days" : 8 }, "ssl_option" : 1, "charge_info" : { "charge_mode" : "prePaid", "period_type" : "year", "period_num" : 3, "is_auto_renew" : true, "is_auto_pay" : true } } 根据指定备份恢复数据创建一个新的按需付费的3节点16U64G的Cassandra实例 请求体样例中参数“region”和“availability_zone”的值为示例值,具体取值请以实际环境为准。 { "name" : "test-cassandra-01", "datastore" : { "type" : "cassandra", "version" : "3.11", "storage_engine" : "rocksDB" }, "region" : "aaa", "availability_zone" : "bbb", "vpc_id" : "674e9b42-cd8d-4d25-a2e6-5abcc565b961", "subnet_id" : "f1df08c5-71d1-406a-aff0-de435a51007", "security_group_id" : "7aa51dbf-5b63-40db-9724-dad3c4828b58", "password" : "******", "mode" : "Cluster", "flavor" : [ { "num" : 3, "storage" : "ULTRAHIGH", "size" : 500, "spec_code" : "geminidb.cassandra.4xlarge.4" } ], "backup_strategy" : { "start_time" : "08:15-09:15", "keep_days" : 8 }, "ssl_option" : 1, "restore_info" : { "backup_id" : "2f4ddb93b9014b0893d81d2e472f30fe" } } 根据指定实例的指定时间点的数据创建一个新的包周期付费的3节点16U64G的Cassandra实例 请求体样例中参数“region”和“availability_zone”的值为示例值,具体取值请以实际环境为准。 { "name" : "test-cassandra-01", "datastore" : { "type" : "cassandra", "version" : "3.11", "storage_engine" : "rocksDB" }, "region" : "aaa", "availability_zone" : "bbb", "vpc_id" : "674e9b42-cd8d-4d25-a2e6-5abcc565b961", "subnet_id" : "f1df08c5-71d1-406a-aff0-de435a51007", "security_group_id" : "7aa51dbf-5b63-40db-9724-dad3c4828b58", "password" : "******", "mode" : "Cluster", "flavor" : [ { "num" : 3, "storage" : "ULTRAHIGH", "size" : 500, "spec_code" : "geminidb.cassandra.4xlarge.4" } ], "backup_strategy" : { "start_time" : "08:15-09:15", "keep_days" : 8 }, "ssl_option" : 1, "charge_info" : { "charge_mode" : "prePaid", "period_type" : "year", "period_num" : 3, "is_auto_renew" : true, "is_auto_pay" : true }, "restore_info" : { "restore_time" : 1607731200000, "source_instance_id" : "054e292c9880d4992f02c0196d3ein12" } }
  • 响应示例 状态码: 202 Accepted 创建按需实例响应样例: { "id" : "39b6a1a278844ac48119d86512e0000bin06", "name" : "test-cassandra-01", "datastore" : { "type" : "cassandra", "version" : "3.11", "storage_engine" : "rocksDB" }, "created" : "2019-10-28 14:10:54", "status" : "creating", "region" : "aaa", "availability_zone" : "bbb,ccc,ddd", "vpc_id" : "490a4a08-ef4b-44c5-94be-3051ef9e4fce", "subnet_id" : "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f", "security_group_id" : "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5", "mode" : "Cluster", "flavor" : [ { "num" : 3, "size" : 500, "storage" : "ULTRAHIGH", "spec_code" : "geminidb.cassandra.4xlarge.4" } ], "backup_strategy" : { "start_time" : "08:15-09:15", "keep_days" : "8" }, "enterprise_project_id" : "0", "ssl_option" : "1", "job_id" : "c010abd0-48cf-4fa8-8cbc-090f093eaa2f" } 创建包周期实例响应样例:
  • 响应参数 状态码: 202 表12 响应Body参数 参数 参数类型 描述 id String 实例ID。 name String 实例名称,与请求参数相同。 datastore Datastore object 数据库信息,与请求参数相同。 created String 创建时间为本地时间,格式为“yyyy-mm-dd hh:mm:ss”。 status String 实例状态,取值为“creating”。 region String 区域ID,与请求参数相同。 availability_zone String 可用区ID,与请求参数相同。 vpc_id String 虚拟私有云ID,与请求参数相同。 subnet_id String 子网ID,与请求参数相同。 security_group_id String 安全组ID,与请求参数相同。 mode String 实例类型,与请求参数相同。 flavor Array of Flavor objects 实例规格详情,与请求参数相同。 backup_strategy BackupStrategy object 高级备份策略,与请求参数相同。 enterprise_project_id String 企业项目ID。取值为“0”,表示为default企业项目。 ssl_option String SSL开关选项,与请求参数相同。 job_id String 创建实例的工作流ID, 仅创建按需实例时会返回该参数。 order_id String 创建实例的订单ID,仅创建包年包月时返回该参数。 charge_info ChargeInfo object 计费类型信息,支持包年包月和按需计费,默认为按需计费。 dedicated_resource_id String 专属资源ID,只有创建在专属资源上的实例才会返回该字段。 表13 Datastore 参数 参数类型 描述 type String 数据库类型。 支持GeminiDB Cassandra、GeminiDB Mongo、GeminiDB Influx和GeminiDB Redis数据库实例。 取值为“cassandra”,表示创建GeminiDB Cassandra数据库实例。 取值为“mongodb”,表示创建GeminiDB Mongo数据库实例。 取值为“influxdb”,表示创建GeminiDB Influx数据库实例。 取值为“redis”,表示创建GeminiDB Redis数据库实例。 version String 数据库版本。 GeminiDB Cassandra实例支持3.11版本,取值为“3.11”。 GeminiDB Mongo实例支持4.0版本,取值为“4.0”。 GeminiDB Influx实例支持1.7版本,取值为“1.7”。 GeminiDB Redis实例支持5.0版本,取值为“5.0”。 storage_engine String 存储引擎。 GeminiDB Cassandra实例支持RocksDB存储引擎,取值为“rocksDB”。 GeminiDB Mongo实例支持RocksDB存储引擎,取值为“rocksDB”。 GeminiDB Influx实例支持RocksDB存储引擎,取值为“rocksDB”。 GeminiDB Redis实例支持RocksDB存储引擎,取值为“rocksDB”。 表14 Flavor 参数 参数类型 描述 num String 节点数量。 GeminiDB Cassandra实例的节点数量可取3~60。 GeminiDB Mongo 4.0版本副本集实例的节点数量为3。 GeminiDB Influx实例的节点数量可取3~16。 GeminiDB Redis实例的节点数量可取3~12。 size String 磁盘大小。必须为整数,单位为GB。 GeminiDB Cassandra,GeminiDB Mongo,GeminiDB Influx的最小磁盘容量100GB,最大磁盘容量与实例的性能规格有关。GeminiDB Redis的最大和最小磁盘容量与节点数和实例的性能规格有关。 GeminiDB Cassandra请参见数据库实例规格。 GeminiDB Mongo请参见数据库实例规格。 GeminiDB Influx请参见数据库实例规格。 GeminiDB Redis请参见数据库实例规格。 storage String 磁盘类型。 取值为“ULTRAHIGH”,表示SSD盘。 spec_code String 资源规格编码。 获取方法请参见查询数据库规格中响应参数“spec_code”的值。 表15 BackupStrategy 参数 参数类型 描述 start_time String 备份时间段。自动备份将在该时间段内触发。 取值范围:非空,格式必须为hh:mm-HH:MM,且有效,当前时间指UTC时间。 HH取值必须比hh大1。 mm和MM取值必须相同,且取值必须为00、15、30或45。 不传该参数,默认的备份时间段为00:00-01:00。 取值示例:23:00-00:00 keep_days String 指定已生成的备份文件可以保存的天数。 取值范围:0~35。 取0值,表示不设置自动备份策略。 不传该参数,默认开启自动备份策略,备份文件默认保存7天。 表16 ChargeInfo 参数 参数类型 描述 charge_mode String 计费模式。 取值范围: prePaid:预付费,即包年/包月。 postPaid:后付费,即按需付费。 period_type String 订购周期类型。 取值范围: month:包月。 year:包年。 说明: “charge_mode”为“prePaid”时生效,且为必选值。 period_num String “charge_mode”为“prePaid”时生效,且为必选值,指定订购的时间。 取值范围: 当“period_type”为“month”时,取值为1~9。 当“period_type”为“year”时,取值为1~3 is_auto_renew String 创建包周期实例时可指定,表示是否自动续订,续订的周期和原周期相同,且续订时会自动支付。 true,表示自动续订。 false,表示不自动续订,默认为该方式。 is_auto_pay String 创建包周期实例时可指定,表示是否自动从账户中支付,该字段不影响自动续订的支付方式。 true,表示自动从账户中支付 false,表示手动从账户中支付,默认为该支付方式。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 实例名称,允许和已有名称重复。 实例名称长度在4个到64个字节之间,必须以字母或中文字开头,区分大小写,可以包含字母、数字、中划线、下划线或中文(一个中文字符占用3个字节),不能包含其他特殊字符。 datastore 是 Datastore object 数据库信息。 region 是 String 区域ID。 取值:非空,请参见地区和终端节点。 availability_zone 是 String 可用区ID。 取值:请参见5.2.2-查询数据库规格中返回的“az_status”,支持创建3可用区实例,中间以逗号隔开。 vpc_id 是 String 虚拟私有云ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询VPC列表。 subnet_id 是 String 子网的网络ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询子网列表。 security_group_id 是 String 安全组ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在安全组的详情页面查找安全组ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询安全组列表。 password 是 String 数据库密码。 取值范围:长度为8~32位。必须是大写字母(A~Z)、小写字母(a~z)、数字(0~9)、特殊字符~!@#%^*-_=+?的组合。仅GeminiDB Redis至少包含以下字符中的2种:大写字母、小写字母、数字和特殊字符~!@#$%^&*()-_=+?。 建议您输入高强度密码,以提高安全性,防止出现密码被暴力破解等安全风险。 mode 是 String 实例类型。 GeminiDB Cassandra支持集群类型,取值为“Cluster”。 GeminiDB Mongo 4.0版本支持副本集类型,取值为“ReplicaSet”。 GeminiDB Influx支持集群类型,取值为“Cluster”。 GeminiDB Influx支持单节点类型,取值为“InfluxdbSingle”。 GeminiDB Redis支持集群类型,取值为“Cluster”。 GeminiDB Redis支持主备类型,取值为“Replication”。 flavor 是 Array of Flavor objects 实例规格详情。 获取方法请参见查询数据库规格中响应“flavors”字段下参数的值。 configuration_id 否 String 参数模板ID。 backup_strategy 否 BackupStrategy object 高级备份策略。 enterprise_project_id 否 String 企业项目ID。 对于未开通企业多项目服务的用户,不传该参数。 对于已开通企业多项目服务的用户,不传该参数时,表示为default企业项目。获取方式请参见《企业管理API参考》的“查询企业项目列表”响应消息表“enterprise_project字段数据结构说明”的“id”。 ssl_option 否 String SSL开关选项。 取值: 取“0”,表示默认不启用SSL连接。 取“1”,表示默认启用SSL连接。 不传该参数时,默认不启用SSL连接。 charge_info 否 ChargeInfo object 计费类型信息,支持包年包月和按需计费,默认为按需计费。 dedicated_resource_id 否 String 专属资源ID,只有开通专属资源池后才可以下发此参数。 restore_info 否 RestoreInfo object 备份信息。支持按指定备份恢复和按指定实例的指定时间点恢复。 目前仅GeminiDB Cassandra和GeminiDB Influx集群支持按指定实例的指定时间点恢复。 port 否 String 数据库访问端口号。 目前仅支持GeminiDB Redis实例支持自定义端口,取值范围为:1024~65535,禁用端口号为:2180、2887、3887、6377、6378、6380、8018、8079、8091、8479、8484、8999、9864、9866、9867、12017、12333、50069。 不指定端口时,创建GeminiDB Redis实例的访问端口默认为6379。 如果该实例计划用于搭建双活容灾场景,请配置为8635端口。 availability_zone_detail 否 object 主备类型实例的多AZ可用区详情。 目前仅支持GeminiDB Redis实例。 当选择单AZ部署时,自动忽略该参数设置。详情请参考表9。 表4 Datastore 参数 是否必选 参数类型 描述 type 是 String 数据库类型。 支持GeminiDB Cassandra、GeminiDB Mongo、GeminiDB Influx和GeminiDB Redis数据库实例。 取值为“cassandra”,表示创建GeminiDB Cassandra数据库实例。 取值为“mongodb”,表示创建GeminiDB Mongo数据库实例。 取值为“influxdb”,表示创建GeminiDB Influx数据库实例。 取值为“redis”,表示创建GeminiDB Redis数据库实例。 version 是 String 数据库版本。 GeminiDB Cassandra实例支持3.11版本,取值为“3.11”。 GeminiDB Mongo实例支持4.0版本,取值为“4.0”。 GeminiDB Influx实例支持1.7版本,取值为“1.7”。 GeminiDB Redis实例支持5.0版本,取值为“5.0”。 storage_engine 是 String 存储引擎。 GeminiDB Cassandra实例支持RocksDB存储引擎,取值为“rocksDB”。 GeminiDB Mongo实例支持RocksDB存储引擎,取值为“rocksDB”。 GeminiDB Influx实例支持RocksDB存储引擎,取值为“rocksDB”。 GeminiDB Redis实例支持RocksDB存储引擎,取值为“rocksDB”。 表5 Flavor 参数 是否必选 参数类型 描述 num 是 String 节点数量。 GeminiDB Cassandra实例的节点数量可取3~60。 GeminiDB Mongo 4.0版本副本集实例的节点数量为3。 GeminiDB Influx集群实例的节点数量可取3~16。 GeminiDB Influx单节点实例的节点数量可取1。 GeminiDB Redis实例的节点数量可取3~12。 size 是 String 磁盘大小。必须为整数,单位为GB。 GeminiDB Cassandra,GeminiDB Mongo,GeminiDB Influx的最小磁盘容量100GB,最大磁盘容量与实例的性能规格有关。GeminiDB Redis的最大和最小磁盘容量与节点数和实例的性能规格有关。 GeminiDB Cassandra请参见数据库实例规格。 GeminiDB Mongo请参见数据库实例规格。 GeminiDB Influx请参见数据库实例规格。 GeminiDB Redis请参见数据库实例规格。 storage 是 String 磁盘类型。 取值为“ULTRAHIGH”,表示SSD盘。 spec_code 是 String 资源规格编码。 获取方法请参见查询数据库规格中响应参数“spec_code”的值。 表6 BackupStrategy 参数 是否必选 参数类型 描述 start_time 是 String 备份时间段。自动备份将在该时间段内触发。 取值范围:非空,格式必须为hh:mm-HH:MM,且有效,当前时间指UTC时间。 HH取值必须比hh大1。 mm和MM取值必须相同,且取值必须为00、15、30或45。 不传该参数,默认的备份时间段为00:00-01:00。 取值示例:23:00-00:00 keep_days 否 String 指定已生成的备份文件可以保存的天数。 取值范围:0~35。 取0值,表示不设置自动备份策略。 不传该参数,默认开启自动备份策略,备份文件默认保存7天。 表7 ChargeInfo 参数 是否必选 参数类型 描述 charge_mode 是 String 计费模式。 取值范围: prePaid:预付费,即包年/包月。 postPaid:后付费,即按需付费。 period_type 否 String 订购周期类型。 取值范围: month:包月。 year:包年。 说明: “charge_mode”为“prePaid”时生效,且为必选值。 period_num 否 String “charge_mode”为“prePaid”时生效,且为必选值,指定订购的时间。 取值范围: 当“period_type”为“month”时,取值为1~9。 当“period_type”为“year”时,取值为1~3 is_auto_renew 否 String 创建包周期实例时可指定,表示是否自动续订,续订的周期和原周期相同,且续订时会自动支付。 true,表示自动续订。 false,表示不自动续订,默认为该方式。 is_auto_pay 否 String 创建包周期实例时可指定,表示是否自动从账户中支付,该字段不影响自动续订的支付方式。 true,表示自动从账户中支付 false,表示手动从账户中支付,默认为该支付方式。 表8 RestoreInfo 参数 是否必选 参数类型 描述 backup_id 否 String 全量备份文件ID。 用于根据指定备份恢复数据到一个新创建的实例的场景,此场景下该字段取值不能为空。 source_instance_id 否 String 数据恢复参考的指定实例的ID。 用于恢复指定实例的指定时间点的数据到一个新创建的实例的场景,此场景下该字段取值不能为空。 restore_time 否 Long 数据恢复的指定的时间点。 用于恢复指定实例的指定时间点的数据到一个新创建的实例的场景,此场景下该字段取值不能为空。取值为UTC 13位毫秒数,可通过查询实例可恢复的时间段接口进行查询。 表9 AvailabilityZoneDetail 参数 是否必选 参数类型 描述 primary_availability_zone 是 String 主可用区,应为单可用区且和备可用区不同。 secondary_availability_zone 是 String 备可用区,应为单可用区且和主可用区不同。 表10 LbAccessControlSettings 参数 是否必选 参数类型 描述 enabled 是 Boolean true 开启,false 关闭。 枚举值: true false type 是 String 黑白名单类型,blackList黑名单,whiteList白名单,仅支持设置黑名单或白名单中的一种。 枚举值: blackList whiteList ip_groups 是 Array of 表11 objects IP地址组中包含的IP或网段列表。 表11 IpGroupsDetail 参数 是否必选 参数类型 描述 ip 是 String IP地址或网段。支持IPv4。 description 是 String 备注信息,最大长度255个字符。
  • URI GET https://{Endpoint}/v3/{project_id}/instances/{instance_id}/disaster-recovery/regions 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一region下的project ID。获取方法请参见获取项目ID。 instance_id 是 String 实例ID。
  • 自动备份策略 系统按照自动备份策略,对数据库进行自动备份,备份将以压缩包的形式存储在 对象存储服务 中,以保证用户数据的机密性和持久性。建议您定期对数据库进行备份,当数据库故障或数据损坏时,可以通过备份恢复数据库。由于开启备份会损耗数据库读写性能,建议您选择业务低峰时间段启动自动备份。 创建数据库实例时,系统默认开启自动备份策略,默认开启的自动备份策略设置如下: 图1 修改备份策略 保留天数:自动备份可保留天数默认为7天。新的全量备份未超过保留天数前系统会一直保留,直至新的全量备份超过保留天数后才会删除。 增加保留天数,可提升数据可靠性,请根据需要设置。 减少保留天数,会针对已有的备份文件生效,即超出备份保留天数的已有备份文件(包括全量备份和增量备份)会被自动删除,但手动备份不会自动删除,请您谨慎选择。 保留天数小于7天,系统每天都会进行自动备份。 系统会自动检测已有的自动备份文件,若备份文件超过用户自定义的数据保留天数,则将其删除。 备份时间段:默认为24小时中,间隔一小时的随机的一个时间段,例如04:00~05:00。备份时间段以GMT时区保存。如果碰到夏令时或冬令时切换,备份时间段会因时区变化而改变。 假如保留天数设置为“2”,表示超过两天的全量备份和增量备份会被自动删除。即周一产生的备份会在周三删除,同理,周二产生的备份会在周四删除。 全量备份文件自动删除策略: 已有备份文件超出备份天数后会自动删除,考虑到数据完整性,自动删除时仍然会保留最近的一次超过保留天数的全量备份,保证在保留天数内的数据可正常恢复。 假如备份周期选择“周一”、“周二”,保留天数设置为“2”,备份文件的删除策略如下: 本周一产生的全量备份,会在本周四当天自动删除。原因如下: 本周二的全量备份在本周四当天超过保留天数,按照全量备份文件自动删除策略,会保留最近的一个超过保留天数的全量备份(即本周二的备份会被保留),因此周四当天删除本周一产生的全量备份文件。 本周二产生的全量备份,会在下周三当天自动删除。原因如下: 下周一产生的全量备份在下周三超过保留天数,按照全量备份文件自动删除策略,会保留最近的一个超过保留天数的全量备份(即下周一的备份会被保留),因此下周三当天删除本周二产生的全量备份。 备份周期:默认为全选。 全选:选择一周内的每一天。系统每天都会进行自动备份。 选择周期:选择一周内的一天或几天。系统会在所选时间进行自动备份。 备份周期对应的备份开始时间1小时内,系统会自动触发全量备份。备份所需时间由备份数据量决定,备份数据量越大,备份所需时间越长。 实例创建成功后,您可根据业务需要设置自动备份策略。系统将按照您设置的自动备份策略对数据库进行备份。 关闭自动备份策略后,自动备份将会立即停止。
  • 如何设置大Key诊断相关参数 string类型key以value大小为判断标准,hash/list/zset/set/stream类型key以元素数量为判断标准。 相关的配置参数有2个: bigkeys-string-threshold:value大于该值的string类型key,会被判断为大key,单位为byte。默认为102400(即1MB)。 bigkeys-composite-threshold:元素数大于该值的hash/list/zset/set类型key,会被判断为大key,单位为个。默认为10240。 图2 大Key诊断相关参数 以上两个参数设置不宜过小,以免过多无效结果占据网络带宽,影响业务访问。 大Key诊断相关参数配置方法请参考修改当前实例的参数。
  • 内网如何访问GeminiDB Redis 内网可以通过负载均衡(ELB)和直连节点访问实例,有以下区别: 通过负载均衡地址连接实例(推荐):ELB底层是一个高可用集群,提供一个负载均衡地址给用户访问。会定期与后端节点探活,可有效避免后端节点单点故障。 通过节点连接实例:GeminiDB Redis节点包含代理进程,用户连接任意一个节点可访问整个集群。该访问方式可能存在单点故障,推用于测试场景。 通过内网连接GeminiDB Redis实例请参考通过内网连接GeminiDB Redis。 父主题: 数据库连接
  • 功能概述 PITR(Point-in-Time Recovery),是指数据库的“时间点恢复”功能。它是一种数据库恢复技术,通常用于恢复误删除的数据或者误操作导致损坏的数据,将其恢复到一个指定时间点的数据状态。 以游戏场景为例,在游戏运行期间,有玩家利用游戏漏洞复制装备、货币,使游戏公平性遭到破坏。传统数据库备份频率一般是一天全备一次,备份间隔即一整天,不仅恢复时间长、时间粒度大,甚至无法恢复到想要时间点等。而GeminiDB Redis接口具备的PITR特性能够让游戏数据快速回档,可根据客户自定的备份粒度,最低支持5分钟粒度,自行选择需要恢复的时间点,实现数据的快速恢复。
  • 权限配置 如果您使用的是 IAM 用户,在使用存储空间自动扩容功能前需要配置GeminiDB服务和IAM服务相应的权限。具体操作如下: 配置IAM服务的细粒度权限和GeminiDB服务的最小权限。 在IAM控制台配置如下IAM权限策略,具体操作请参见创建自定义策略。 { "Version":"1.1", "Statement":[ { "Effect":"Allow", "Action":[ "iam:permissions:listRolesForAgencyOnProject", "iam:permissions:grantRoleToGroupOnProject", "iam:agencies:createAgency", "iam:agencies:listAgencies", "iam:roles:listRoles", "iam:roles:createRole" ] } ] } 创建用户组并授权 您可以在IAM控制台创建用户组,并授予该用户组1中创建的自定义权限和Security Administrator系统角色。 将用户加入用户组 以主账号或者具有IAM权限的IAM用户登录控制台,将需要设置存储空间自动扩容的实例所属的IAM用户,加入2中创建的用户组,此时该IAM用户享有该用户组配置的权限。
  • 变更计费模式概述 在购买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计费模式变更 父主题: 变更计费模式
  • 使用须知 当有对应的补丁更新时(定期同步开源社区问题、漏洞修复),请及时进行升级。 当数据库版本为风险版本时,会提醒用户进行数据库补丁升级。 补丁升级会采用滚动升级的方式,升级过程中会依次重启每一个节点,重启期间业务会由其他节点接管,每次接管会产生3-5s闪断,请在业务低峰变更,避免实例过载,并建议业务添加自动重连机制,确保重启后连接及时重建。 基础组件升级约需15分钟,数据组件升级与节点数量有关,约1-2min每节点。 系统会自动检测实例的小版本,如果控制台的“补丁升级”按钮不存在,表示小版本已经是最新。
  • 使用须知 每个GeminiDB Redis实例最多能创建200个账号。 执行账号变更后,需10s生效。 在通过备份恢复到新实例时,原实例的账号信息不会继承。 创建账号需要满足表1规则。 表1 参数规则 参数 规则 示例 账号名称 不能为空。 长度不超过36个字符。 以字母开头,只能包含数字、英文字母、下划线、中划线。 Organization 权限 读写。 只读。 读写 数据库 授权所有数据库。 未授权数据库。 已授权数据库。 说明: 用户可以根据自己的需要在数据库右边“添加”数据库。 用户可以根据自己的需要选择需要授权的数据库。 此处“数据库”对应开源redis的“DB”。 授权所有数据库 密码 不能为空。 长度为8~32位。 密码需包含大写字母、小写字母、数字和特殊字符中的至少两种,支持的特殊字符为~ ! @ # % ^ * - _ = +? $ () &。 nosql123456
  • 使用须知 内部连接的操作不记录审计日志。 始终审计的命令:BigKeys keys flushall flushdb script client config 。 只审计大批量的命令(单次命令操作参数较多): bitop msetnx pfcount pfmerge hdel hmget hmset hset lpush lpushx sadd srem zadd geoadd geohash bfinsert bfmadd bfmexists 。 Exec 只审计单次事务过大的操作(超过100个命令)。
  • 包年/包月资源 对于包年/包月计费模式的资源,例如包年/包月的GeminiDB Redis实例,用户在购买时会一次性付费,服务将在到期后自动停止使用。 如果在计费周期内不再使用包年/包月资源,您可以执行退订操作,系统将根据资源是否属于五天无理由退订、是否使用代金券和折扣券等条件返还一定金额到您的账户。详细的退订规则请参见云服务退订规则概览。 如果您已开启“自动续费”功能,为避免继续产生费用,请在自动续费扣款日(默认为到期前7日)之前关闭自动续费。
  • 实例设置只读状态说明 为保护GeminiDB Redis实例的正常运行,在存储空间即将被写满的时候,数据库会被设置成只读状态,该状态下只支持数据的读取,不支持写入和更新,可以通过扩容存储容量来解除该状态,重新获得写入和更新的能力。 表1 实例设置只读状态说明 存储容量 说明 小于600GB 存储容量使用率达到97%时,实例状态被设置为只读。 存储容量使用率下降到85%,实例自动解除只读状态。 大于或等于600GB 存储容量剩余空间小于18GB,实例状态被设置为只读。 存储容量剩余空间大于或等于90GB,实例自动解除只读状态。
  • 约束与限制 按需计费云数据库绑定的资源(弹性公网IP)可能不支持随实例同步变更计费模式,请参考表1查看绑定资源的计费规则及处理措施。 表1 弹性公网IP计费模式变更规则 资源 计费模式 计费方式 带宽类型 是否支持随GeminiDB Redis按需转包年/包月 处理措施 弹性公网IP 按需计费 按带宽计费 独享带宽 是 在控制台的弹性公网IP页面进行按需转包年/包月操作。 详细内容,请参见变更弹性公网IP计费方式。 弹性公网IP 按需计费 按流量计费 独享带宽 否 按需、按流量计费EIP不支持直接转为包年/包月EIP。变更方法如下: 先转为按需、按带宽计费的EIP。 再由按需、按带宽计费EIP转为包年/包月EIP。 详细内容,请参见变更弹性公网IP计费方式。
  • 约束与限制 包年/包月的云数据库绑定的资源(弹性公网IP)可能不支持随云数据库同步变更计费模式,请参考表1查看绑定资源的计费规则及处理措施。 表1 弹性公网IP计费模式变更规则 资源 计费模式 计费方式 带宽类型 是否支持随GeminiDB Redis包年/包月转按需 处理措施 弹性公网IP 包年/包月 按带宽计费 独享带宽 否 在控制台的弹性公网IP页面进行按需转包年/包月操作。 详细内容,请参见变更弹性公网IP计费方式。 弹性公网IP 包年/包月 按流量计费 独享带宽 否 包年/包月EIP不支持直接转为按需、按流量计费EIP。变更方法如下: 先转为按需、按带宽计费EIP。 再由按需、按带宽计费EIP转为按需、按流量计费EIP。 详细内容,请参见变更弹性公网IP计费方式。
  • 连接方式介绍 GeminiDB Redis兼容开源Redis接口,支持应用程序使用多种SDK访问。同时还提供数据管理服务(Data Admin Service,简称DAS)、内网、公网的访问途径。 连接GeminiDB Redis实例的使用流程介绍如图1所示。 图1 连接方式介绍 表1 连接方式 连接方式 使用场景 默认端口 说明 DAS连接 GeminiDB Redis支持通过管理控制台的Web客户端连接Redis实例 - - 内网连接 介绍通过内网IP、内网 域名 或负载均衡地址连接GeminiDB Redis实例的方法。 该方式适用于当应用部署在弹性云服务器上,且该弹性云服务器与数据库实例处于同一区域、同一VPC内时连接数据库实例。 6379 推荐使用负载均衡地址连接实例,可靠性高,可消除单点故障带来的影响。 安全性高,可实现数据库实例的较好性能。 ECS与Redis实例在相同安全组 默认ECS与Redis实例内网互通,无需设置安全组规则。 ECS与Redis实例在不同安全组时,需要为Redis和ECS分别设置安全组规则。 设置Redis安全组规则:为Redis所在安全组配置相应的入方向规则,详见设置安全组规则。 设置ECS安全组规则:安全组默认规则为出方向上数据报文全部放行,此时,无需对ECS配置安全组规则。当在ECS所在安全组为非默认安全组且出方向规则非全放通时,需要为ECS所在安全组配置相应的出方向规则。 公网连接 介绍通过公网域名、弹性公网IP或负载均衡器绑定弹性公网IP连接GeminiDB Redis实例的方法。 该方式适用于不能通过内网方式访问数据库实例时,可以单独使用公网域名或弹性公网IP连接弹性云服务器(或公网主机)与数据库实例。 6379 为了获得更快的传输速率和更高的安全性,建议您将应用迁移到与您的数据库实例在同一VPC子网内,使用内网连接。 推荐负载均衡器绑定弹性公网IP的方式,可靠性高,可消除单点故障影响。 用户需要购买弹性公网IP,请参见弹性公网IP计费说明。 。 客户端连接 介绍通过不同代码的方式访问GeminiDB Redis实例的方法,详情请参见客户端通过代码连接实例示例。 6379 - 父主题: 连接实例
  • 使用须知 可维护时间段目前处于公测状态,如果您想使用,请联系客服开通。 目前只有实例重启、规格变更和补丁升级支持可维护时间段。 已经选择可维护时间段的规格变更和补丁升级,不能再立即执行;实例重启可以立即执行。 您可以取消待执行的任务。 修改可维护时间段,不影响原有可维护时间段内定时任务的执行时间。 可维护时间段不要和备份的时间冲突,否则可能会导致定时任务失败。 在可维护时间段内,定时任务10分钟扫描一次,执行任务;临近可维护时间段结束时下发的任务,有可能扫描不到,取消执行。
  • 权限配置 使用IAM( 统一身份认证 )的用户,需要给对应的子用户授予DAS FullAccess权限,否则子用户无法正常使用该功能。具体授权的操作请参见创建用户并授权。 同时您也可以通过创建自定义策略的方式来限制有权限的数据库类型,具体操作如下: 登录统一身份认证服务页面,单击“创建自定义策略”。 图1 创建自定义策略 设置策略名称、策略配置方式、策略内容等信息。 图2 配置自定义策略 表1 自定义策略信息 参数名称 描述 策略名称 输入策略名称。 策略配置方式 此处选择“JSON视图”。 策略内容 在策略内容中配置如下自定义策略: { "Version": "1.1", "Statement": [ { "Action": [ "das:*:*", "nosql:instance:list" ], "Effect": "Allow" } ] } 或者您也可以在“策略内容”区域,单击“从已有策略复制”,选择“DAS FullAccess”作为模板,然后只保留对应的DB类型就可以指定权限的范围,此处只需要保留“nosql:instance:list”即可。 策略描述 输入策略描述。 作用范围 默认项目级服务 单击“确定”,返回权限页面,可以查看到创建成功的自定义策略。 图3 查看自定义策略 创建用户组。 图4 创建用户组 为4创建的用户组授权3已创建好的自定义策略。 图5 授权自定义策略 图6 选择自定义策略 单击用户组名称,进入用户组管理,添加对应的子用户即可。 图7 添加子用户
  • 快速了解Redis 本章节主要介绍GeminiDB Redis产品类型和实例类型,并帮助您快速掌握GeminiDB Redis实例创建、连接的整体流程。 表1 产品类型 产品类型 使用场景 支持的实例类型 标准型 提供稳定的低延迟性能,适用于广告&推荐、游戏、电商、车联网等各类常见业务场景。 集群版 主备版 容量型 提供大容量Key-Value存储,适用于对性能要求不高且有降低成本诉求的业务。 集群版 表2 实例类型 实例类型 使用场景 购买并连接实例 集群版 集群版实例采用分片集群架构,提供Proxy代理连接,同时兼容Cluster接入方式。性能水平扩展能力强,可支撑百万QPS、数十TB级业务量。 购买并连接集群版实例 主备版 标准的master-replica架构,兼容单机、哨兵接入方式。适用于无法使用hashtag的业务场景。 购买并连接主备版实例 连接方式介绍 数据管理服务(Data Admin Service,简称DAS)是一款专业的简化数据库管理工具,提供优质的可视化操作界面,大幅提高工作效率,让数据管理变得既安全又简单。您可以通过数据管理服务连接并管理实例。云数据库GeminiDB Redis服务默认为您开通了远程主机登录权限,推荐您使用更安全便捷的数据管理服务连接实例。 表3 DAS连接方式 连接方式 使用场景 说明 DAS连接 无需使用IP地址,通过控制台即可登录实例。 易用、安全、高级、智能。 默认为您开通了远程主机登录权限,推荐您使用更安全便捷的数据管理服务连接实例。 更多连接操作 连接方式介绍 父主题: 快速入门
  • Pipeline 大小选择及注意事项 虽然使用 Pipeline 可以节省网络IO开销,但 Pipeline 并不是越大越好;使用 Pipeline 对程序性能的提升是有上限的,随着 Pipeline 逐渐增加,提高 Pipeline 的收益逐渐降低;如果一次组装的 Pipeline 数据量过大,一方面会导致客户端等待时间增加,另一方面,如果大的 Pipeline 导致 socket buffer 写满,可能会带来网络阻塞,反而引起性能下降; 根据经验,30 - 100 大小的 Pipeline 就已经可以充分发挥数据库的性能,具体最佳值与实际业务有关,建议以实际测试为准。 其它注意事项: Pipeline 不保证原子性,服务端在处理批量命令时,解析出多个单命令并按顺序执行,各个命令相互独立,服务端有可能在该过程中执行其他客户端的命令。某个命令执行失败不会影响其他命令的执行,如需原子性,需要使用事务或lua实现。 单次 Pipeline 的大小需要适当,大Pipeline可能会有OOM风险,也可能会造成网络阻塞;因为Redis 必须在处理完所有命令前,先缓存起所有命令的处理结果。这样会有内存的消耗,过大Pipeline造成内存上涨甚至OOM;对于单个命令数据长度较大的场景,需要适当的减小 Pipeline。 对于时延敏感的场景,不建议使用大 Pipeline,需要结合业务场景选择合适的 Pipeline大小。
共100000条