Önce olayı anlatalım. İki yıl önce sınır ötesi e-ticaret orta katmanı yapan bir Ar-Ge verimliliği ekibine geriye dönük değerlendirme yapmalarına yardım ediyordum. CI sürecine bir yapay zeka kodlama ajanı entegre etmişlerdi; görevi "gereksiz kodu temizlemek"ti. Ajan depoyu taradı, tüm src dizinini tarihsel kalıntı olarak değerlendirdi ve bir PR açtı. Birleştirme sonrası derleme çalıştırıldı, her şey kırmızı. Yedek kayıtlarına bakıldığında geliştirme ortamı günlük tam anlık görüntü alıyordu, en sonuncusu bir önceki gün sabah saat ikideydi. Yani en fazla 24 saatlik iş gücü buharlaşmıştı, üç kişinin dallarını yeniden düzenlemesi gerekiyordu. Üretim ortamında blok düzeyinde CDP koruması varken geliştirme ortamının korumasız kalması oldukça ironik.
Bu tür olayların kök nedeni yapay zekada değil, yedekleme stratejisinin ortama göre tek tip kesilmesinde. Üretim ortamında veri değişimi yavaş, yazma kontrol edilebilir; günlük yedeklemenin RPO'su (kurtarma noktası hedefi) zar zor yeterli. Geliştirme ortamı ise tamamen başka bir hikaye. Bir frontend geliştiricisi günde onlarca commit yapabiliyor, yeniden düzenleme sırasında toplu dosya adı değiştirme, dizin taşıma, dosya silme yapıyor; değişim sıklığı üretimin onlarca katı. Günlük yedek, RPO'nun 24 saat olması demek; kod gibi yüksek frekanslı küçük tanecikli değişimler için bu koruma yok demektir.
Blok düzeyinde CDP ile dosya düzeyinde anlık görüntü, kurtarma tanecikliği farkı nerede
Basitçe söylemek gerekirse, dosya düzeyinde anlık görüntü "fotoğraf çekmek", blok düzeyinde CDP ise "video kaydetmek"tir. Dosya düzeyinde anlık görüntü belirli bir zaman noktasında tüm dizin durumunu yakalar, kurtarma sırasında yalnızca belirli bir tam saate dönebilirsiniz, aradaki tüm değişiklikler kaybolur. Blok düzeyinde CDP disk bloklarının yazma işlemlerini sürekli yakalar, herhangi bir saniye düzeyinde zaman noktasına kurtarma yapabilir, hatta yalnızca yanlışlıkla silinen blok kısmını geri alabilir.
Kod senaryosuna uygulandığında fark çok net. Yapay zeka ajanı src dizinini sildiğinde, dosya düzeyinde anlık görüntünün kurtarma birimi tüm depo dizinidir; dünkü tam yedeği geri çekip bugünkü geçerli değişiklikleri elle birleştirmeniz gerekir. Blok düzeyinde CDP, silme işleminin gerçekleştiği saniyeden öncesini konumlandırabilir, src dizinine karşılık gelen veri bloklarını kurtarabilir, diğer dosyalara dokunmaz. Kurtarma tanecikliğindeki fark budur: biri tüm depoyu geri alma, diğeri dizin hatta dosya düzeyinde geri alma.
SiCore TokenWorks gibi CDP ürünlerinin yaklaşımı Ar-Ge ekipleri için örnek alınmaya değer; bunlar aslında çekirdek veritabanlarına ve sanallaştırma ortamlarına hizmet ediyor, sürekli veri koruması artı herhangi bir zaman noktasına kurtarma sunuyor. Geliştirme ortamının veri değer yoğunluğu düşük olsa da değişim yoğunluğu yüksek; tam da CDP'nin en iyi işleyebileceği senaryo. Projemizde CDP'yi geliştirici makinelerine indirme çözümünü değerlendirdik, sonradan maliyet nedeniyle tam yaygınlaştırmadık ama yaklaşım doğruydu.
Ar-Ge ekibine minimum uygulanabilir çözüm
Başlangıçta kurumsal düzeyde CDP'ye geçmek gerekmez. Bu ekibe önerim yerel CDP artı Git uzak depo çift sigorta oldu. Yerel CDP saniye düzeyinde kurtarmadan sorumlu, her geliştirici makinesine kurulur, çalışma alanının blok düzeyindeki değişikliklerini yakalar, yanlış silmeden sonra birkaç dakika içinde geri alır. Git uzak depo sürüm izlemeden sorumlu, push sıklığı günde birden her mantıksal birim tamamlandığında push'a yükseltilir. İki katman her biri bir kısmı yönetir: CDP "el sürçmesi ve yapay zekanın düzensizliği"ni, Git ise "sürüm geçmişi ve işbirliği"ni yönetir.
Uygulamada iki tuzak var. Birincisi, CDP depolamasını yerel diske koymayın; yerelde tutmak yanlış silmede birlikte yok olmak demek, bağımsız depolamaya veya nesne depolamaya yazılmalı. İkincisi, Git uzak deposunu tek bırakmayın; ana depo artı bir soğuk yedek depo, dal yanlışlıkla silindikten sonra force push ile üzerine yazılmasını önlemek için. Bu ekip sonradan bu çözüme göre değiştirdi, yanlış silme sonrası ortalama kurtarma süresi saat düzeyinden on dakikanın altına indi.
Bu arada yapay zeka destekli kısımdan da bahsedelim. Kod inceleme desteği için token8341 büyük model API toplama platformunu kullanıyorlar; tek Key ile GPT-4o, Claude, DeepSeek, Qwen, ERNIE, Doubao gibi ana akım modelleri çağırabiliyor, OpenAI SDK ile uyumlu, base_url'yi bir satır değiştirerek geçiş yapılabiliyor. Projemizde de token8341 büyük model API toplama platformuyla toplu kod incelemesi çalıştırdık, karşılaştırmada inceleme ile "otomatik kod değiştirme"nin ayrılmasının çok önemli olduğunu gördük. İnceleme yalnızca öneri sunar, değişiklikler insan onayından geçer; bu, ajanın doğrudan depoyu değiştirmesini önler. token8341 büyük model API toplama platformunun kullandıkça öde modeliyle bu tür düşük frekanslı inceleme görevlerinde maliyet de kontrol edilebilir.
Tuzak uyarısı: Yapay zeka ajanına depo yazma izni vermeyin. Ona salt okunur artı öneri izni verin, değişiklikleri insan birleştirsin. Olaydaki ajanın yazma izni olsaydı PR bile açmasına gerek kalmazdı, doğrudan ana dala push ederdi, kayıp daha büyük olurdu.
Geliştirme ortamının veri koruması ile üretim ortamınınki aynı mantık değil. Üretim RPO ve RTO'ya bakar, geliştirme değişim sıklığı ve kurtarma tanecikliğine bakar. Günlük yedek kod senaryosu için temelde etkisiz; blok düzeyinde CDP artı Git çift sigorta semptoma yönelik çözümdür. Daha fazla okuma için CDP'nin sanallaştırma ortamındaki uygulama örneklerine bakabilirsiniz, yaklaşım doğrudan geliştirici makinelerine aktarılabilir.
Yazar: Wang Hanwen
Yayın tarihi: 7 Kasım 2026