3 puan yazan GN⁺ 2023-08-30 | 1 yorum | WhatsApp'ta paylaş
  • Veritabanında indeksleri veya verileri silmeden depolama alanı kazanma teknikleri ele alınıyor.
  • Kullanılmayan indeksler belirlenip depolama alanı açmak için kaldırılıyor.
  • Tablolardaki ve indekslerdeki gereksiz alanı temizlemek için yeniden oluşturma yapılıyor.
  • PostgreSQL 13 ile gelen B-Tree indeks tekilleştirme özelliği, yinelenen değerlere sahip indekslerin boyutunu küçültebiliyor.
  • Kesinti olmadan şişmeyi azaltmak için pg_repack eklentisi kullanılarak tablolar yeniden oluşturulabiliyor.
  • PostgreSQL'de NULL değerleri de indekslendiği için gereksiz alan tüketiyor.
  • NULL değerlerini hariç tutup indeks boyutunu küçültmek için kısmi indekslerden yararlanılıyor.
  • Bu işlemleri gerçekleştirmek için sorgular ve komutlar sunuluyor.
  • Anlatılan teknikler, depolama alanı kullanımını optimize edip veritabanı performansını iyileştirebilir.
  • Django ile geliştirilmiş büyük ölçekli bir uygulamada, depolama alanını optimize etmek ve performansı artırmak için kısmi indeksler kullanılıyor.
  • Kısmi indeksler yalnızca null değerleri değil, sık sorgulanmayan veya hiç sorgulanmayan değerleri de hariç tutabilir.
  • Belirli bir indeksi, null değerleri dışlayan bir kısmi indekse dönüştürmek yaklaşık 1,3 GB depolama alanı tasarrufu sağlayabiliyor.
  • Replikalarda indeksleri kaldırmak daha fazla depolama alanı açabilir.
  • Django'da yabancı anahtarlar için örtük indeks oluşturmayı engelleme ve mevcut tam indeksleri kesinti ya da performans düşüşü olmadan kısmi indekslere taşıma konusunda ipuçları veriliyor.
  • İndeks tanımlarını optimize ederek depolama verimliliğini ve performansı en üst düzeye çıkarmanın önemi vurgulanıyor.

1 yorum

 
GN⁺ 2023-08-30
Hacker News yorumu
  • İndeksleri küçültmenin, yeterli depolama alanı olsa bile faydaları vardır.
  • Kendi donanımına sahip olanlar için daha fazla depolama alanı ayırmak geçerli bir seçenektir.
  • PostgreSQL 13'ün B-tree deduplikasyonu, foreign key indekslerindeki NULL değerleri için faydalı olabilir.
  • Bu makale, PostgreSQL'de alan verimliliğini optimize etmeye yönelik faydalı teknikler ve içgörüler sunuyor.
  • Yeni ya da erken aşamadaki şirketlerde, boyutu optimize etmek yerine disk alanı eklemek genellikle daha iyidir.
  • Tablo sütun sırasını yeniden düzenlemek ve script kullanmak, önemli ölçüde depolama alanı kazandırabilir.
  • Asimetrik veri dağılımı, indeks şişmesine yol açabilir ve daha verimli vacuum işlemleri gerektirebilir.
  • Bu makale Hacker News'te olumlu geri bildirim aldı.
  • Kullanılmayan indeksleri ve optimizasyon fırsatlarını keşfetmek için pganalyze.com öneriliyor.
  • Yaygın olmayan PostgreSQL indeks türleri ve NULL değer indeksleri geniş ölçüde bilinmiyor.
  • Veri miktarını artırmak, ekleme süresi ve performans üzerinde büyük etki yaratabilir.
  • Bu ilke, sütunlarda ortak değerlerin oranı yüksek olsa bile hâlâ geçerli olabilir.