MAPREDUCE服务 MRS-Doris建表规范:Doris建表规则

时间:2024-05-28 14:22:57

Doris建表规则

  • 在创建Doris表指定分桶buckets时,每个桶的数据大小应保持在100MB~3GB之间,单分区中最大分桶数量不超过5000。
  • 表数据超过5亿条以上必须设置分区分桶策略。
  • 表的分桶列不要设置太多,一般情况下设置1或2个列即可,同时需要兼顾数据分布均匀和查询吞吐均衡。
    • 数据均匀是为了避免某些桶的数据存在倾斜影响数据均衡和查询效率。
    • 查询吞吐利用查询SQL的分桶剪裁优化避免了全桶扫描,以提升查询性能。
    • 分桶列的选取:优先考虑数据较为均匀且常用于查询条件的列作为分桶列。

      可使用以下方法分析是否会导致数据倾斜:

      SELECT a, b, COUNT(*) FROM tab GROUP BY a,b;

      命令执行后查看各个分组的数据条数是否相差不大,如果相差超过2/3或1/2,则需要重新选择分桶字段。

  • 2千万以内数据禁止使用动态分区。动态分区会自动创建分区,而小表用户关注不到,会创建出大量不使用的分区分桶。
  • 创建表时,排序键key不能太多,一般建议3~5个;太多key会导致数据写入较慢,影响数据导入性能。
  • 不使用Auto Bucket,需按照已有的数据量来进行分区分桶,能更好的提升导入及查询性能。Auto Bucket会造成Tablet数量过多,最终导致有大量的小文件。
  • 创建表时的副本数必须至少为2,默认是3,禁止使用单副本。
support.huaweicloud.com/devg-rule-mrs/mrs_07_450069.html