Как рациональнее сохранить состояние данных СУБД MySql/Redis/MongoDB/Clickhouse?
Есть проект с миллионами записей в MySql и также подключены Redis/MongoDB/Clickhouse тоже немаленькие, требуется сделать как бы снимок состояния системы не производя значительной нагрузки, как можно ближе к одномоментному и не тормозя работу сайта, потом немного доработать данные и передать в виде дампа заказчику. Пока рассматриваю такие варианты для MySql/MongoDB:
1) Сделать копию таблиц CREATE TABLE NEW_TableName LIKE TableName, добавив префикс к названию, обработать и сохранить дамп под прежним названием.
2) Сохранить дамп таблиц (mysqlbackup), из дампа создать таблицы с префиксом, обработать, сохранить в дамп под прежним названием.
Может есть возможность сделать snapshot файловой системы где база лежит?
Тогда можно было бы развернуть где-то снапшот, и там уже спокойно подготовить данные для передачи.
Frendly, не-а. это просто одна из утилит бекапа для мускуля.
для того чтобы получить рабочую копию баз данных через снапшот файловой системы сначала надо будет заставить и бд и операционку записать все не сохраненные данные на носитель.
иначе будет вероятность косяков.
да, такая вероятность конечно есть.
xtrabackup кстати шикарнейший инструмент, я сейчас делаю бэкапы баз именно им, на лету, несколько раз в день - инкриментальные + ночью полный, но у меня базы не очень нагруженные