Можно ли выполнить долговременное удаление в Aerospike с asinfo, используя 'truncate'? - PullRequest
3 голосов
/ 10 марта 2020

Я хотел бы избежать использования клиентов Aerospike (например, для Python) и удалять записи из набора, используя собственную asinfo команду 'усечение' , поскольку это позволяет делать это быстро. Но после перезапуска Aerospike все удаленные записи вернулись. Я видел этот aerospike: удалить все записи в наборе , но он не отвечает на мой вопрос. эта страница также не из документов AS. Там написано, что надгробие должно быть написано после длительного удаления. Нужно ли создавать его вручную или есть другие способы?

UPD: Спасибо @kporter, предоставившему принятые ответ ниже Я смог разобраться в различиях между выпуском Aerospike для сообщества и предприятия и нашел дополнительную информацию по этой проблеме, некоторые могут также найти ее полезной:

Если я правильно понимая все это, лучший способ полностью удалить ваши записи в CE - убедиться, что они имеют правильный TTL и могут истекать естественным образом. И если по какой-то причине у вас есть много старых записей без TTL, как в моем случае, вы можете выполнить команду усечения через asinfo и не перезапускать сервер AS, пока данные на SSD не будут перезаписаны. Или просто обрезать наборы со старыми записями при каждом перезапуске.

Также мне интересно, можно ли полностью стереть хранилище AS и затем восстановить его из резервной копии уже усеченных данных в качестве экстренной меры?

UPD1: Итак, я смог стереть SSD с помощью хранилища Aerospike и восстановить только необходимые записи из резервной копии. Вот как я это сделал:

  • Во-первых, вам нужно удалить старые записи из наборов с помощью команд asinfo и truncate, ссылки на документы выше
  • Затем резервные пространства имен, которые вы хотите сохранить с asbackup
  • Остановите сервер AS, мой был в Docker контейнере, поэтому я просто остановил указанный контейнер
  • Обнулить диск, который используется в качестве хранилища AS, У меня был / dev / sdb
  • Создание необходимых разделов на этом диске
  • Запуск AS-сервера
  • Восстановление данных из резервной копии с помощью arestore

Полезные ссылки: как удалить и очистить установку сервера aerospike , AS docs при настройке SSD

Я не уверен, что это хорошее решение для больших производственных установок, но в моем случае оно работало так, как задумано, только с одним узлом AS и возможностью на некоторое время остановить его. Таким образом, мне удалось уменьшить размер данных в моей AS с 160 ГБ до 11 ГБ, и благодаря этому мой сервер теперь полностью перезагружается только через полчаса вместо примерно восьми часов, как раньше.

1 Ответ

3 голосов
/ 10 марта 2020

Более подробную информацию об усечении набора можно найти здесь: https://www.aerospike.com/docs/operations/manage/sets/

Как уже упоминалось, усечение в сообществе Aerospike недолговечно.

В выпуске Enterprise Edition усечение является долговременным и сохраняет удаление записей посредством холодного перезапуска. В выпуске Community Edition, аналогично удалению записей, записи в ранее усеченных наборах недолговечны, и удаления могут возвращаться при холодном запуске.

...