Kayıt ol Giriş yap +90 212 706 73 93

PostgreSQL Hosting Rehberi: Doğru Çözümü Nasıl Seçersiniz?


Özet: PostgreSQL hosting kararı saf bir teknik tercih değil; paylaşımlı, self-hosted ve yönetilen DBaaS arasında operasyonel sorumluluk paylaşımı kararıdır. Stack Overflow Developer Survey verileri PostgreSQL'i en sevilen veritabanları arasında üst sıralarda gösterir; kurumsal üretim ortamları için Patroni tabanlı HA, PITR ve KVKK uyumlu yerel veri merkezi standart gereksinimlerdir.

Ana noktalar:
- Üç ana model vardır: paylaşımlı hosting, self-hosted VPS/IaaS ve yönetilen DBaaS.
- DBaaS'ta sağlayıcı kurulum, HA, yedek, patch ve izlemeyi üstlenir; müşteri uygulamaya odaklanır.
- Patroni + etcd otomatik failover ile %99,95+ SLA hedefini destekler.
- pgvector, PostGIS ve TimescaleDB PostgreSQL'i tek motorla AI, coğrafi veri ve zaman serisi için kullanılır kılar.
- Tecrübeli bir DBA'nın yıllık maliyeti çoğu KOBİ için tek başına yönetilen DBaaS yıllık ücretini aşar.

PostgreSQL, son on yılın en sessiz ama en köklü kurumsal kazananlarından biri. Bir zamanlar "akademik veritabanı" olarak küçümsenen sistem, bugün Stack Overflow Developer Survey anketlerinin "en sevilen veritabanı" kategorisinin üst sıralarında ve dünyanın en büyük finans, telekom ve SaaS şirketlerinin üretim iş yüklerini taşıyor. Türkiye'de de Oracle'dan PostgreSQL'e geçiş projeleri her geçen yıl artıyor; lisans maliyetini ortadan kaldırması ve modern özellik setiyle kurumsal BT için cazip bir alternatif sunuyor.

Ancak PostgreSQL'i çalıştırmak, kurmak kadar basit değildir. Yüksek erişilebilirlik, yedekleme, replikasyon, sürüm yükseltmeleri ve performans ayarı (tuning) ciddi uzmanlık gerektirir. PostgreSQL hosting kararı bu yüzden saf bir teknik tercih değil, aynı zamanda bir operasyonel sorumluluk paylaşımı kararıdır: hangi katmanı kendi ekibiniz, hangisini sağlayıcı yönetecek?

Bu rehber, PostgreSQL hosting seçeneklerini değerlendiren kurumsal BT ekipleri için pratik bir çerçeve sunuyor. Self-hosted ve yönetilen seçenekleri, HA ve yedekleme yaklaşımlarını, modern kullanım senaryolarını (AI/RAG, coğrafi veri, zaman serisi) ve KVKK çerçevesinde Türkiye'de bir DBaaS seçerken nelere bakmanız gerektiğini ele alıyor.

PostgreSQL hosting nedir ve neden tercih edilir?

PostgreSQL hosting, PostgreSQL veritabanı motorunun bir sağlayıcı tarafından sunulan altyapı üzerinde — paylaşımlı, sanal sunucu veya yönetilen hizmet olarak — çalıştırılmasıdır. Kurumsal bir karar olarak PostgreSQL hosting, lisans maliyetlerini düşürürken modern bir özellik setine erişim sağlar.

PostgreSQL'in kurumsal avantajları

PostgreSQL, resmi PostgreSQL dokümantasyonunda ayrıntılı olarak tanımlandığı üzere ACID uyumlu, MVCC tabanlı bir ilişkisel veritabanıdır; ancak yıllar içinde NoSQL özelliklerini de kapsayacak biçimde genişledi. JSONB veri tipiyle belge tabanlı sorgulama, full-text search, materyalleştirilmiş görünümler (materialized views), pencere fonksiyonları (window functions), CTE (common table expression), partitioning ve geniş kapsamlı eklenti ekosistemi — hepsi standart bir PostgreSQL kurulumunda bulunur. Bu özellik genişliği "tek motor, çok kullanım senaryosu" yaklaşımını mümkün kılar.

