İş yerinde mysql veritabanlarımızın her gece dökümü yapılır. Günden güne, verinin% 90-95'ine yakın olanının zaman geçtikçe arttığını tahmin ediyorum. (Heck bu noktada bazıları muhtemelen% 99'dur)
Bu dökümler, bir satırın tek bir mysql INSERT ifadesi olduğu yerdir, bu nedenle tek farklar tüm satırlar ve dosyadaki sıralamasıdır. Onları sıralarsam, dosyadan dosyaya gerçek fark çok küçük olurdu.
Bakıyordum ve çıktıyı dökümü sıralamak için herhangi bir yol bulamadım. sort
Yine de komuttan geçebilirim . Sonra özdeş çizgilerin uzun, uzun blokları olurdu.
Bu yüzden sadece farkları depolamak için bir yol bulmaya çalışıyorum. Bir usta dökümü ile başlayabilirim ve her gece buna karşı farklı olabilirim. Ama farklar her gece daha büyük olurdu. Ya da, bireysel olarak çok küçük olacak olan haddeleme farkları yapabilirim, ancak her gece tüm serinin bir ana farkını bir araya getirmek zorunda kalsam hesaplamak daha uzun ve uzun sürecek gibi görünüyor.
Bu uygulanabilir mi? Hangi araçlarla?
Düzenle mysql yedeklemelerini nasıl yapacağımı sormuyorum. Şu an için mysql unutun. Kırmızı bir ringa balığı. Bilmek istediğim, bir dizi dosyadan bir dizi yuvarlama farkının nasıl yapılacağıdır. Her gece, önceki dosyaya % 99 benzer bir dosya ( mysqldump dosyası olur) alırız . Evet, hepsini gzip ediyoruz. Ancak tüm bu yedekliliği ilk etapta yapmak gereksizdir. Gerçekten ihtiyacım olan önceki gece farkları ... önceki gece sadece% 1 farklı ... vb. Ben sonra bir dizi diffs nasıl yapılır bu yüzden her gece sadece% 1 depolamak gerekir.