- Parolaları Man-In-The-Middle Saldırılarından Korur
Libpq, istemci uygulamalarının veritabanını sorgulamak için kullandığı varsayılan kitaplık işlevleri kümesidir. Bu bağlantıların güvenli olması önemlidir, aksi takdirde, man-in-the-middle saldırısı olarak da adlandırılan sunucuyu taklit etme fırsatı olabilir. İstemci tarafından gönderilen parolayı kodlamak için birçok farklı güvenlik protokolü kullanılabilir.(Örneğin SCRAM-SHA-256) Yeni geliştirme, SCRAM'ın, sertifikaları kullanmadığınızda bir SSL bağlantısı üzerinden karşılıklı kimlik doğrulamaya izin veren bir özellik olan kanal bağlamayı kullanmasını sağlar.
Güvenliğin kullanımını kolaylaştırmak çok önemlidir çünkü kullanımı zor özellikler çoğu zaman hiçbir güvenlik sağlamaz. Kanal bağlamalı SCRAM, kullanımı kolay ancak çok daha güvenli olan bir parola kimlik doğrulama çeşididir.
- Üretimdeki hataları azaltır
Veritabanınız "dosya açılamadı" gibi bir hata attığında, bir şeylerin ciddi şekilde yanlış olduğunu bilirsiniz. Çoğu zaman, bir tablo veya dizine erişmeye çalışırken bu tür hatalar meydana gelir. Pg_catcheck, geliştirilen basit bir araçtır. Sistem kataloglarınızın bozuk olduğundan şüpheleniyorsanız, bu araç tam olarak hangi sorunlarınız olduğunu ve ne kadar ciddi olduklarını anlamanıza yardımcı olabilir. Pg_catcheck şimdi her ilişki için ilk dosyaların mevcut olduğunu doğrulayacaktır(tablo veya dizin).
Bu seçenek, bu tür hataları neden aldığınızı size söylemeyecektir. Ayrıca, bunların nasıl düzeltileceği konusunda tavsiyelerde bulunmaz. Bununla birlikte, bu seçenek, üretimde hatalara çarpmak yerine vakaların erken tespit edilmesine yardımcı olacak proaktif bir araç sağlar.
- Tam Yedeklemeleri Doğrulamayı Sağlar
Tam fiziksel yedeklemeler oluşturmak için bir iyileştirme kombinasyonu var. Çalışan bir PostgreSQL kümesinin yedeğini alma aracı olan Pg_basebackup artık bir yedekleme bildirimi sağlıyor. Bu bildirim, yedeklemeyle ilgili meta verileri içeren bir JSON dosyasıdır: bir sürüm numarası, dosya listesi, WAL aralığı ve bir sağlama toplamı.
Pg_verifybackup, yalnızca yedekteki dosyaların bütünlüğünü değil, aynı zamanda yedeklemeyi kurtarmak için gereken önceden yazma günlük kayıtlarının da geçerli olduğunu doğrulayan yeni bir araçtır. Pg_verifybackup, yedeklerinizin gerçekten iyi olduğunu ve düzgün şekilde geri yüklenebileceğini garanti eder.
- 3 Kata Kadar Daha Hızlı Vakumlama Sağlar
PostgreSQL'de yeni olanlar için, vakumlama, çoklu eşzamanlılık sisteminin bir parçasıdır ve bir kayıt her değiştirildiğinde veya silindiğinde oluşturulan ölü dizileri veya satırları kaldırır. Otomatik vakum özelliği ölü gizli satırları temizler, böylece şişkinlik olmaz ve Java'nın çöp toplayıcısına benzer. Vakumla ilgili iki iyileştirme vardır: dizinlerin paralel olarak vakumlanması ve yalnızca eklenen verilerin yalnızca dizin taramalarına izin verilmesi.
Birincisi, paralel vakumla, Postgres artık vakum işlemlerini daha hızlı gerçekleştirmek için birden fazla işlemci dizisi kullanabilir. Test sonuçlarımız, birden fazla paralel çalışan kullanıldığında vakumun 3 kata kadar daha hızlı olabileceğini göstermektedir. İkincisi, bu sürümden önce, autovacuum yalnızca güncellemeler ve silmelerde vakum işlemlerini tetikliyordu, ancak artık ekler için etkinleştirildi. Sonuç olarak, yalnızca dizin taramaları daha sık gerçekleşecek ve bu özellikle veritabanına sürekli olarak yazı yazan IoT uygulamaları için kullanışlıdır.
- Bölümlenmiş Tabloları Kolayca Birleştirir
Bölümleme, aralık, liste veya karma anahtarlar kullanarak büyük veri kümelerini bölümlere ayırarak daha duyarlı bir veritabanı oluşturmanıza olanak tanır. Bölümleme, bir tabloyu birden çok tabloya böler ve istemci uygulamaları için şeffaf olacak şekilde yapılır, böylece gerekli verilere daha hızlı erişim sağlanır. Daha önce PostgreSQL, bölümlenmiş tabloları yalnızca eşleşen bölümlenmiş sınırlara sahiplerse verimli bir şekilde birleştirmenize izin veriyordu. PostgreSQL 13'te, bölüm bazlı birleştirmeler, bölüm sınırları tam olarak eşleşmediğinde bile tabloları verimli bir şekilde birleştirmenizi sağlar. Bunun yararı, bölümlenmiş tabloların birleştirilmesinin daha hızlı olmasıdır, bu da bölümlemenin kullanımını ve dolayısıyla daha duyarlı bir veritabanı kullanımını teşvik eder.
- Bölümlenmiş Tablolar İçin Mantıksal Çoğaltma Sağlar
PostgreSQL'in en önemli özelliklerinden biri, mantıksal çoğaltma yoluyla hangi verileri bir bekleme moduna kopyalayacağınızı seçerek çoğaltma seçeneği sunmasıdır. Bu özellik artık daha da güçlüdür çünkü bölümlenmiş tablolarla kullanılabilir. Önceden, bölümlerin beklemelere ayrı ayrı kopyalanması gerekiyordu. Artık bölümlenmiş bir tablo açıkça yayınlanabilir ve tüm bölümlerinin otomatik olarak yayınlanmasına neden olabilir. Bir bölümün eklenmesi / çıkarılması, aynı şekilde beklemelere eklenmesine veya kaldırılmasına neden olur.
Bu özelliğin yararı, size muazzam miktarda esneklik sağlamasıdır. Ayrıca artık bölümlenmiş bir tablodan bölümlenmemiş bir tabloya, bölümlenmemiş bir tablodan bölümlenmiş bir tabloya ve elbette bölümlenmiş tablodan bölümlenmiş tabloya çoğaltma yapabilirsiniz. Mantıksal çoğaltma artık bölümleme nedeniyle kısıtlanmamaktadır.
- B-Tree İndekslerinin Tekilleştirilmesi
PostgreSQL'de kullanılan varsayılan ve en yaygın indeksleme türü olan B-Tree indeksleri artık varsayılan olarak tekilleştirilmektedir. Örneğin, Meksika için "Estado Unidos Mexicanos" ve ABD için "Amerika Birleşik Devletleri" kullanan bir dizininiz olduğunu varsayalım. Aynı ülke adına sahip binlerce kayıt varsa, yinelenen dizin anahtarları artık yalnızca bir kez diskte saklanır. İş yükleriniz çok sayıda benzersiz olmayan dizin (düşük kardinalite) kullanıyorsa, bu disk alanında büyük tasarruf ve daha iyi performans anlamına gelebilir.
Burada ilginç olan şey, bunun PostgreSQL 13'te varsayılan olarak etkinleştirilmiş olmasıdır, bu yüzden farkında bile olmadan yararlanabileceksiniz. Pg_upgrade kullanarak yükseltirseniz, önceki indekslerinizin tekilleştirilmesini istiyorsanız yeniden indekslemeniz gerekeceğini unutmayın.
- Diğer güvenlik geliştirmeleri
PostgreSQL topluluğu, her büyük sürümle birlikte önemli güvenlik özelliklerini geliştirmeye devam ediyor. Önemli bir varsayılan değişti: minimum TLS sürümü daha güvenli olan 1.2'dir. Bunun dışında, size güvenlik ayarlarına göre daha fazla seçenek ve esneklik sağlayan bir dizi başka iyileştirme sağlar. Bunların arasında, Yabancı Veri Sarmalayıcılar, kimlik doğrulama için sertifika kullanma ve süper kullanıcı olmayanların yabancı sunuculara parola olmadan bağlanmasına izin verme gibi birkaç ek kolaylığa sahiptir. Ayrıca, istemci sertifikalarının kilidini açmak için parola kullanma yeteneği de dahil olmak üzere, güvenlik ihtiyaçlarınıza uyacak daha fazla seçenek sunan birçok başka eklenti vardır.
Bu yazımda en önemli gördüğüm geliştirmeleri sizinle paylaşmak istedim. Ancak PostgreSQL 13'te 170'in üzerinde geliştirme vardır. PostgreSQL 13'teki yeniliklerin kapsamlı görmek isterseniz kaynakçada verdiğim sürüm notları linkinden inceleyebilirsiniz.
Kaynaklar:
lSürüm Notları: https://www.postgresql.org/docs/13/release-13.html
lhttps://www.postgresql.org/docs/
Yorumlar
Yorum Gönder