Dmitriy Kononov.
Konuşalımİletişim

Haberler ve analiz

Ağır sorgular: plan tahminleri ve büyük veritabanı değerleri

pg_plan_filter tahmini planları sınırlar; PlanetScale TOAST’u inceler. Çalıştırma öncesi kontrolleri gerçek rapor ölçümlerinden ayırın.

Bir rapor, her biri büyük bir metin veya JSON değeri içeren birkaç bin satır seçiyor. Kayıt sayısı makul görünse de okuma işlemi işi geciktiriyor. Ekim ayında yayımlanan iki yazı, sorgunun önceden tahmin edilmesi ile saklanan verilerin çalıştırma sırasındaki davranışını ayırmaya yardımcı oluyor.

Koruma mekanizması planlayıcının tahminini kullanır

7 Ekim’de PostgreSQL topluluk sitesi pg_plan_filter 1.0.0’ı yayımladı. Modül çalıştırma öncesinde tahmini plan maliyetini kontrol eder, ifade ve işlem sınırlarını destekler ve yalnızca SELECT sorgularına uygulanabilir. Belirtilen uyumluluk PostgreSQL 14–18’dir.

Bu, milisaniye cinsinden bir zaman aşımı veya gerçek kaynak tüketimi garantisi değildir. İşletme sahibinin sınırı anlaması gerekir: üzerinde anlaşılan tahmini maliyet sınırını aşan planı reddetmek. Çalışan sorgunun davranışı ve kullanıcının kabul edebileceği bekleme süresi ayrıca kontrol edilmelidir.

Tasarım, reddi çalışana açıklamalıdır. Bir rapor sınır nedeniyle başlayamıyorsa ekibin bir gerekçeye ve izin verilen sonraki adıma ihtiyacı vardır. Aynı sorguyu süresiz tekrarlamak iş akışını kurtarmak değildir.

Büyük değerlerin kendine özgü saklama yolu vardır

12 Ekim’de PlanetScale, Postgres’te TOAST’u inceledi. Büyük, değişken uzunluklu değerler sıkıştırılabilir veya ana satırın dışında saklanabilir. Gerçek davranış verilere ve yapılandırmaya bağlıdır; yazıdaki sayısal örnek her kayıt için aynı eşiği belirlemez.

Yazı sürüm yapılandırmalarını da ayırır. PostgreSQL 19 beta için ele alınan yetenekleri, 14–18 desteği bildiren bir modüle otomatik olarak taşımayın. Yaklaşımı seçmeden önce gerçek sürümü ve ayarları kontrol edin.

Bir sorgu yolu ayarlanabilir sınırlayıcıdan depolamaya ilerler; büyüteç ince kayıtlar arasındaki büyük değerleri gösterir.

Sorgu planını ve büyük değerlerin saklanmasını gösteren kavramsal yapay zeka illüstrasyonu.

Planı ve sonucu aynı değerlendirmede birleştirin

Asıl bağlantı, çalıştırma öncesi tahminler ile büyük değerleri okuma maliyetinin aynı işin farklı bölümlerini açıklamasıdır. Plan filtresi ölçümün yerini tutmaz; metnin kolay saklanması raporu kendiliğinden hafif yapmaz.

Temsil edici bir sorgu ve farklı alan boyutlarına sahip anonimleştirilmiş veriler seçin. Gerekli sütunların okunmasıyla tüm içeriğin getirilmesini karşılaştırın. Planı, gerçek süreyi, sonuç boyutunu ve doğruluğunu kaydedin. Tek bir sentetik örneğe dayanarak üretim depolamasını değiştirmeyin.

Ardından yapılandırılmış sınırdaki reddi ve çalışanın sonraki adımını test edin. Raporun daha dar bir döneme, daha az alana veya ayrı bir çalıştırma ortamına ihtiyacı olabilir. Bunlar proje için değerlendirilecek seçeneklerdir; evrensel yapılandırma talimatları değildir. Sonraki değişikliğin karşılaştırılabilir koşullarda kontrol edilebilmesi için kabul ölçütlerini kanıtlarla birlikte saklayın.

Tablolardan sisteme geçiş rehberimiz, raporlama verilerini belirlemeye yardımcı olur. Geçmiş e-posta analitiği projesi, güncel bir hızlanma sözü vermeden entegrasyon bağlamı sunar. Veri işleme akışınız için sorguyu, büyük alanları ve sonuç ölçütlerini görüşelim.

Kaynaklar