Ruby / Bash скрипт для резервного копирования моей таблицы и удаления записей - PullRequest
0 голосов
/ 31 марта 2012

Я сохраняю все транзакции в БД вместо журналов, но я не хочу, чтобы таблица становилась огромной и медленной, поэтому я думал о создании задачи cron, которая будет делать что-то каждые несколько месяцев, например:

1- Резервное копирование таблицы для жесткого диска. 2 - Переместить все записи в новую таблицу, например, table_backup. 3 - Удалить записи в этой таблице.

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

Пожалуйста, обратите внимание, что я не использую ruby ​​с активными моделями записей для доступа к таблицам БД, как вы думаете, как лучше всего это сделать, и есть ликакие-нибудь альтернативы тому, что я предложил?

1 Ответ

1 голос
/ 31 марта 2012

Я бы предложил следующее:

  1. Избыточность - в зависимости от того, насколько важны ваши данные, вам может потребоваться избыточное хранилище (например, настройка базы данных master-slave илибаза данных на устройстве RAID)
  2. Резервное копирование - иметь ежечасное / ежедневное / еженедельное резервное копирование (опять же, в зависимости от того, насколько важно поддерживать эти резервные копии, сколько места вы можете выделить для них,сколько трафика вы получаете и как это влияет на базу данных) всей базы данных.
  3. Усечение - задайте задачу cron (посмотрите на гем whenever, который делаетэто просто), который удаляет все записи старше некоторого порога (2 недели?).Нет необходимости заполнять новую таблицу только для того, чтобы удалить старые записи.

Я считаю, что эти подходы ортогональны, поэтому вы можете выбрать тот, который вам подходит, или сначала реализовать важный (-ые).

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