パーティショニング
StarRocks での高速分析は、クエリパターンに合ったテーブルレイアウトから始まります。このガイドは、実践的な経験を明確なルールに凝縮し、パーティショニングを支援します。これにより、以下のことが可能になります。
- データのスキャンを減らす:積極的なパーティションプルーニングを通じて
- ライフサイクルタスクを管理する(TTL、GDPR 削除、階層化): メタデータのみの操作で
- スムーズにスケールする:テナント数、データ量、または保持期間が増加する につれて
- 制御された書き込み増幅:新しいデータは「ホット」パーティションに着地し、Compaction は履歴パーティションで行われます
新しいテーブルをモデル化する際や古いテーブルをリファクタリングする際には、このアドバイスを参考にしてください。各セクションでは、目的に基づいた基準、設計のヒューリスティクス、および運用上のガードレールを提供し、コストのかかる再パーティショニングを回避します。
パーティショニングとバケッティングの違い
パフォーマンスの高い StarRocks テーブルを設計する際には、パーティショニングとバケッティングの違いを理解することが重要です。どちらも大規模なデータセットを管理するのに役立ちますが、異なる目的を持っています。
- パーティショニングは、クエリ時にパーティションプルーニングを使用して StarRocks がデータのブロック全体をスキップできるようにし、古いデータやテナント固有のデータを削除するなどのメタデータのみのライフサイクル操作を可能にします。
- バケッティングは、データを tablets に分散させてクエリ実行を並列化し、特にハッシュ関数と組み合わせた場合に負荷を均等にします。
| 側面 |
|---|