1 min lesson
Partitioning without skew
Recall the main items in "Partitioning without skew", then connect each one to the work.
Step 1 of 2
Partitioning without skewthe layout that enables pruning and parallelism
Partition bronze by event date, and maybe hour, so time-bounded queries and retention prune whole directories instead of scanning everything. Resist partitioning on a high-cardinality column like user_id directly. Millions of tiny partitions is its own disaster. For clustering within a partition, use Z-ordering or Delta liquid clustering on the columns you actually filter on.
- Partition on low-to-medium cardinality time columns such as date and hour for pruning and retention.
- Watch for skew. A single hot tenant or a null key can pile most rows into one partition and one task; salt the key or use liquid clustering to spread the load.
- Cluster, don't over-partition. Z-order or liquid clustering on filter columns gives pruning without exploding the partition count.