Questions
14 of 17
1Design a semantic search system that must support 500 million documents with sub-100ms p99 latency. What are the key architectural decisions?
2How would you plan capacity (RAM, disk, CPU, node count) for a collection of a given size, vector dimensionality, and expected QPS?
3What architectural changes would you make to support near-real-time search over data that changes thousands of times per second (e.g., a live feed)?
4How would you design a system that needs to support both 'search the last 24 hours' and 'search all history' with very different latency expectations?
5What role does caching play in a Qdrant-backed search system, and at what layers would you introduce it?
6How would you decide the initial number of shards for a new collection when the eventual data size is uncertain?
7What is the relationship between shard count and query fan-out cost, and why doesn't 'more shards' always mean 'faster'?
8How many replicas would you configure for a shard serving a mission-critical, read-heavy workload, and what does each additional replica cost you?
9What operational steps are involved in adding a new node to an existing Qdrant cluster and rebalancing shards onto it?
10How does Qdrant's architecture and target use case differ from Pinecone's as a fully managed, closed-source vector database?
11When would you choose pgvector inside an existing Postgres database over a dedicated vector database like Qdrant?
12What distinguishes Qdrant from Weaviate and Milvus at a conceptual level, and what would make you choose one over the others for a given project?
13Under what circumstances would a team be justified in NOT using a vector database at all, and instead using brute-force search or a traditional search engine?
14What is your target Recovery Point Objective (RPO) and Recovery Time Objective (RTO) for a Qdrant deployment, and how do snapshot frequency and replication factor influence each?
15How would you design a disaster-recovery strategy that survives the loss of an entire cloud region?
16What is the operational difference between a rolling upgrade of a replicated cluster and an in-place upgrade of a single-node deployment?
17How would you validate that a newly restored cluster from snapshots is actually healthy and serving correct results before routing production traffic to it?
14 / 17

What is your target Recovery Point Objective (RPO) and Recovery Time Objective (RTO) for a Qdrant deployment, and how do snapshot frequency and replication factor influence each?

RPO is bounded by snapshot interval and replication; RTO by restore time

RPO (recovery point objective) is the maximum amount of data you are willing to lose, measured in time. RTO (recovery time objective) is the maximum time to restore service after a failure. They are business-level targets that translate directly into configuration choices. For RPO, the two controls are snapshot frequency and replication factor. With only snapshots, the RPO is bounded by the snapshot interval: hourly snapshots mean up to an hour of lost writes. With replication, the RPO for a node failure is effectively zero because the surviving replicas have all the data; the RPO for a cluster-wide failure is still bounded by the snapshot interval. So replication protects against node failures with a near-zero RPO, and snapshots protect against catastrophic failures with an RPO equal to the snapshot interval. For RTO, the controls are the restore procedure and the snapshot size. RTO is the time to provision a new cluster, download the snapshots, restore them, and validate. For a large collection, the download and restore can take hours, so the RTO is dominated by the snapshot size and the network bandwidth.

The mechanism that connects the configuration to the business target is straightforward: every configuration choice has an RPO and RTO implication. Replication factor 2 means the cluster survives one node failure with no data loss and no downtime (RPO=0, RTO=0 for that failure mode). Replication factor 3 extends this to two simultaneous failures. Snapshot frequency determines the RPO for a catastrophic failure: a snapshot every hour means up to an hour of data loss if the cluster is destroyed. Snapshot storage location matters for RTO: snapshots stored in the same cluster are lost with the cluster; snapshots stored in external object storage can be restored. The restore procedure determines RTO: an automated restore is faster than a manual one; a well-tested procedure is faster than one that is being run for the first time. The key insight is that the RPO and RTO are not a single number - they are different for different failure modes (node failure, disk failure, cluster loss, region loss), and the configuration must be chosen to meet the target for each mode that matters.

  1. 1

    RPO for node failure: near zero with replication_factor >= 2; equal to the last snapshot without replication.

  2. 2

    RPO for cluster failure: bounded by the snapshot interval; hourly snapshots mean up to an hour of loss.

  3. 3

    RTO for node failure: near zero with replication and automatic failover.

  4. 4

    RTO for cluster restore: provisioning + download + restore + validation; dominated by snapshot size.

  5. 5

    Snapshot frequency: trade-off between RPO and storage/load cost.

  6. 6

    Snapshot storage: must be external to survive a cluster loss.

  7. 7

    Replication factor: trade-off between RPO/RTO and storage/write cost.

  8. 8

    Restore automation: reduces RTO; manual procedures are slower and error-prone.

  9. 9

    Testing: restore drills validate the RTO and catch issues before a real incident.

The trade-off is between the cost of the configuration and the strength of the guarantee. More frequent snapshots reduce RPO but cost storage and add load to the cluster. Higher replication reduces RPO and RTO for node failures but costs storage and write bandwidth. The right balance depends on the business value of the data and the cost of an outage. The common mistakes are: (1) choosing a snapshot frequency without measuring the restore time, so the RTO is unknown; (2) storing snapshots on the same cluster, so a cluster loss loses the backups too; (3) not testing the restore procedure, so the first restore happens during an incident and takes much longer than expected; (4) confusing the RPO for node failures with the RPO for cluster failures; (5) not documenting the RPO and RTO targets and the configuration that achieves them. Version note: the snapshot API and the replication semantics have evolved across Qdrant releases. The exact RPO and RTO for a given configuration depend on the version. Test the restore and failover on your version.

javascript

Version-dependent: the snapshot API, the restore procedure, and the replication failover behavior have changed across Qdrant releases. The RPO and RTO for a given configuration depend on the version and the deployment. Test the failover and restore on your version and validate that the targets are met.

Difficulty: 8/10
Topics: Disaster Recovery, Snapshots, Replication

Scenario Questions

0-2 years experience
  1. 1

    You take daily snapshots. Explain the RPO for a cluster failure and whether it meets a 1-hour target.

  2. 2

    A teammate stores snapshots on the cluster's disks. Explain why that fails the RPO for a cluster loss.

2-5 years experience
  1. 1

    You need an RPO of 1 hour and an RTO of 4 hours. Describe the configuration and the restore procedure.

  2. 2

    You run a restore drill and it takes twice as long as expected. Diagnose the bottlenecks and propose fixes.

5-8 years experience
  1. 1

    Design the RPO and RTO targets for a mission-critical Qdrant deployment, and specify the snapshot frequency, replication factor, and restore automation.

  2. 2

    You need to meet an RPO of 5 minutes. Describe the configuration that achieves this and the trade-offs.

8+ years experience
  1. 1

    Derive the relationship between snapshot frequency, replication factor, and RPO/RTO for each failure mode. How would you choose the configuration to minimize cost while meeting the targets?

  2. 2

    You are designing a disaster recovery strategy for a multi-region deployment. Describe the RPO and RTO for each failure mode and the configuration that achieves them.

Follow-up Questions

  • How would you measure the actual RTO of your deployment, and how often would you run a restore drill?
  • If the business requires an RPO of 15 minutes and an RTO of 1 hour, what configuration would you use and how would you validate it?