Git nesne depolama üzerinde yeni paket dosyası formatıyla çalıştırıldı
Öne çıkanlar
- Objgit, yerel disk için tasarlanan Git paket formatını nesne depolamaya uyumlu yeni bir yapı ile değiştirdi.
- Yeni dizin yapısı sayesinde tekil nesneler HTTP aralık istekleri üzerinden doğrudan çekilebiliyor.
- Testlerde bir depodaki gönderme süresi 3 dakika 29 saniyeden 14,3 saniyeye, S3 istek sayısı ise 9 binden 30'a düştü.
Tigris Data mühendisleri, Git depolarını doğrudan nesne depolama üzerinde çalıştırmayı hedefleyen açık kaynaklı objgit projesi için yeni bir paket dosyası formatı geliştirdi. Geleneksel Git mimarisi yerel dosya sistemlerine ve bellek eşleme yöntemine göre tasarlandığı için nesne depolama katmanında yüksek ağ gecikmesine yol açıyordu. Yeni mimari, istemci tarafında herhangi bir değişiklik yapmadan Git depolarının nesne depolama ortamlarında daha hızlı çalışmasını sağlıyor.
Geliştirilen yeni format, CD-ROM kalıplarındaki ikili dosya ve indeks yapısından ilham alıyor. Depodaki nesneler 128 megabayta kadar olan ikili dosyalarda toplanırken, meta veriler ayrı bir dizin dosyasında tutuluyor. Bu dizin hem sıkıştırılmış hem de sıkıştırılmamış nesne boyutlarını sakladığı için sunucu HTTP aralık istekleriyle doğrudan ilgili nesneyi çekebiliyor. Sistem ayrıca zlib yerine daha hızlı ve verimli olan zstd sıkıştırma algoritmasını kullanıyor.
Yapılan performans testleri, yeni formatın nesne depolama çağrılarını ve işlem sürelerini önemli ölçüde düşürdüğünü gösterdi. Büyük bir kod deposunda gönderme süresi 3 dakika 29 saniyeden 14,3 saniyeye indi ve S3 istek sayısı 9 binden 30 seviyesine geriledi. Klonlama işlemlerinde de benzer kazanımlar elde edilirken, geliştirici proje için kimlik doğrulama, yetkilendirme ve paket birleştirme özelliklerinin henüz tamamlanmadığını açıkladı.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.