Açık kaynak lisans modeli

PostgreSQL, BSD benzeri PostgreSQL Lisansı altında tamamen açık kaynak ve ticari kullanım için ücretsizdir. Çekirdek (per-core) lisans ücreti yoktur; Enterprise Edition denen sürümlerden ayrıca para ödemezsiniz. Bu, özellikle Oracle Database lisanslarının yıllık on milyonlarca TL'lik fatura ürettiği büyük kurumlar için doğrudan bir TCO avantajıdır.

MySQL, MS SQL ve Oracle ile temel farklar

PostgreSQL, MySQL'e göre daha güçlü işlem (transaction) yönetimi, daha zengin veri tipleri ve daha gelişmiş sorgu planlayıcısı sunar. MS SQL ile karşılaştırıldığında özellik denkliği yüksek ama lisans maliyeti sıfırdır. Oracle ile karşılaştırıldığında en büyük eksik bazı çok yüksek uçlu özelliklerdir (RAC, Exadata gibi); ancak bu özelliklerin gerçekten hangi iş yükü için zorunlu olduğu sorusu çoğu durumda PostgreSQL lehine cevaplanır.

PostgreSQL hosting türleri

Paylaşımlı hosting üzerinde PostgreSQL

cPanel veya Plesk benzeri paylaşımlı hosting paketlerinde PostgreSQL desteği yıllardır mevcuttur. Çok küçük web siteleri ve kişisel projeler için yeterli olabilir; ancak kurumsal kullanım için izolasyon, performans ve kontrol açısından kısıtlıdır. Yüksek bağlantı sayısı (connection pool) ve yedekleme politikaları üzerinde söz hakkınız yoktur.

VPS / bulut sunucuda self-hosted kurulum

Bir bulut sunucu (IaaS) alıp üzerine PostgreSQL'i kendiniz kurmak, en fazla kontrolü sunar. Sürüm seçimi, eklentiler (pgvector, PostGIS, TimescaleDB), partisyonlama ve parametre ayarı tamamen sizdedir. Ancak yedekleme, yama, sürüm yükseltme, failover ve izleme sorumluluğunun tamamı da sizdedir. Küçük ekipler için bu çoğu zaman fazla iş yükü demektir.

Yönetilen DBaaS (Database as a Service)

DBaaS modelinde sağlayıcı kurulum, yedekleme, sürüm güncelleme, yüksek erişilebilirlik ve izleme sorumluluğunu üstlenir. Siz sadece veritabanı kullanıcısı olarak bağlanır, şema ve veriyle uğraşırsınız. Operasyonel yük dramatik biçimde azalır; karşılığında çıplak IaaS'a göre biraz daha yüksek fiyat ödersiniz. Orta ve büyük ölçekli çoğu kurum için doğru denge bu modeldir.

Self-hosted vs yönetilen PostgreSQL

Kriter Self-hosted Yönetilen DBaaS
Kontrol Tam (her parametre) Sınırlı (kurumsal şablon)
Operasyonel yük Yüksek (DBA gerekir) Düşük
HA / failover Manuel kurulum Hazır
Yedekleme Sizin sorumluluğunuzda Otomatik + PITR
Maliyet (IaaS) Düşük Orta–yüksek
SLA Yok Sağlayıcı garantisi
Tipik kullanım Özel ihtiyaç, deneyim Üretim, hızlı go-live

Sorumluluk paylaşımı (kurulum, yama, yedekleme)

Self-hosted modelde işletim sistemi, PostgreSQL paketleri, güvenlik yamaları, yedekleme stratejisi ve restore testleri tamamen sizdedir. Yönetilen modelde sağlayıcı bu katmanları üstlenir; siz uygulama tarafına odaklanırsınız. KVKK uyumu açısından sorumluluk her durumda veri sahibinde (sizde) kalır; ama teknik kontrolün kimde olduğu büyük fark yaratır.

Operasyonel maliyet ve FTE etkisi

