PostgreSQL Veritabanı Sunucusu Nasıl Olmalı?

Yeni bir veritabanı makinesi kurarken belli bir yapıyı korumaya çalışırım. Bunları madde madde sıralayıp yeni bir şeyler öğrendikçe de eklemeler yapacağım.

  • Journal özelliği olan filesystemler seçilmeli ki kayıplar en aza indirilebilsin ve hızlı recovery sağlanabilsin. Örn. Ext3 ve Ext4
  • Ext3 en uygunlarından biri
  • Ext4 büyük boyutlu dosya işlemlerinde EXT3’ten daha başarılı.
  • WAL logları datanın tutulduğu disklerden ayrı disk ya da SSD’ler de tutulmalı ki daha iyi performans sağlansın aksi takdirde hard disk üstündeki log işlemleri veritabanı işlemlerini yavaşlatıcaktır.
  • Indexler datadan ayrı ssdlerde tutulursa indexlere erişim hızlı ve kolay olacaktır çünkü arama işlemleri sadece indexler üstünde gerçekleşecektir.
  • Tablespace yapısının yanında link ile kullanılmalı Çünkü disk değiştirmek gerektiği zaman linki değiştirerek sorunsuz geçiş yapabilirsiniz böylece daha dinamik bir yapıya sahip olabiliriz.
Ben /data/base/ altına topluyorum hepsini (ustamızdan böyle gördük)
Misal veritabanı adımız “youtube”
Tablespace “youtube_tblspc” lokasyon ise “/data/base/youtube_data” olarak yaratıyorum.
“/data/base/youtube_data” link olduğu için istediğimde değiştirme şansım var.
>
/data/base/data/ => veritabanı dataları için lokasyon burasını veriyorum.
/data/base/index/ => indexleri ayrı diske de koyabilmemiz için
/data/base/backups/ => alınan backuplar burda duruyor.
/data/base/wal_archive/  => wal dosyalarını burada saklıyorum
/data/base/pg_xlog/  => xlog dizinini buraya linkledim ki daha hızlı bir diske yazıp çizebilsin
Link olarak bu şekilde ayarlıyorum ki dinamik yapıya sahip olsun.
>
/data/base/youtube_data   -> /data/base/data/youtube/
/data/base/youtube_index -> /data/base/index/youtube/

Erkin Çakar

PostgreSQL DBA & Software developer