На роботі ми робимо щоночі скидання наших баз даних mysql. З дня на день я вважаю, що близько 90-95% даних дублюється, збільшуючись із часом. (Чорт в цей момент, певно, 99%)
У цих дампах один рядок - це єдиний оператор mysql INSERT, тому єдиними відмінностями є цілі рядки та порядок, у якому вони знаходяться у файлі. Якби я їх сортував, фактична різниця від файлу до файла була б дуже мала.
Я шукав, і не знайшов жодного способу сортувати вихід на дамп. Я міг би передати це sort
командою. Тоді були б довгі довгі блоки однакових ліній.
Тому я намагаюся знайти спосіб зберігати лише різні. Я міг би почати з майстерного дампа і відрізнятись від цього щовечора. Але різниці будуть щовечора більшими. Або я можу зробити прокатки різниць, які окремо були б дуже маленькими, але здається, що для того, щоб обчислити, потрібно більше і довше, якщо мені доведеться щовечора складати головний діф з усієї серії.
Це можливо? За допомогою яких інструментів?
Редагувати Я не запитую, як робити резервні копії mysql. Забудьте на даний момент mysql. Це червона оселедець. Те, що я хочу знати, - це те, як зробити прокрутку серії, що відрізняється від серії файлів. Щовечора ми отримуємо файл (який, як і файл mysqldump ), який на 99% схожий на той, що був до нього. Так, ми gzip їх усіх. Але зайве все це надмірність в першу чергу. Все, що мені справді потрібно, - це відмінності від ночі перед ... що лише на 1% відрізняється від ночі раніше ... і так далі. Тож, про що я хочу, - це зробити серію різниць, тому мені потрібно зберігати лише 1% щовечора.