Üretim sınıfı bir PostgreSQL kümesini bir DBA olmadan ayakta tutmak zordur. Türkiye'de tecrübeli bir DBA'nın yıllık maliyeti 1,5–3 milyon TL bandındadır. Yönetilen hizmet aylık birkaç bin TL'lik bir farkla bu görevi devralır. Küçük ve orta ölçekli şirketlerde DBaaS finansal olarak hızla anlam kazanır.

SLA ve risk yönetimi

Sağlayıcı tarafından verilen %99,95 veya %99,99 SLA, kâğıt üzerinde basit bir yüzde gibi görünür ama gerçek değeri tatbikatlarla anlaşılır. Self-hosted bir kurulumda aynı SLA'yı sağlamak iki düğümlü HA, izleme, dispatch ve gece nöbeti gerektirir; bu maliyet çoğu zaman görmezden gelinir.

Yüksek erişilebilirlik ve replikasyon

Streaming replication ve standby

PostgreSQL'in yerleşik streaming replication mekanizması, WAL (Write-Ahead Log) kayıtlarını gerçek zamanlı olarak bir veya daha çok standby sunucuya gönderir. Standby sunucular okuma sorgularına yanıt verebilir (read replica) ve birincil sunucu çökerse hızlı bir promotion ile devreye alınabilir. Asenkron mod düşük gecikme, senkron mod daha güçlü tutarlılık sağlar.

Patroni ile otomatik failover

Streaming replication tek başına failover yapmaz; bunu yönetmek için Patroni gibi bir orkestratör gerekir. Patroni etcd veya Consul ile küme durumunu izler, birincil sunucu erişilemediğinde standby'ı otomatik olarak promote eder. PgBouncer veya HAProxy ile birlikte konuşlandırıldığında uygulama tarafında neredeyse kesintisiz bir failover deneyimi sunar. Yönetilen DBaaS'larda bu mimari standart olarak hazırdır.

Çoklu bölge / DR senaryoları

Felaket kurtarma (DR) için ikinci bir veri merkezinde asenkron standby tutmak yaygın bir pratiktir. RPO (kabul edilebilir veri kaybı) ve RTO (kabul edilebilir kesinti süresi) hedeflerinize göre senkron veya asenkron replikasyon tercih edersiniz. Türkiye içinde iki farklı veri merkezine yayılmış yapılar, hem KVKK uyumu hem de DR için en pratik mimaridir.

Yedekleme ve point-in-time recovery (PITR)

pg_basebackup ve WAL arşivleme

pg_basebackup, veritabanının fiziksel bir tam yedeğini alır. Bu yedeğin değerli olması için ardından gelen WAL dosyalarının da arşivlenmesi gerekir; ikisi birlikte, dakikalık hassasiyetle herhangi bir noktaya geri dönmenizi (point-in-time recovery) mümkün kılar. PITR, "akşam 17:43'teki yanlış DELETE'i geri al" gibi senaryolar için kritik bir yetenektir.

Yedek saklama politikaları

Tipik bir kurumsal yedekleme politikası: günlük tam yedek 30 gün, haftalık 12 hafta, aylık 12 ay, yıllık 7 yıl. KVKK ve sektörel düzenlemeler bazı kayıt türleri için 10 yıla varan saklama süreleri öngörebilir; politikayı en başta yazılı olarak belirlemek hem teknik hem uyum tarafından gereklidir.

Geri yükleme tatbikatları

Yedekleme alanın değeri, restore'un doğrulanmasıyla anlaşılır. Yılda en az iki kez tam bir restore tatbikatı yapın; sadece dosyaların var olduğunu değil, gerçekten veritabanını ayağa kaldırabildiğinizi doğrulayın. Yönetilen DBaaS'larda bu testler genelde sağlayıcı tarafından düzenli olarak çalıştırılır.

Modern PostgreSQL kullanım senaryoları

pgvector ile AI / RAG uygulamaları

