Лучшие практики для сжатия ArangoDB по требованию для восстановления файлового пространства - PullRequest
0 голосов
/ 19 сентября 2018

Часть моей оценки ArangoDB включает импорт нескольких CSV-файлов размером более 1 млн. Строк в промежуточную область, а затем удаление полученных коллекций или баз данных.Мне придется делать это повторно для производственных процессов, которые я представляю.

Я понимаю, что служба ArangoDB периодически вызывает уплотнение на этой странице:

https://docs.arangodb.com/3.3/Manual/Administration/Configuration/Compaction.html

После удалениябазу данных, я ждал более 24 часов, и на диске не было места, поэтому я не уверен, что этот автоматизированный процесс работает.

Я хотел бы получить ответы на следующие вопросы:

  1. Каковы значения по умолчанию для параметров автоматического сжатия, показанных в приведенной выше ссылке?

  2. Помимо наблюдения за изменением файлового пространства, как узнать, что сжатие сработало?Это файл журнала или другое место, которое указывало бы на это?

  3. Как выполнить сжатие по требованию?Все ссылки, которые я нашел, обсуждающие такую ​​функцию, указывали, что это было невозможно, но они были сделаны несколько лет назад, и я надеюсь, что эта функция была добавлена.

Спасибо!

1 Ответ

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

Маршрут GET /_api/collection/{collection-name}/figures содержит податрибут compactionStatus в атрибуте figures с time и message последнего сжатия для целей отладки.В ответе может содержаться и другая информация, которая может вас заинтересовать. Посмотрите, установлено ли для doCompact значение true.https://docs.arangodb.com/3.3/HTTP/Collection/Getting.html#return-statistics-for-a-collection

Вы можете запустить arangod --help-compaction, чтобы увидеть параметры запуска для сжатия, включая значения по умолчанию.Эта информация также доступна онлайн в документах 3.4: https://docs.arangodb.com/3.4/Manual/Programs/Arangod/Options.html#compaction-options

Маршрут PUT /_api/collection/{collection-name}/rotate, цитируя документацию напрямую:

Вращает журнал коллекции.Текущий журнал коллекции будет закрыт и станет файлом данных только для чтения.Цель метода rotate - сделать данные в файле доступными для сжатия (сжатие выполняется только для файлов данных только для чтения, а не для журналов)

Сохранение новых данных в коллекции впоследствии создаст новыефайл журнала автоматически, если нет текущего журнала.

https://docs.arangodb.com/3.3/HTTP/Collection/Modifying.html#rotate-journal-of-a-collection

...