Невозможно выполнить шардинг в кластере ArangoDB с 3 узлами - PullRequest
0 голосов
/ 23 октября 2018

Я развернул кластер из 3 узлов в своем локальном компьютере (используя Docker) и создал коллекцию (noOfShards = 3 и replicationFactor = 1).Однако, когда я создаю документ в одном из узлов, он реплицируется во всех трех узлах.Я ожидал, что это будет распространено, основываясь на моем ключе шарда.

Мне не разрешено создавать коллекцию с коэффициентом репликации 0. Мое главное намерение - разделить документы в моей коллекции так, чтобы они были равномерно распределены в 3 узлах на основе ключа shard_key.Я действительно не обеспокоен репликацией.

Есть идеи, что я здесь не так делаю?

1 Ответ

0 голосов
/ 23 октября 2018

Я лично считаю, что вы делали репликацию, а это не то, что вы хотите сделать для своего требования, то, что вы должны делать, это Sharding, и это очень четко выделено в документации ArangoDB:

https://docs.arangodb.com/3.2/Manual/Administration/Sharding/


Создание простой защищенной коллекции

127.0.0.1:8529@_system> db._create("sharded_collection", { "numberOfShards": 3 });

Короче говоря, она позволяет создавать коллекции, которые хранятся в кластере, что по существу соответствует вашим требованиям.

Процесс очень прост

  1. Настройка кластера ArangoDB (который, я полагаю, вы уже знаете, как)
  2. Отключите репликацию или установите его в 1
  3. Создание коллекции Sharded (простое руководство можно найти по ссылке выше)

Более того, я настоятельно рекомендую вам прочитать материалы из Центра обучения Arango для кластеров - это поможет ваммного в долгосрочной перспективе.

https://www.arangodb.com/arangodb-training-center/operations/

...