更新时间:2026-05-20 GMT+08:00
分享

数据库对象使用规范

命名规范

规则1:命名不能和数据库的关键字重复。

规则2:对象名称(包括库名、表名、字段名、索引名等)必须使用小写字母+下划线方式命名。

规则3:对象名称(包括库名、表名、字段名、索引名等)的长度不得超过48个字符。

规则4:表别名要简短。通常使用小写的字母作为别名。

表设计规则

规则1:表的设计要考虑兼容性。

只允许新增字段,不允许删除字段。

规则2:表名和数据库名不超过48个字符。

规则3:所有用户表默认按照最佳性能规格创建。由于存储引擎使用RocksDB需要预分配内存,所以实例创表数目有一定限制,具体请参见GeminiDB Cassandra创表时需要注意什么。如果希望在不扩容规格的情况下提升创表数量,且对部分用户表的性能要求不高,可以在创表时调整性能参数“Z00_THROUGHPUT”,可选项有big、medium、small,默认值为big。

建议:需要的时候,通过反范式化和冗余来提升读性能。

索引规范

规则1:尽可能把所有查询都设计为主键形式的查询,不要对二级索引过度依赖。

规则2:创建索引后需要等待索引构建完成后才能使用索引字段进行查询。

规则3:避免对索引字段频繁更新。

规则4:不建议重复值过多表列建立索引,比如表有一亿条数据,某一列的数据都是一样的或者少数几种,这种情况不建议在该列建索引列。

规则5:counter列不能进行索引。

规则6:频繁更新或者删除的列,不建议在该列建索引列。

规则7:建议索引配合分区键使用。在二级索引查询时,如果查询条件不包含分区键,系统需要跨所有节点扫描索引数据,会增加网络开销和内存消耗,可能导致OOM或CPU飙高。最佳实践是在查询条件中同时包含分区键和索引字段,这样可以精确定位到特定分区进行查询。

视图规范

  • 使用物化视图时,原表对应的视图个数不要超过3个。原表对应的视图越多,对视图的同步性能影响越大。
  • 原表中频繁更新的字段不建议在视图中作为主键。

流表规范

流表默认存储24小时数据,在数据查询量较大时,需要做好分页查询,每次查询条数不大于100,并做好超时重试。

相关文档