pgvector eklentisi, PostgreSQL'i bir vektör veritabanına dönüştürür. Yapay zeka ve RAG (Retrieval (geri alma süresi) Augmented Generation) mimarilerinde embed edilmiş metin parçalarını saklamak ve cosine similarity ile sorgulamak için kullanılır. Ayrı bir vektör veritabanı (Pinecone, Milvus) yerine aynı PostgreSQL kümesini kullanmak operasyonu basitleştirir ve verinin bir arada kalmasını sağlar.

PostGIS ile coğrafi veriler

PostGIS, PostgreSQL'i tam teşekküllü bir coğrafi veritabanına dönüştürür. Lokasyon tabanlı uygulamalar, lojistik optimizasyonu, harita ve şehircilik çözümleri için açık kaynak dünyasının fiili standardıdır. Türk e-ticaret ve lojistik şirketleri için PostGIS, ESRI gibi ticari alternatiflere göre ciddi bir maliyet avantajı sunar.

TimescaleDB ile zaman serisi verileri

TimescaleDB, PostgreSQL üzerine kurulu bir uzantı olarak yüksek hacimli zaman serisi verilerini verimli şekilde saklar ve sorgular. IoT sensör verileri, finansal tikler, gözlemleme metrikleri (monitoring) için InfluxDB gibi özel veritabanlarına alternatif olarak değerlendirilir; PostgreSQL'in tüm SQL gücüyle birleşir.

Performans ve güvenlik

Index, vacuum ve sorgu optimizasyonu

PostgreSQL'in MVCC mekanizması, eski satır sürümlerini "ölü tuple" olarak bırakır; bunları temizlemek için autovacuum süreci düzenli çalışır. Yoğun yazma yapan tablolarda autovacuum parametrelerini ayarlamak performans açısından kritiktir. EXPLAIN ANALYZE ile sorgu planlarını incelemek, doğru index'leri (B-tree, GIN, GiST, BRIN) eklemek ve istatistikleri güncel tutmak rutin DBA görevleridir.

SSL/TLS, rol bazlı erişim

Bağlantıların TLS 1.2 veya üzeri ile şifrelenmesi, sertifika tabanlı kimlik doğrulama, en az ayrıcalık (least privilege) prensibiyle hazırlanmış roller ve şemalar üretim sınıfı bir kurulumun olmazsa olmazıdır. pg_hba.conf üzerinden hangi ağdan hangi kullanıcının nereye bağlanabileceği açık olarak tanımlanmalıdır.

KVKK uyumlu denetim kayıtları

