Database / ScyllaDB Interview questions
Why doesn't ScyllaDB support arbitrary ad-hoc joins?
ScyllaDB is architected so that any single query can be efficiently routed and answered by the specific node(s) owning the relevant partition, keeping latency predictable at scale. An arbitrary join across two large tables would require correlating data that could live on completely different, unrelated nodes, which breaks that guarantee and can force a scatter-gather operation across the entire cluster for a single query.
Instead, ScyllaDB pushes the "join" work to schema design time: applications denormalize data, duplicating or pre-joining information into a single table (or a materialized view) shaped around the exact query pattern needed, so that what would be a join in a relational database becomes a single-partition read here. This trades some storage and write-time complexity (keeping denormalized copies in sync) for read-time predictability, which is the core design philosophy behind query-first schema design in wide-column databases.
More Related questions...