Postgresql Veritabanı Mimarisi

Postgresql Mimarisi

Postgresql’in mimarisi 3 ana yapıdan oluşur; Postgresql Instance; Background prosesesler, yardımcı prosesler ve shared buffer(paylaşılmış hafıza/memory) alanından oluşur.Instance’ı postmaster prosesi yönetir. Bir instance sadece bir database cluster’ı vebünyesindeki database’ leri yönetebilir (Storage konusunda, cluster kavramı ayrıntılıanlatılmıştır.).Farklı TCP portlarda olmak şartı ile aynı sunucu üzerinde aynı anda birden fazla instanceçalışabilir.Okuma/yazma (I/O), ACID şartlarının sağlanması, client proseslerin Postgresql Mimarisi

Proses Mimarisi

Prosesleri 4 ana gruba ayırabiliriz. Not: Stats collector prosesi, versiyon 15 ile birlikte kor sisteme dahil edilmiştir, ayrı birproses değildir. Postgres Prosesi Debian temelli linuxlerde postgres prosesi (RHEL tabanlı linuxlerde path farklıdır.) Instance’ta ilk açılan ve diğer prosesleri başlatan ana (parent) prosestir. Örnektegörüleceği üzere parent proses ID 2450’dir Diğer postgres proseslerin, parent ID’si 2450olarak görülmektedir. Proses Mimarisi

Depolama Yapısı

Postgresql mimarisini 3 ana yapı oluşturur. Bunlar; memory, proses ve dopolama(storage cluster) demiştik. Memory ve prosesleri anlattık. Şimdi sıra storage yanidepolama yapısında.Cluster terimi daha çok aktif-aktif cluster, aktif-pasif cluster gibi yüksek erişilebilirlik vefelaket kurtarma çözümlerinde kullanılırken Postgresql’de farklı bir kullanımı vardır. Postgresql’de database cluster; tek instance tarafından yönetilen veritabanı yığını anlamına gelir. Dosya yapısı açısından Depolama Yapısı

Hafıza (Memory) Yapısı

I/O hem de OIPS performanslarını karşılaştırdığımızda RAM, SSD diskten defalarca katdaha hızlıdır. Manyetik diskler de SSD disklerden yavaştır.Performans için I/O işlemleri mümkün olduğunca hafıza (memory) üzerinde yapılmakistenir.Postgresql’ de hafıza alanlarının (memory structure) farklı kullanım amaçları veyöntemleri vardır.Örneğin; Bir alan (memory structure) kod tutmak için kullanılırken, diğer bir alan veribloklarını tutmak için kullanılır.Bazı hafıza alanları (memory) Hafıza (Memory) Yapısı