Partitions
Define data availability constraints for query routing.
Overview
Partitions tell the planner about data availability constraints. This helps route queries to the correct tables when multiple tables can answer the same question.
Supported Predicates
Only between and in_list predicates are supported.
between
Date range partition.
partitions:
- dimension: Order Date
predicate: between
filter_value: 24m # 24 months ago
filter_value_end: 1d # yesterday
description: "Rolling 2 year window"
in_list
List of values partition.
partitions:
- dimension: Region
predicate: in_list
filter_value: us-east, us-west, europe
description: "Table only has 3 regions of 5"
Date Range Partitions
Most common use case: rolling window tables.
name: Recent Sales
physical_name: recent_sales
datasource: warehouse
cost: 10
partitions:
- dimension: Order Date
predicate: between
filter_value: 24m # 24 months ago
filter_value_end: 1d # yesterday
description: "Table only contains last 24 months"
Time formats:
24m- 24 months1y- 1 year30d- 30 days1d- 1 day
List Partitions
Partition by specific values.
partitions:
- dimension: Region
predicate: in_list
filter_value: us-east, us-west, europe
description: "Table only has 3 regions"
Multiple Partitions
Define multiple partition constraints:
partitions:
- dimension: Order Date
predicate: between
filter_value: 12m
filter_value_end: 1d
description: "Last 12 months"
- dimension: Region
predicate: in_list
filter_value: us-east, us-west
description: "US regions only"
How It Works
When a user creates a query:
- Planner checks partition constraints
- If query matches partition, uses this table
- If query doesn't match, uses alternative table (if available)
- Routes query to appropriate table based on constraints
Use Cases
Rolling Window Table
name: Recent Orders
partitions:
- dimension: Order Date
predicate: between
filter_value: 12m
filter_value_end: 1d
description: "Last 12 months of data"
Regional Partition
name: US Sales
partitions:
- dimension: Region
predicate: in_list
filter_value: us-east, us-west, us-central
description: "US regions only"
Best Practices
- Document partitions - Add descriptions explaining constraints
- Use appropriate dimensions - Must reference dimension in same table
- Set appropriate costs - Partitioned tables often have lower cost
- Test query routing - Verify planner routes queries correctly
Next Steps
- Learn about cost optimization
- Explore multi-datasource queries