На работе мы делаем ночной дамп наших баз данных mysql. Изо дня в день, я бы предположил, что почти 90-95% данных являются дубликатами, увеличиваясь с течением времени. (Черт возьми, на данный момент некоторые, вероятно, 99%)
В этих дампах одна строка представляет собой один оператор mysql INSERT, поэтому единственными различиями являются целые строки и порядок их расположения в файле. Если бы я их отсортировал, фактическая разница от файла к файлу была бы очень мала.
Я искал, и я не нашел способа отсортировать вывод по дампу. Я мог бы передать это через sort
команду, хотя. Тогда будут длинные, длинные блоки одинаковых линий.
Поэтому я пытаюсь найти способ хранить только различия. Я мог бы начать с мастер-дампов и каждый вечер разбираться с этим. Но различия будут больше каждую ночь. Или, я мог бы сделать бросающие различия, которые по отдельности были бы очень маленькими, но кажется, что для вычисления потребовалось бы все больше и больше времени, если бы мне приходилось собирать мастер-разряды всей серии каждую ночь.
Это возможно? Какими инструментами?
Изменить Я не спрашиваю, как сделать резервные копии MySQL. Забудьте MySQL на данный момент. Это красная сельдь. То, что я хочу знать, - это как сделать серию динамических изменений из серии файлов. Каждую ночь мы получаем файл (который является файлом mysqldump ), который на 99% похож на предыдущий. Да, мы сжимаем их все. Но избыточно иметь всю эту избыточность в первую очередь. Все, что мне действительно нужно, - это отличия от прошлой ночи ... которая на 1% отличается от прошлой ночи ... и так далее. Итак, что мне нужно, так это сделать серию различий, поэтому мне нужно хранить только 1% каждую ночь.