pgaudit eklentisi, hassas operasyonların (DDL, SELECT'ler, kullanıcı değişiklikleri) detaylı şekilde loglanmasını sağlar; resmi yapılandırma rehberi PostgreSQL dokümantasyonunda yer alır. KVKK çerçevesinde kişisel veriye erişimlerin izlenebilir olması beklenir; pgaudit bu izlenebilirliği veritabanı seviyesinde sunar. Logların ayrı, değiştirilemez bir depoya yazılması ek bir güvenlik katmanıdır.

Diğer veritabanlarından PostgreSQL'e geçiş

MySQL'den geçiş (pgloader)

pgloader, MySQL'den PostgreSQL'e şema ve veri taşımayı otomatikleştiren açık kaynak bir araçtır. Veri tipi eşleştirmeleri, indexler, foreign key'ler büyük ölçüde otomatik dönüştürülür. Uygulama tarafında SQL dialect farkları (LIMIT/OFFSET, AUTO_INCREMENT, JSON fonksiyonları) elle gözden geçirilmelidir.

Oracle'dan geçiş (ora2pg)

ora2pg, Oracle veritabanlarını PostgreSQL'e taşımak için de facto standart araçtır. Şema, veri, PL/SQL kodları ve tetikleyiciler büyük oranda otomatik dönüştürülür. PL/SQL → PL/pgSQL dönüşümünün her zaman birebir olmadığı, manuel inceleme gerektirebileceği unutulmamalıdır. Büyük Oracle migrasyonları tipik olarak birkaç aylık projelerdir.

Şema dönüşümü ve test stratejisi

Başarılı bir göç projesinin sırrı, dönüştürmeden çok testte yatar. Önce şemayı taşıyın, sonra örnek veriyle uygulamayı paralel çalıştırın (dual write), sonuçları karşılaştırın. Üretim geçişi mutlaka bir maintenance window ile, geri dönüş planı hazır olarak yapılmalıdır.

Sıkça sorulan sorular (SSS)

Self-hosted PostgreSQL ne zaman mantıklı?
Self-hosted PostgreSQL; verinizin çok hassas olduğu, çok özel parametre/eklenti ihtiyacınızın olduğu ve tam zamanlı DBA ekibinizin hazır olduğu senaryolar için mantıklıdır. Çoğu kurumsal durumda yönetilen DBaaS daha düşük TCO sunar. Karar, ekip kapasitesi ve regülatif kısıtların kombinasyonuna bağlıdır.

PostgreSQL Oracle'ın yerini tutar mı?
Evet, iş yüklerinin büyük çoğunluğu için PostgreSQL Oracle'ın yerini tutar; Oracle RAC ve Exadata gibi çok yüksek uçlu özelliklerin gerçek ihtiyaç olduğu durumlar düşündüğünüzden çok daha azdır. Yıllık milyonlarca TL'lik Oracle lisans faturası ortadan kalkar. Geçiş, Ora2Pg gibi araçlarla planlı bir migrasyon projesi olarak yürütülür.

Yönetilen DBaaS'ta hangi parametreleri değiştirebilirim?
Yönetilen DBaaS'ta genelde shared_buffers, work_mem, max_connections gibi temel performans parametreleri ayarlanabilir; pg_hba.conf gibi alt seviye dosyalar sağlayıcı tarafında yönetilir. Sağlayıcıdan sağlayıcıya farklılık vardır. Tuning ihtiyacınız yüksekse sözleşme öncesi hangi parametrelerin açık olduğunu yazılı olarak doğrulayın.

Yedeklerimin gerçekten alındığını nasıl doğrularım?
Sağlayıcıdan yedek raporu ve son restore test tarihini yazılı olarak isteyin; mümkünse ayda bir kendi tarafınızda da bir restore tatbikatı yapın. Başka bir ortamda yedeği ayağa kaldırıp uygulamayı bağlamak gerçek doğrulamadır. Sadece dosyaların varlığı yedek bütünlüğünü garanti etmez.

PostgreSQL kaç bağlantıya kadar ölçeklenir?
Tek bir PostgreSQL kurulumu binlerce bağlantıya kadar ölçeklenir; ancak her bağlantı bellek tüketir ve PgBouncer gibi bir connection pooler kullanmak üretim ortamında en iyi pratiktir. Pooler hem bellek hem performans açısından kritiktir. Önünde bir yük dengeleyici ile birlikte kullanmak okuma trafiğini standby düğümlere dağıtır.

Cloud4U Türkiye PostgreSQL DBaaS ile yönetilen veritabanı

PostgreSQL'in zengin özellik setini, kendi ekibinizi operasyonel yükle boğmadan kullanmak için Cloud4U Türkiye PostgreSQL DBaaS, kurumsal Türkiye'ye özel tasarlanmış bir yönetilen veritabanı hizmetidir.

  • İstanbul veri merkezi, KVKK uyumu: Veriniz Türkiye sınırları içinde, ISO 27001 sertifikalı veri merkezinde tutulur.
  • Otomatik yedekleme, PITR ve HA: Günlük tam yedek, sürekli WAL arşivleme, point-in-time recovery ve Patroni tabanlı otomatik failover standarttır.
  • Fiyatlandırma ve demo talep edin: Veritabanı boyutu ve iş yükünüze özel teklif; üretim öncesi gerçek verilerinizle demo ortamı.

PostgreSQL altyapınızı uzman bir Türkçe destek ekibine emanet etmek için: Cloud4U Türkiye Database as a Service hizmetini inceleyin ve ihtiyacınıza özel demo görüşmesini başlatın.

İlgili içerikler


Bu size yardımcı oldu mu?
0
0
Diğer Haberler
Scroll up!