检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
开发运维规范 本章节结合华为云数据库开发运维经验,从开发和运维角度为您提供GeminiDB Redis产品使用规范。根据这些建议,您可以有效评估以及改善业务系统稳定性。 开发规范 在开发业务程序时需重点关注以下开发规范,避免因使用方式不当影响业务稳定。 表1 GeminiDB Redis开发规范
开发参考 开发运维规范 命令兼容列表 通过程序代码连接实例示例 Lua脚本编写规范 keyspace通知功能 exHash命令列表 大Bitmap初始化 客户端连接池参数配置 通过openAPI实现自定义周期备份 通过并行SCAN提升全库扫描速度 使用 Pipeline 访问 GeminiDB
查询规范 范围查询排序键 建议范围查询的排序键顺序保持与建表时使用的排序键顺序保持一致,如果顺序不一致,会导致性能下降。 如果没有指定排序键顺序,查询和建表时的排序键顺序默认为ASC。 allow filtering关键字不建议使用 当查询语句中,未指定全部primary key,使用了allow
Lua脚本编写规范 Lua是一种脚本语言,目的是为了嵌入应用程序中,为应用程序提供灵活的扩展和定制功能。GeminiDB Redis使用的是Lua5.1.5版本,与开源Redis5.0使用的Lua版本是一致的。 使用Lua脚本时,需要经过谨慎的校验,否则可能出现死循环、业务超时等情况,甚至会导致业务不可用。
基本设计规范 设计规范 规则1:禁止在数据库中存储图片、文件等大数据。图片或文件等大数据建议存储到对象存储服务中。 规则2:单行key和value数据大小最大不能超过64KB,平均大小不超过10KB。 规则3:任何表的设计都要考虑到数据的删除策略,表中的数据不能无限地增长而不删除。
使用规范 命名规范 索引规范 数据库连接 可靠性 数据库性能 Cursor使用规则 父主题: 产品介绍
数据库对象使用规范 命名规范 规则1:命名不能和数据库的关键字重复。 规则2:对于对象名称(包括库名、表名、字段名、索引名等)必须使用小写字母, 并采用下划线分隔。 规则3:对于对象名称(包括库名、表名、字段名、索引名等)长度需要有所限制,所有的对象名称长度不得超过30个字符。
索引规范 索引字段的长度不能超过512字节,索引名称长度不能超过64字符,单个复合索引所包含字段数最多不能超过16个。 <数据库名>.<集合名>.$<索引名>的总长度不能超过128字符。 在高选择性字段上创建索引,在低选择性字段上查询时会返回较大的结果集,请尽量避免返回较大的结果集。
BATCH规范 规则1:不支持logged batch,仅支持unlogged batch。 规则2:一个batch中,操作不超过25行数据。 规则3:一个batch中,请求大小不超过5KB。 规则4:一个batch中,跨partition不超过10个,只操作一张表。 父主题: 数据库规范
API概览 云数据库 GeminiDB所提供的接口为扩展接口。通过使用云数据库 GeminiDB接口,您可以使用云数据库 GeminiDB的部分功能,具体如下表所示。 表1 接口说明 类型 描述 查询API版本 查询API版本列表 查询API版本信息 查询数据库版本信息 查询指定实例类型的数据库版本信息。
访问/连接池规范 规则1:访问数据库必须使用连接池,以提升可靠性。 规则2:业务连接GeminiDB Cassandra集群负载均衡策略使用RoundRobinPolicy。 父主题: 数据库规范
数据库规范 基本设计规范 数据库对象使用规范 数据库使用约束规范 访问/连接池规范 BATCH规范 查询规范 父主题: 产品介绍
命名规范 数据库对象(库、表、字段、索引)命名建议全部使用小写字母开头,后面跟字母或者数字,长度不要超过32字节。 数据库名称不能使用特殊字符("",.,$,\,/,\0,*,?,~,#,:,?,|"),数据库名称不能使用系统数据库名,如:admin,local,config。
查询API版本 查询API版本列表 查询API版本信息 父主题: API v3(推荐)
数据库使用约束规范 强制类约束 规则约束 当使用不当,数值超出约定的告警阈值后,客户端会收到Warn,并且云监控服务(CES)会产生告警信息;部分请求会产生事件信息。 当使用严重违反约束,数值超出约定的失败阈值后,请求会失败,并且产生事件信息。 约束项 单行大小限制: 当读取数据时,数据库会将同一个Primary
如何调用API 构造请求 认证鉴权 返回结果
通过openAPI实现自定义周期备份 游戏业务经常选用GeminiDB Redis存储玩家数据,兼顾低时延和数据持久化特性。本文介绍通过openAPI编写手动备份脚本,实现自定义备份周期(例如每2小时或4小时备份一次)。 GeminiDB Redis备份时仅需在存储层打秒级快照并
对数据库的负载情况。 禁止同时执行大量并发事务,且长时间不提交。 业务正式上线前, 所有的查询类别,都应该先执行查询计划检查查询性能。 开发过程中,对集合的每一个操作都要通过执行explain()检查其执行计划。 例如: db.T_DeviceData.find({"deviceId"
(兼容DynamoDB API) GeminiDB推出了兼容DynamoDB API的服务,用户可以通过SDK/CLI访问数据库服务。在协议层面完全支持AWS DynamoDB,用户可以在不改造业务代码的情况下,平滑地迁移至GeminiDB。 产品架构 兼容DynamoDB API的适配服务内嵌在GeminiDB
目前回收站允许加入100个实例,超过该配额的实例将无法添加至回收站中。 当实例存储空间满时,删除之后的实例不会放入回收站。 其他有效评估以及改善业务系统稳定性的开发和运维规范,请参见开发运维规范。 父主题: 产品介绍