Replies: 2 comments 1 reply
-
|
@hanahmily Could you clarify of this? |
Beta Was this translation helpful? Give feedback.
1 reply
-
|
Words fix via apache/skywalking-banyandb#902 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Problem
The documentation in docs/concept/clustering.md (lines 56-58) states that Meta Nodes store "information about the shard allocation of each Data Node", which can be misleading. This phrasing suggests that explicit shard-to-node mappings are stored, but the actual implementation uses a deterministic round-robin algorithm to calculate assignments dynamically.
Current Implementation
Based on code analysis (
pkg/node/round_robin.go):shard_num,replicas) and Node registration informationnode = (shard_index + replica_id) % node_countSuggested Fix
Clarify that Meta Nodes store the configuration information needed for shard allocation (not the allocation results themselves), and that Liaison Nodes dynamically calculate assignments using a deterministic algorithm. This would:
Other
Currently, metadata nodes do not store shard-to-node mappings, which seems to differ from many other database designs. Each query requires the liaison node to query all data nodes and then deduplicate.
While this increases horizontal scalability and reduces operational costs, it increases query latency. This seems unsuitable if I want to quickly query and alert when system metrics are abnormal.
Beta Was this translation helpful? Give feedback.
All reactions