Bird
Raised Fist0
HLDsystem_design~10 mins

Cross-shard queries in HLD - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to identify the component responsible for routing queries to the correct shard.

HLD
The [1] directs queries to the appropriate shard based on the shard key.
Drag options to blanks, or click blank then click option'
AQuery Router
BData Node
CLoad Balancer
DCache Layer
Attempts:
3 left
💡 Hint
Common Mistakes
Confusing the Data Node with the Query Router.
Thinking the Load Balancer handles query routing.
2fill in blank
medium

Complete the code to describe the step where data is aggregated from multiple shards.

HLD
After querying individual shards, the [1] combines the results into a single response.
Drag options to blanks, or click blank then click option'
AShard Manager
BAggregator
CQuery Router
DCache Layer
Attempts:
3 left
💡 Hint
Common Mistakes
Confusing the Aggregator with the Query Router.
Assuming the Cache Layer does aggregation.
3fill in blank
hard

Fix the error in the description of cross-shard query latency.

HLD
Cross-shard queries often have higher latency due to [1] across shards.
Drag options to blanks, or click blank then click option'
Asingle-thread processing
Blocal caching
Cnetwork communication
Ddisk I/O
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing disk I/O which affects all queries, not specifically cross-shard.
Selecting local caching which reduces latency.
4fill in blank
hard

Fill both blanks to complete the description of a common strategy to reduce cross-shard query overhead.

HLD
To reduce overhead, systems often [1] queries to shards and [2] results before sending to the client.
Drag options to blanks, or click blank then click option'
Aparallelize
Bcache
Caggregate
Dserialize
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up serialization with aggregation.
Thinking caching happens before querying.
5fill in blank
hard

Fill all three blanks to complete the explanation of handling consistency in cross-shard queries.

HLD
To maintain consistency, the system uses [1] to coordinate shards, [2] to lock data, and [3] to resolve conflicts.
Drag options to blanks, or click blank then click option'
Adistributed transactions
Btwo-phase commit
Cconflict resolution
Deventual consistency
Attempts:
3 left
💡 Hint
Common Mistakes
Confusing eventual consistency with locking.
Mixing up conflict resolution with transaction coordination.

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

  1. Step 1: Understand what shards are

    Shards are parts of a database split to store data separately for scalability.
  2. 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.
  3. Final Answer:

    To retrieve data from multiple shards to answer a single complex request -> Option D
  4. 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

  1. Step 1: Identify query processing roles

    The coordinator handles query distribution and result merging across shards.
  2. 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.
  3. Final Answer:

    Coordinator -> Option A
  4. 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

  1. Step 1: Understand parallel query execution

    Queries run in parallel, so total time is the longest shard response time.
  2. Step 2: Identify the longest response time

    Shard times are 100ms, 120ms, and 80ms. The longest is 120ms.
  3. Final Answer:

    120ms -> Option C
  4. 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

  1. Step 1: Analyze incomplete results cause

    Incomplete results usually mean some shard data was not included in the final output.
  2. Step 2: Identify coordinator role in merging

    The coordinator merges shard responses; failure here causes missing data.
  3. Final Answer:

    Coordinator failed to merge all shard responses -> Option A
  4. 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

Solution

  1. Step 1: Identify strategies to reduce latency

    Parallel query execution via coordinator reduces wait time; caching avoids repeated work.
  2. Step 2: Evaluate options

    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.
  3. Final Answer:

    Use a coordinator to parallelize queries and implement caching of frequent results -> Option B
  4. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard