PostgreSQL 12 sürümü

PostgreSQL ekibi, açık kaynaklı ilişkisel veritabanı yönetim sisteminin en son sürümü olan PostgreSQL 12'nin yayınlandığını duyurdu.
PostgreSQL 12, özellikle büyük hacimli verilerle çalışırken sorgu performansını önemli ölçüde artırdı ve ayrıca genel olarak disk alanı kullanımını da optimize etti.

Yeni özellikler şunları içerir:

  • JSON Path sorgu dilinin uygulanması (SQL/JSON standardının en önemli kısmı);
  • ortak tablo ifadelerinin yürütülmesinin optimizasyonu (WITH);
  • oluşturulan sütunlar için destek

Topluluk ayrıca PostgreSQL'in genişletilebilirliği ve güvenilirliği üzerinde çalışmaya devam ediyor, uluslararasılaştırma desteği, kimlik doğrulama yetenekleri geliştiriyor ve sistemi yönetmenin daha kolay yollarını sağlıyor.

Bu sürüm, takılabilir depolama motorları için artık geliştiricilerin kendi veri depolama yöntemlerini oluşturmalarına olanak tanıyan bir arayüzün uygulanmasını içerir.

Performans geliştirmeleri

PostgreSQL 12, indeksleme ve bölümleme sistemleri için önemli performans ve bakım iyileştirmeleri içerir.

PostgreSQL'deki standart indeksleme türü olan B-ağacı indeksleri, sık indeks değişiklikleri içeren iş yükleri için sürüm 12'de optimize edilmiştir. PostgreSQL 12 için TPC-C karşılaştırmasının kullanılması, alan kullanımında ortalama %40'lık bir azalma ve sorgu performansında genel bir artış gösterdi.

Bölümlenmiş tablolara yönelik sorgularda, özellikle veri dizilerinin yalnızca sınırlı bölümleriyle çalışmayı gerektiren binlerce bölümden oluşan tablolar için gözle görülür iyileştirmeler elde edildi. INSERT ve COPY kullanarak bölümlenmiş tablolara veri ekleme performansının yanı sıra sorguları engellemeden yeni bir bölüm ekleme yeteneği de iyileştirildi.

PostgreSQL 12, indekslemede genel performansı etkileyen ek iyileştirmeler yapmıştır:

  • GiST, GIN ve SP-GiST dizin türleri için WAL oluştururken ek yük azaltıldı;
  • GiST dizinlerinde sözde kaplama dizinleri (INCLUDE cümlesi) oluşturma yeteneği;
  • mesafe operatörünü (<->) ve SP-GiST indekslerini kullanarak "en yakın komşu" sorgularını (k-NN araması) gerçekleştirme yeteneği;
  • CREATE STATISTICS kullanarak en yaygın değer (MCV) istatistiklerini toplama desteği; bu, değerleri eşit olmayan şekilde dağıtılan sütunları kullanırken daha iyi sorgu planları elde etmenize yardımcı olur.

PostgreSQL 11'de tanıtılan LLVM kullanan JIT derlemesi artık varsayılan olarak etkindir. JIT derlemesi, WHERE cümleciklerindeki, hedef listelerindeki, toplamalardaki ve bazı dahili işlemlerdeki ifadelerle çalışırken performansı artırır. PostgreSQL'i LLVM ile derlediyseniz veya LLVM etkinleştirilmiş olarak oluşturulmuş bir PostgreSQL paketi kullanıyorsanız kullanılabilir.

SQL dil yeteneklerinde ve standart uyumlulukta iyileştirmeler

PostgreSQL 12, SQL/JSON standardında tanımlanan JSON yolu ifadelerini kullanarak JSON belgelerini sorgulama yeteneğini sundu. Bu tür sorgular, verileri verimli bir şekilde almak için JSONB biçiminde depolanan belgelere yönelik mevcut dizin oluşturma mekanizmalarından yararlanabilir.

With sorguları olarak da bilinen ortak tablo ifadeleri artık PostgreSQL 12'de ikame kullanılarak otomatik olarak yürütülebilir ve bu da mevcut birçok sorgunun performansının artırılmasına yardımcı olabilir. Yeni sürümde, bir YOUR sorgusunun ikame kısmı yalnızca özyinelemeli değilse, hiçbir yan etkisi yoksa ve sorgunun sonraki bölümünde yalnızca bir kez referans veriliyorsa yürütülebilir.

PostgreSQL 12, "oluşturulan sütunlar" için destek sunuyor. SQL standardında açıklanan bu sütun türü, aynı tablodaki diğer sütunların içeriklerine göre bir değer hesaplar. Bu versiyonda PostgreSQL, hesaplanan değerin diskte saklandığı "depolanmış oluşturulan sütunları" destekler.

İstisnasızlık

PostgreSQL 12, kullanıcıların örneğin büyük/küçük harfe duyarlı olmayan veya vurguya duyarlı olmayan karşılaştırmalara izin verebilen "deterministik olmayan harmanlamalar" tanımlamasına olanak tanıyarak ICU harmanlamalarına yönelik desteği genişletir.

kimlik doğrulama

PostgreSQL, güçlü kimlik doğrulama yöntemlerine yönelik desteğini, ek güvenlik ve işlevsellik sağlayan çeşitli geliştirmelerle genişletiyor. Bu sürüm, GSSAPI arayüzleri üzerinden kimlik doğrulama için istemci tarafı ve sunucu tarafı şifrelemenin yanı sıra, PostgreSQL'in OpenLDAP ile derlendiğinde PostgreSQL'in LDAP sunucularını keşfetme yeteneğini sunar.

Ayrıca PostgreSQL 12 artık çok faktörlü kimlik doğrulama seçeneğini de destekliyor. PostgreSQL sunucusu artık istemcinin clientcert=verify-full kullanarak karşılık gelen kullanıcı adıyla geçerli bir SSL sertifikası sağlamasını isteyebilir ve bunu ayrı bir kimlik doğrulama yöntemi gereksinimiyle (örn. scram-sha-256) birleştirebilir.

yönetim

PostgreSQL 12, REINDEX CONCURRENTLY komutunu kullanarak engellemeyen dizin yeniden oluşturmaları gerçekleştirme yeteneğini tanıttı. Bu, kullanıcıların uzun dizin yeniden oluşturma işlemleri sırasında DBMS kesinti sürelerinden kaçınmasına olanak tanır.

Ayrıca PostgreSQL 12'de pg_checksums komutunu kullanarak kapatma kümesindeki sayfa sağlama toplamlarını etkinleştirebilir veya devre dışı bırakabilirsiniz. Önceden, diskte depolanan verilerin bütünlüğünü doğrulamaya yardımcı olan bir özellik olan sayfa sağlama toplamları yalnızca PostgreSQL kümesi initdb kullanılarak başlatıldığında etkinleştirilebiliyordu.

Kaynak: linux.org.ru

Yorum ekle