[Enhancement]: New Search Architecture Based On Streaming Service #40451
Labels
feature/streaming node
streaming node feature
kind/enhancement
Issues or changes related to enhancement
Milestone
Is there an existing issue for this?
What would you like to be added?
New Search Architecture Based On Streaming Service
Why is this needed?
Current Streaming Service supports a embedded querynode to implement search/query, also see #38399.
But old delegator logic is too heavy for streaming node, and we cannot split the batch and streaming process based on current delegator arch completely:
Here's the new distributed architecture for search/query process based on streaming service:
The query process is implemented as shown in the diagram above, following a two-phase query approach:
Coordinator will generate global versioned query view and sync the view to all streaming node and query node, and keep consistency by a cross-node state machine.
QueryNode will subscribe the pure delete stream from the streaming node and apply the delete request to all segment on it.
Phase 1: The Proxy generates a shard-level query plan using the highest version of the QueryView from the StreamingNode:
Phase 2: The Proxy sends the query plan to both the StreamingNode and QueryNode:
Final Step: The Proxy reduces all results and returns them to the user.
During this process, if a node crashes or the view becomes invalid, the process is canceled and the query operation is retried.
Here's the TODO list:
Anything else?
No response
The text was updated successfully, but these errors were encountered: