Возможна ли шардинг существующей базы данных ArangoDB?

У меня есть один простой вопрос. Если я сейчас разработаю свою игру на одной базе данных ArangoDB, и если она станет большой, можно ли будет расширить мою существующую базу данных/коллекцию с помощью координаторов и осколков, включенных с избыточностью?

Спасибо, Вили


person Vili Volcini    schedule 20.11.2015    source источник


Ответы (1)


вы сможете использовать arangodump, чтобы получить дамп вашей не сегментированной базы данных.

На самом деле вы получаете два файла на коллекцию:

  • полезная нагрузка, один документ json на строку (*.data.json)
  • описание коллекции (*.structure.json)

Затем вы можете изменить описание коллекции, чтобы настроить более одного сегмента плюс его параметры и восстановите его в настройке кластера.

Однако вам может потребоваться перенастроить запросы для достижения оптимальной производительности в кластерной ситуации. Вы обязательно должны рассчитать, что сначала вам нужно протестировать ваше приложение с новой настройкой.

person dothebart    schedule 20.11.2015
comment
Хорошо, круто, эта работа подпадает под действие технического обслуживания. Запросы могут быть оптимизированы позже, когда база данных станет сегментированной/кластеризованной, верно? Могу ли я ожидать худшей производительности или примерно такой же с теми же запросами? - person Vili Volcini; 20.11.2015
comment
Конечно, я проведу тест-драйв своего приложения перед тем, как отправиться в дикую природу :). - person Vili Volcini; 20.11.2015
comment
Хорошо, еще один вопрос, если можно. Что насчет сегментирования базы данных с самого начала, а затем, когда придет время, изменить ее размер? Будет ли это проще/разумнее? - person Vili Volcini; 20.11.2015
comment
поскольку кластеризация требует больше сетевого взаимодействия, у вас всегда будет более высокая задержка, если вы сравните два похожих запроса в среде бездействия. Однако, если вы (скорее всего) записываете на несколько дисков, пропускная способность может улучшиться, и если у вас будет меньше возможностей для дискового ввода-вывода, являющегося узким местом. Сначала я бы начал с простого, затем приступил к работе, а затем подготовил рабочие пакеты для сегментирования. - person dothebart; 23.11.2015
comment
Хорошо, спасибо. Тогда шардинг не понадобится, так как я буду запускать базу данных на SSD (облако). - person Vili Volcini; 23.11.2015