A shard is a horizontal partition of data in a database. Each shard holds a subset of the total data, allowing the system to scale by distributing data across multiple servers.
Click to reveal answer
intermediate
Why do cross-shard queries pose challenges in distributed systems?
Because data is split across multiple shards, querying data that spans shards requires coordination between shards, which can increase latency, complexity, and risk of inconsistent results.
Click to reveal answer
intermediate
Name two common strategies to handle cross-shard queries.
1. Scatter-gather: Query all relevant shards and combine results. 2. Global indexes: Maintain an index that points to data across shards to quickly locate data without querying all shards.
Click to reveal answer
beginner
What is the scatter-gather approach in cross-shard queries?
It is a method where the query is sent to all shards that might contain relevant data. Each shard processes the query locally and returns results. The system then merges these results to form the final answer.
Click to reveal answer
intermediate
How can global indexes improve cross-shard query performance?
Global indexes provide a centralized way to find which shard holds the data needed. This reduces the need to query all shards, lowering latency and resource use.
Click to reveal answer
What is the main reason cross-shard queries are slower than single-shard queries?
AThey use outdated database engines
BThey require coordination across multiple shards
CThey only query one shard
DThey do not use indexes
✗ Incorrect
Cross-shard queries involve multiple shards, requiring coordination and data merging, which adds overhead and latency.
Which approach involves querying all shards and combining results?
ASharding
BGlobal index lookup
CCaching
DScatter-gather
✗ Incorrect
Scatter-gather sends the query to all shards and merges their responses.
What is a drawback of maintaining global indexes for cross-shard queries?
AThey prevent data partitioning
BThey increase query latency
CThey require extra storage and maintenance
DThey eliminate scalability
✗ Incorrect
Global indexes need additional storage and must be kept up to date, adding complexity.
Which of the following is NOT a typical challenge of cross-shard queries?
ASimplified query logic
BData inconsistency risks
CIncreased latency
DHigher resource consumption
✗ Incorrect
Cross-shard queries usually complicate query logic, not simplify it.
What does sharding primarily help with in databases?
AScaling by distributing data
BIncreasing data redundancy
CReducing data backups
DImproving security
✗ Incorrect
Sharding splits data across servers to scale storage and query capacity.
Explain what cross-shard queries are and why they are challenging in distributed databases.
Think about how data is split and how queries must gather data from multiple places.
You got /4 concepts.
Describe two strategies to handle cross-shard queries and their trade-offs.
Consider how queries find data and how results are combined.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of cross-shard queries in a distributed database system?
easy
A. To encrypt data within a shard
B. To backup data from one shard to another
C. To split a large shard into smaller shards
D. To retrieve data from multiple shards to answer a single complex request
Solution
Step 1: Understand what shards are
Shards are parts of a database split to store data separately for scalability.
Step 2: Identify the role of cross-shard queries
Cross-shard queries combine data from multiple shards to answer complex requests that need data from more than one shard.
Final Answer:
To retrieve data from multiple shards to answer a single complex request -> Option D
Quick Check:
Cross-shard queries = combine data from shards [OK]
Hint: Cross-shard queries combine data from many shards [OK]
Common Mistakes:
Confusing cross-shard queries with data backup
Thinking cross-shard queries split shards
Assuming cross-shard queries encrypt data
2. Which component is responsible for splitting and merging queries in cross-shard query processing?
easy
A. Coordinator
B. Shard manager
C. Cache server
D. Load balancer
Solution
Step 1: Identify query processing roles
The coordinator handles query distribution and result merging across shards.
Step 2: Match roles to components
Shard manager manages shards but does not split/merge queries; cache server stores data temporarily; load balancer distributes traffic but not queries.
Final Answer:
Coordinator -> Option A
Quick Check:
Coordinator splits and merges queries [OK]
Hint: Coordinator splits and merges cross-shard queries [OK]
Common Mistakes:
Confusing shard manager with coordinator
Thinking cache server merges queries
Assuming load balancer handles query splitting
3. Consider a system with 3 shards. A cross-shard query is sent to all shards in parallel. If each shard takes 100ms, 120ms, and 80ms respectively to respond, what is the total time to get the combined result?
medium
A. 300ms
B. 80ms
C. 120ms
D. 100ms
Solution
Step 1: Understand parallel query execution
Queries run in parallel, so total time is the longest shard response time.
Step 2: Identify the longest response time
Shard times are 100ms, 120ms, and 80ms. The longest is 120ms.
Final Answer:
120ms -> Option C
Quick Check:
Parallel time = max shard time = 120ms [OK]
Hint: Total time = longest shard response in parallel [OK]
Common Mistakes:
Adding all shard times instead of taking max
Choosing shortest shard time
Confusing sequential with parallel execution
4. A cross-shard query coordinator is returning incomplete results. Which of the following is the most likely cause?
medium
A. Coordinator failed to merge all shard responses
B. Shard keys are not evenly distributed
C. Cache server is overloaded
D. Load balancer is routing traffic incorrectly
Solution
Step 1: Analyze incomplete results cause
Incomplete results usually mean some shard data was not included in the final output.
Step 2: Identify coordinator role in merging
The coordinator merges shard responses; failure here causes missing data.
Final Answer:
Coordinator failed to merge all shard responses -> Option A
Quick Check:
Incomplete results = merge failure [OK]
Hint: Incomplete results often mean merge failure by coordinator [OK]
Common Mistakes:
Blaming shard key distribution for missing data
Assuming cache overload causes missing data
Thinking load balancer affects query merging
5. You want to reduce latency of cross-shard queries in a large distributed system. Which combination of strategies is best?
hard
A. Run queries sequentially on each shard and use a load balancer to distribute traffic
B. Use a coordinator to parallelize queries and implement caching of frequent results
C. Increase shard size and avoid caching to reduce complexity
D. Remove the coordinator and let clients query shards directly
Use a coordinator to parallelize queries and implement caching of frequent results uses both parallelism and caching, best for latency. Others increase complexity or remove coordination, causing delays.
Final Answer:
Use a coordinator to parallelize queries and implement caching of frequent results -> Option B
Quick Check:
Parallel + caching = lower latency [OK]
Hint: Parallel queries plus caching reduce latency best [OK]
Common Mistakes:
Thinking bigger shards reduce latency
Running queries sequentially increases latency
Removing coordinator causes uncoordinated delays
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.