请教一下各位大佬,如果我表后面会存放几十亿数据,并且会用于查询,那我表的桶和分区怎么优化合理,时间查询会用得比较多。服务器有个64g的集群

CREATE TABLE app_audit_base_idcard_governed (
Operate_Time datetime NOT NULL COMMENT “操作时间”,
User_ID varchar(255) NOT NULL DEFAULT “” COMMENT “User_ID”,
id bigint(20) NOT NULL AUTO_INCREMENT COMMENT “自增ID”,
audit_id bigint(20) NOT NULL COMMENT “原表ID”,
Reg_ID varchar(255) NOT NULL DEFAULT “” COMMENT “部门ID”,
idcard varchar(255) NULL DEFAULT “” COMMENT “提取的身份证”,
Inquire_Content varchar(1048576) NULL COMMENT “”,
log_timestamp varchar(255) NULL COMMENT “”,
log_version varchar(255) NULL COMMENT “”,
Inquire_Type varchar(255) NULL COMMENT “”,
Num_ID varchar(255) NULL COMMENT “”,
Operate_Name varchar(255) NULL COMMENT “”,
Operate_Result varchar(255) NULL COMMENT “”,
Operate_Type varchar(255) NULL COMMENT “”,
Organization varchar(255) NULL COMMENT “”,
Organization_ID varchar(255) NULL COMMENT “”,
Record_Type varchar(255) NULL COMMENT “”,
Terminal_Ip varchar(255) NULL COMMENT “”,
Terminal_Type varchar(255) NULL COMMENT “”,
User_Name varchar(255) NULL COMMENT “”,
User_Type varchar(255) NULL COMMENT “”,
es_index varchar(255) NULL COMMENT “”,
metadataTopic varchar(255) NULL COMMENT “”,
report_ip varchar(255) NULL COMMENT “”,
trans_ip varchar(255) NULL COMMENT “”,
tags varchar(255) NULL COMMENT “”,
type_1 varchar(255) NULL COMMENT “”,
INDEX idx_user_id (User_ID) USING BITMAP COMMENT ‘’,
INDEX idx_reg_id (Reg_ID) USING BITMAP COMMENT ‘’
) ENGINE=OLAP
DUPLICATE KEY(Operate_Time, User_ID)
DISTRIBUTED BY HASH(id) BUCKETS 32
PROPERTIES (
“compression” = “LZ4”,
“fast_schema_evolution” = “true”,
“replicated_storage” = “true”,
“replication_num” = “3”
);

3台64G还是3台128的sr集群,后面会再去核实下

1.存储数据时间范围有多大;
2.一般查询的时间范围多大;
3.数据分布在时间上是否均匀;
4.查询是否涉及和其他表在其他字段关联;
5.当前是存算一体还是存算分离;

主要用于查询日志,是还有一张日志表主表,这张表相当于是一张主表治理出来的表,后续用来做数据建模操作
1、计划是存放近三年的数据。
2、一般查询近三个月的数据会比较频繁
3、基本上是均匀的,工作时间日志数据可能比较多
4、没有
5、存算一体

那你发的这个我看没什么问题
id分桶,这个可能还涉及按id哈希后日期是否均匀,如果日期在id上分布不均匀,建议在分桶中再加上日期 distributed by hash(id,operate_time)。按你说的话分区数据可能不会超过10G,如果每个分区数据量超过10G,那就按10G一个桶去算分桶数
加上表达式分区PARTITION BY date_trunc(‘month’, Operate_Time) ,数据导入时每个月应该都会自动创建分区