Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Keywords: Segment, QueryNode, QueryCoord, Multiple replicamemory replications

Released:

Summary

We want to add a new feature that maintain multiple segment replicas replications in memory to improve the QPS and support fast failover.

Motivation

Milvus holds a replica replication per segment in memory for now. To improve the search request concurrency, Milvus can have multiple replicas replications of a segment on different QueryNodes. If a QueryNode is doing a search request on a segment and another request arrives, we can send this request to another QueryNode which have a replica replication of the same segment. Besides, if a QueryNode crashes, now we have to wait for a segment being loaded to search. If we have multiple replicasreplications, we can resend the search request to another QueryNode immediately.

...

  • Balance
    • If a new segment need to be loaded, we will try to allocate it to multiple different QueryNode(<=replica replication number). It is not necessary to wait all replcas are loaded successfully bacause a replica replication can support the search request.

...