PostgreSQL Veritabanları: Ufukta Çoklu Kullanım?
PostgreSQL geliştirme ekibi posta listesindeki bir gönderi, veritabanının çok işlemcili bir modelden çok iş parçacıklı bir modele taşınmasını önerir. Heikki Linnakangas’a göre, Mayıs sonu ve Haziran başında gerçekleşen PostgreSQL PGCon konferansında insanlarla konuştu.
Duyuru
Şu anda, PostgreSQL çok işlemcili bir mimariye sahiptir. Linnakangas, bunun yerine tüm veritabanı sunucusunu çok iş parçacıklı bir süreçte uygulamayı önerir. Bunun makul gerekçesi, Andres Freund’un bir katkısında bulunabilir: Mevcut süreç modeli, özellikle daha büyük makinelerde yavaş yavaş sınırlarına ulaşıyor, çünkü birçok işlemin ek yükü çoklu kullanımdan daha yüksek.
yumuşak geçiş
Linnakangas, geçişin çok çaba gerektirdiğini ve tek sürümde yapılamayacağını kabul ediyor. PostgreSQL’in yeni ana sürümleri yıllık olarak yayınlanır: sürüm 15, Ekim 2022’de yayınlandı ve PostgreSQL 16, Mayıs ayında beta aşamasına girdi.
Geçiş sırasında, kullanıcılar bir veya daha fazla sürüm için çok işlemcili ve çok iş parçacıklı mimari arasında seçim yapabilmelidir. Ayrıca, geçiş aşamalı olarak gerçekleşmelidir. Her bağlantı için ayrı bir iş parçacığı kullanmak ve arka uç işlemini bir arka uç iş parçacığı ile değiştirmek düşünülebilir.
Uzun vadeli bir hedef olarak, makale bir iş parçacığı havuzu ve aktif sorguları çalışan iş parçacıklarına dağıtan bir zamanlayıcı ile uygulamayı önerir. Bir bağlantıyı birden çok iş parçacığına yaymak veya belirli görevler için yardımcı iş parçacıkları başlatmak da düşünülebilir.
kritik tonlar
Duyuru
Posta dizisi hem onay hem de kritik tonlar içerir. Euro’ya geçişin felaketle sonuçlanacağı korkusunun yanı sıra daha çeşitli konular da var. Bir katkı, çoklu iş parçacığına geçişin gerçekten istenen iyileştirmeyi sağlayıp sağlamadığını veya diğer ölçek büyütme sorunlarını ele almanın daha mantıklı olup olmadığını soruyor.
Başka bir gönderi, ölçeklenebilirlik eksikliğini detaylandırıyor. Robert Haas, ölçeklenebilirlik eksikliği hakkında şöyle yazıyor: “Tüm veritabanlarında bu sorun yoktur ve PostgreSQL, temel mimari değişiklikler olmadan bu sorunu çözemeyecektir.” Bununla birlikte, çoklu okumanın gerçekten tüm sorunları çözüp çözemeyeceğini de sorar. Muhtemelen gerçekten ihtiyaç duyulan şey, kullanılmayan bağlantıların kendi işlemlerini veya iş parçacıklarını işgal etmemeleridir.
PostgreSQL için iş parçacıklarıyla ilgili deneyimler
PostgreSQL’i multithreading ile uygulamak için zaten girişimlerde bulunuldu. Konstantin Knizhnik, altı yıldır herhangi bir kod değişikliği almayan GitHub’da bir depoya işaret ediyor ve deneyimlerini paylaşıyor. O sırada test çalıştırmaları için performans artışı yalnızca yüzde on olabilirdi. Bazı yerlerde, iş parçacıkları, bir geliştiricinin bakış açısından süreçleri kolaylaştırmış ve çok sayıda sorunun çözülmesine yardımcı olmuştur.
(rm)
Haberin Sonu