1. What does partitioning (or sharding) generally aim to achieve in distributed systems?
A. Storing data in a single giant node
B. Splitting data across multiple machines to balance load and storage
C. Eliminating the need for replication
D. Converting all databases to a graph model
2. What is a common challenge when rebalancing partitions?
A. Ensuring that the database engine only runs on Windows
B. Handling data movement without causing significant downtime or performance issues
C. Blocking all queries on the system for the entire rebalancing period
D. Converting the system to use synchronous writes only
3. How might partitioning keys affect query efficiency?
A. They have no impact on how data is accessed
B. Poorly chosen partition keys can lead to uneven load distribution (hot spots)
C. Choosing a partition key doesn't matter if using a relational database
D. Every query must scan all partitions if the keys are numeric
4. In a complex partitioned system, what is one effective strategy to route requests to the correct partition?
A. Create random hashes for each request so it can go to any partition
B. Use a partition-aware client or service that calculates the partition based on a known key function
C. Disable all indexing so every partition is checked sequentially
D. Force the system to replicate data to every partition automatically