IPinfo MMDB veri tabanı dosyalarını yüzde 31 küçülttü
Öne çıkanlar
- IPinfo'nun günlük ürettiği 89 veri tabanının toplam boyutu 91,2 GB'tan 62,8 GB'a geriledi.
- Arama ağacındaki düğümlerin hash-consing yöntemiyle birleştirilmesi sorgu doğruluğunu ve uyumluluğu etkilemedi.
- Bellek eşlemeli çalışan dosyalarda boyutun küçülmesi doğrudan bellek tüketimini ve sayfa hatalarını azalttı.
- Geliştirilen mmdbshrink optimizasyon aracı GitHub üzerinde Apache 2.0 lisansıyla açık kaynak olarak paylaşıldı.
IP veri sağlayıcısı IPinfo, standart MMDB dosya biçiminde yapısal bir optimizasyon yaparak veri tabanı boyutlarını genel katalogda ortalama yüzde 31 düşürdü. Şirket, geliştirdiği optimizasyon yöntemini mmdbctl güncellemesi ve mmdbshrink adlı bağımsız açık kaynak araçla yayımladı. Yeni dosyaların herhangi bir sıkıştırma algoritması kullanmadığı, mevcut okuyucu kütüphanelerle tam uyumlu çalıştığı ve sorgu sonuçlarını birebir koruduğu açıklandı.
Optimizasyon süreci, derleyici teknolojilerinde kullanılan "hash-consing" tekniğini MMDB ikili arama ağacına uyarlayarak gerçekleştirildi. Standart yazıcıların her ağaç düğümünü bağımsız kaydetmesi nedeniyle oluşan kopya alt ağaçlar, tekilleştirilerek yönlü döngüsüz çizge yapısına dönüştürüldü. Veri bölümü değişmeden kalırken arama ağacındaki gereksiz düğümler elendi. Bu yöntemle gizlilik veri tabanı dosyasının boyutu 789 MB seviyesinden 155 MB seviyesine inerek yüzde 80 oranında küçüldü.
Küçültülen dosyalar Temmuz ayından itibaren üretim ortamına ve API sunucularına aktarıldı. Dosyaların bellek eşlemeli (mmap) çalışması nedeniyle disk tasarrufu doğrudan sunucu bellek tüketimine ve önbellek verimliliğine yansıdı. Şirket, Apache 2.0 lisansıyla yayımlanan mmdbshrink aracını tüm geliştiricilerin ve MMDB üreticilerinin erişimine açtı.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.