sqlite инкрементное резервное копирование данных каждые 5 минут - PullRequest
0 голосов
/ 02 января 2019

Я использую базу данных sqlite для хранения своих данных, приложение, которое непрерывно записывает в базу данных.(например, данные windows perf каждые 5 минут)

Что мне нужно,

  1. получать все данные инкрементно каждые 5 минут и перемещаться в какой-нибудь файл журнала / текстовый файл
  2. удалите тот фрагмент данных, который успешно перемещен в файл журнала / текстовый файл из sqlite db.

У меня есть все файлы ниже 3, сгенерированные во время записи данных в db.

  1. MyData.db
  2. MyData.db-shm
  3. MyData.db-wal

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

Я могу, как я могу копировать файл Wal инкрементным образом каждые 5 минут, чтобы пропуститьоперация чтения / удаления через C #?

Я также открыт для изменения базы данных, например, Марии и т. д., если другие базы данных предоставляют такое решение и т. д. Пожалуйста, предложите.

1 Ответ

0 голосов
/ 03 января 2019

Почему вообще задействована база данных?Особенно, если вы удалите данные из него через несколько минут после его вставки?

План A: Добавить в файл.Выполняйте ежедневное задание, чтобы «зациклить» файл.

План Б: Хранить все данные «навсегда» в MariaDB.Предложите использовать PARTITIONs для облегчения очистки «старых» данных.Например, с ~ 32 разделами вы можете иметь ежедневные разделы.Каждую ночь DROP самый старый раздел и REORGANIZE, чтобы получить новый раздел.

...