ArangoDB新增DBServer节点的数据重分片及日志相关技术问询
Hey there! Let's walk through your ArangoDB scaling and sharding questions clearly:
Absolutely. When you add new DBServer nodes to your ArangoDB cluster, you can reshard existing sharded collections to distribute data across the new nodes. Keep in mind that this isn't an automatic process by default—you'll need to trigger it manually. You can do this either via the ArangoDB Web UI (under the collection's sharding settings) or using the db.<collection-name>.reshard() command in arangosh. Just note that this only applies to collections that are already sharded; if your collection isn't sharded yet, you'll need to enable sharding first before adjusting the distribution.
Yes, ArangoDB is designed to support on-demand scaling by adding DBServer nodes as your data grows. Let's tackle your sub-questions:
① Will collection data automatically reshard from old DBServers to new nodes?
No, automatic resharding doesn't happen by default. When you add new DBServer nodes, only newly written data will be distributed to the new nodes according to your existing sharding strategy. To get your existing data onto the new nodes, you'll have to manually initiate a reshard operation (like the methods mentioned in the first question). This gives you control over when and how the data redistribution happens, which is helpful for avoiding unexpected performance impacts during peak times.
② If automatic resharding exists, will resharding logs appear in _api/replication/logger-follow?
First, to clarify: there's no default automatic resharding, so this scenario doesn't apply out of the box. However, when you manually trigger a reshard operation, the related events will be logged in the replication log. You can retrieve these logs using the _api/replication/logger-follow endpoint. The logs will include key details about the resharding process—like when a shard migration starts, finishes, or if any issues occur during data transfer.
内容的提问来源于stack exchange,提问作者user3665965

