分区
在 StarRocks 中,实现快速分析的第一步 是设计一个与查询模式相匹配的表布局。本指南将实践经验提炼为清晰的分区规则,帮助您:
- 通过积极的分区裁剪减少扫描数据量
- 使用仅元数据操作管理生命周期任务(TTL、GDPR 删除、分层存储)
- 随着租户数量、数据量或保留窗口的增长平稳扩展
- 控制写放大——新数据进入“热”分区;数据Compaction发生在历史分区中
在建模新表或重构旧表时,请牢记这些建议——每个部分都提供目标导向的标准、设计启发和操作防护措施,以避免将来进行代价高昂的重新分区。
分区与分桶——不同的任务
在设计高性能的 StarRocks 表时,理解分区和分桶之间的区别是至关重要的。虽然两者都有助于管理大型数据集,但它们的用途不同:
- 分区允许 StarRocks 在查询时通过分区裁剪跳过整个分区,并启用仅元数据的生命周期操作,如删除旧数据或特定租户的数据。
- 分桶则有助于将数据分布在多个 tablet 上,以并行化查询执行和均衡负载,特别是在与哈希函数结合使用时。
| 方面 | 分区 | 分桶(哈希/随机) |
|---|---|---|
| 主要目标 | 粗粒度的数据裁剪和生命周期控制(TTL、归档)。 | 细粒度的并行度和每个分区内的数据局部性。 |
| 计划器可见性 |