更新时间:2026-07-23 GMT+08:00
分享

分区表常见问题

本章节介绍TaurusDB分区表的常见问题。

TaurusDB一张表最多支持多少个分区?

最多支持8192个分区。如果定义了二级分区,则是所有分区的总和最多支持8192个。

分区表创建多少个分区比较合适?

在满足分区不超过8192个的前提下,根据业务场景和数据量决定分区数。

如何确定分区个数?

  • RANGE分区

    RANGE分区一般用于时间序列数据。分区粒度可以按照日/月/季/年来划分,按照业务确定数据保留周期,再结合分区粒度来计算分区个数。

  • HASH分区

    HASH分区将数据通过哈希函数均匀分散到指定数量的分区中。您可以在创建分区表时多尝试几个分区值,尽量找一个可以使得数据均衡分布的一个值作为分区值。以下命令可以辅助您来评估分区数量。

    • 查看按照ID值分为N个分区后每个分区的数量
      select id%N as part_id , count(1) from table_name group by id%N; 
    • 查看每个ID值对应的数据量
      select id, count(1) as cnt from table_name group by id order by cnt desc;

    确定HASH分区个数关键因素有如下几点可参考:

    • 写入吞吐量与单分区写入上限

      N_min = max( 总写入TPS/单分区TPS上限 , 总数据量/单分区容量上限 )

      单分区建议写入 ≤ 2000 TPS。

    • 总数据量与单分区数据量

      即使写入均匀,如果总数据量极大,但单分区扫描时间仍然很长。建议单分区数据量小于5000万行。

      计算公式如下:

      分区个数 = 预期总数据量 / 单分区推荐容量

    • 并行查询效率

      HASH分区可以并行扫描所有分区。但是过度分区会带来调度开销,请您谨慎选择。

相关文档