PostgreSQL’ü veri ambarı olarak kullanmak
(narrator.ai)Veri analizi yoluyla karar destek sistemi sunan Narrative’in deneyimlerinden derlediği başlıca ayarlar
-
Prodüksiyon sistemiyle aynı sunucuyu kullanmayın
-
PG 12+ sürümüne yükseltin (
CTEkullanmayın) -
İndeksleri mümkün olduğunca küçük tutun
-
Tablo bölümlendirme (
range/list) -
Disk I/O’yu en aza indirin
-
Toplu ekleme sonrası
Vacuumçalıştırın -
Paralel sorguları kullanın
-
İstatistik örneklemesini artırın (kolon bazında veya veritabanı genelinde; varsayılan 100 ama 500 öneriliyor)
-
Daha az kolon kullanın (çünkü satır tabanlı depolama kullanır)
-
50 milyon ~ 100 milyon satırlık tablolarda Postgres son derece iyi çalışıyor
-
Milyar ölçeğine çıkıldığında Citus öneriliyor
→ https://www.citusdata.com : Postgres’i dağıtık veritabanına dönüştüren açık kaynaklı çözüm
3 yorum
Deneyime göre zaman serisi tabanlı olduğunda timescaledb'nin daha iyi olacağını düşünüyorum, ancak bunu dayandırabileceğim bir kaynak olmadığı için temkinli konuşuyorum. Sıkıştırma oranı ve performans açısından timescaledb'nin daha iyi olabileceği yönünde ihtiyatlı bir görüş bırakıyorum.
citus ile timescaledb'yi karşılaştırmanın nasıl olacağını merak ediyorum.
Bildiğim kadarıyla timescaledb zaman serisine göre partitioning konusunda avantajlı, citus ise sharding konusunda avantajlı... (Düşününce, ikisini birlikte kullanmak da imkansız olmayabilir mi?)