Cross-shard queries are expensive but sometimes unavoidable:
Scatter-gather pattern: Query coordinator fans out to all shards
Each shard executes query locally
Coordinator merges results
Optimization strategies:
- Include shard key in queries when possible
- Denormalize to avoid joins across shards
- Use secondary indexes for common cross-shard queries
- Cache aggregated results
When to accept cross-shard queries:
- Analytics workloads (batch, not real-time)
- Admin dashboards
- Infrequent operations
Design your data model to minimize cross-shard queries in the hot path.