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 (date, 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.