doris或者startRocks的建表规范

本文介绍了数据库中分区表(包括动态分区和静态分区)、非分区表以及不同建表模型(如聚合、唯一、明细和主键模型)的区别和使用场景,特别关注了RocksDB中的分区参数设置。
摘要由CSDN通过智能技术生成

分区表与非分区表

动态分区表(需加分区分桶字段和动态分区的参数,一般都使用数据的创建时间作为分区字段,此时间之后再也不会发生变化,否则在之后的数据进行更新操作时,相同的数据会落入不同的分区之中,造成数据重复问题。动态分区表的动态主要体现在分区的创建是动态的,无需手动创建)

静态分区表(需加分区分桶字段,但不需要加动态分区参数,一般都使用数据的创建时间作为分区字段,此时间之后再也不会发生变化,否则在之后的数据进行更新操作时,相同的数据会落入不同的分区之中,造成数据重复问题。静态分区表的静态主要体现在分区的创建是需要手动创建的)

非分区表(无需加分区字段,但需加分桶字段,否则报错)

建表模型

聚合模型(aggregate  key,需要将非key列的维度字段加replace,如下图的蓝色框所示,指标字段加具体的聚合方式sum,max,min等等,如下图的紫色框所示。此模型会将相同key的指标值进行聚合操作。)

唯一模型(unique  key,采用merge on read策略,不会真正的删除数据,而是先将相同key的数据合并为一组,然后返回一组中的最新数据。此模型只显示相同key的最新数据,从而实现去重的效果。)

明细模型(duplicate  key,来什么数据就插入什么数据,不会进行去重,也不会进行聚合等等操作)

startRocks比doris多出一种主键模型(delete+insert,真正会删除相同key的历史数据,然后将最新数据进行插入。此模型只存储相同key的最新数据,从而实现去重的效果。)

分区表中的分区参数指定

参数解释:dynamic_partition.start表示以今天为时间基准,创建且保留多少天的历史分区数,为负数。

dynamic_partition.end表示以今天为时间基准,创建且保留多少天的未来分区数,为正数。

因此上图的总分区就是90+60=150个分区

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Doris 建设数仓建表规范主要包括以下几个方面。 1. 规范名应具有明确的含义,能够清晰地反映的内容和用途。名应该使用小写字母,可以使用下划线分隔单词,遵循命名规范,以提高可读性。 2. 字段命名规范:字段名也应该具有明确的含义,用于描述字段所代的数据意义。字段名应使用小写字母,如果字段名由多个单词组成,可以使用下划线分隔,遵循命名规范,以提高可读性。 3. 字段类型规范:根据实际的数据类型选择适当的字段类型,以减少存储空间的占用和提高查询效率。常见的字段类型包括整型、浮点型、日期时间型、字符型等。 4. 主键设置规范:每张应该有一个主键,用于唯一标识每条记录。主键可以是单个字段或多个字段的组合,根据实际情况进行选择。主键的选择应尽量避免频繁变更和冲突。 5. 索引规范:根据查询的需求,合理设置索引,以提高查询效率。索引可以加快数据的查询速度,但同时也会增加写入和更新的时间。应根据实际情况进行权衡和选择。 6. 关系规范:如果有多张之间存在关联关系,应该明确定义和建立之间的关系,如外键约束。这样可以保证数据的完整性,减少冗余和错误。 7. 数据分区规范:对于大型,可以进行数据分区,将数据按照某个字段进行划分,以提高查询和处理的效率。数据分区可以根据时间、地域等维度进行划分。 通过遵循这些建表规范,可以提高数据仓库的可维护性、可扩展性和查询性能,减少数据质量问题和冗余数据的产生。同时,也能提高数据分析和业务应用的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值