Herkese harika bir Cuma dilerim! Kursun başlamasına giderek daha az zaman kalıyor
Geliştirme aşamasında
PostgreSQL 10'da, eski miras yöntemi kullanılarak çözülemeyen birçok sorunu çözmek için tasarlanmış bir özellik olan "bildirimsel bölümlemenin" doğuşunu gördük. Bu, verileri yatay olarak bölmemize olanak tanıyan çok daha güçlü bir araca yol açtı!
Özellik karşılaştırması
PostgreSQL 11, performansı artırmaya ve bölümlenmiş tabloları uygulamalar için daha şeffaf hale getirmeye yardımcı olan etkileyici bir dizi yeni özellik sunuyor.
1. Sınırlayıcı İstisnaları Kullanmak
2. Yalnızca düğümleri ekler
3. Yalnızca bölümlenmemiş bir tabloya referans veren bölümlenmiş bir tablo için
4. Dizinler bölümün tüm anahtar sütunlarını içermelidir
5. Her iki taraftaki bölüm kısıtlamaları eşleşmelidir
Proizvoditelnost
Burada da iyi haberlerimiz var! Yeni yöntem eklendi WHERE
. Önceki algoritma ise koşulu karşılayıp karşılamadığını belirlemek için her bölümü kontrol etti. WHERE
. Bu durum bölüm sayısı arttıkça planlama süresinin de artmasına neden oldu.
9.6'da, kalıtım yoluyla bölümlemede, demetlerin bölümlere yönlendirilmesi genellikle demetin doğru bölüme yerleştirilmesi için bir dizi IF ifadesi içeren bir tetikleyici fonksiyonun yazılmasıyla yapılıyordu. Bu işlevlerin yürütülmesi çok yavaş olabilir. Sürüm 10'da eklenen bildirimsel bölümleme ile bu çok daha hızlı çalışır.
100 bölümlü bölümlenmiş bir tablo kullanarak, 10 BIGINT sütunu ve 1 INT sütunu olan bir tabloya 5 milyon satır yükleme performansını değerlendirebiliriz.
Dizine alınmış bir kaydı bulmak ve bir kaydı işlemek için DML'yi yürütmek üzere bu tabloyu sorgulama performansı (yalnızca 1 işlemci kullanarak):
Burada PG 9.6'dan bu yana her operasyonun performansının önemli ölçüde arttığını görebiliyoruz. İstekler SELECT
özellikle sorgu planlaması sırasında birden çok bölümü hariç tutabilenler çok daha iyi görünür. Bu, zamanlayıcının daha önce yapması gereken birçok işi atlayabileceği anlamına gelir. Örneğin artık gereksiz bölümler için yollar yapılmıyor.
Sonuç
Tablo bölümleme PostgreSQL'de çok güçlü bir özellik haline gelmeye başlıyor. Verileri çevrimiçi olarak hızlı bir şekilde görüntülemenize ve yavaş, büyük DML işlemlerinin tamamlanmasını beklemeden çevrimdışına almanıza olanak tanır.. Bu aynı zamanda ilgili verilerin bir arada saklanabileceği, yani ihtiyacınız olan verilere çok daha verimli bir şekilde erişilebileceği anlamına gelir. Bu sürümde yapılan iyileştirmeler, tüm bu özellikler üzerinde yorulmadan çalışan geliştiriciler, gözden geçirenler ve onaylayıcılar olmasaydı mümkün olamazdı.
Hepsine teşekkürler! PostgreSQL 11 harika görünüyor!
İşte çok kısa ama oldukça ilginç bir makale. Yorumlarınızı paylaşın ve kaydolmayı unutmayın
Kaynak: habr.com