PostgreSQL — web sitenizin ve mağazanızın veritabanı
4buildsite'ta oluşturduğunuz her ürün, sipariş, lead ve sayfa bir PostgreSQL veritabanında yaşar. Onu sizin yönetmeniz gerekmez — ama neden seçtiğimizi bilmeye değer: ödemeler için işlem bütünlüğü, yaklaşık 30 yıldır kanıtlanmış güvenilirlik ve fiyatınıza yansımayan sıfır lisans maliyeti.
PostgreSQL nedir ve sitenizde neyi tutar
PostgreSQL, 1996'dan beri sürekli geliştirilen, açık kaynaklı bir ilişkisel veritabanı sistemidir — kökleri Berkeley Üniversitesi'ndeki POSTGRES projesine (1986) uzanır. 4buildsite'ta PostgreSQL, sitenizin verilerinin yaşadığı yerdir: ürünler ve stoklar, siparişler ve ödemeler, formlardan gelen lead'ler ve sayfa içerikleri. Siz görsel editörde çalışırsınız; PostgreSQL her değişikliği güvenle saklar.
Yazılımcı değilseniz bu sizin için neden önemli? Çünkü ciddi bir veritabanı ile kırılgan bir veritabanı arasındaki fark tam da zor anlarda ortaya çıkar: bir kampanyadaki trafik zirvesi, iki kez tekrarlanan bir ödeme, bir sunucu yeniden başlatması. PostgreSQL bu anlardan veri kaybetmeden veya bozmadan geçecek şekilde tasarlanmıştır — bu yüzden Instagram ve Reddit gibi şirketler onu büyük ölçekte kullanır, tarihsel olarak da Skype altyapısının temelinde yer almıştır.
- Ürünler, varyantlar ve stoklar — mağazanızın eksiksiz kataloğu
- Siparişler, Stripe ödemeleri ve faturalar — boşluksuz satış geçmişi
- Formlardan gelen lead'ler — her teklif talebi garantili şekilde kaydedilir
- Sayfaların ve şablonların içeriği — görsel editörde düzenlediğiniz her şey
- Sitenizin alan adları, ayarları ve yayımlanmış sürümleri
Bozulmayan veriyle siparişler ve ödemeler — ACID bütünlüğü
Bir müşteri sipariş verdiğinde birkaç şey aynı anda gerçekleşir: stok düşer, sipariş oluşturulur, Stripe ödemesi kaydedilir. PostgreSQL bunları tek bir işlem (transaction) olarak yürütür: ya hepsi gerçekleşir ya hiçbiri. Ödeme yarıda başarısız olursa stok otomatik olarak ilk değerine döner. Bu davranışa ACID (Atomicity, Consistency, Isolation, Durability) denir ve PostgreSQL tarafından özel bir yapılandırma gerekmeden her tabloda garanti edilir.
İşlemlerin yanında PostgreSQL, bütünlük kurallarını doğrudan veritabanında uygular: bir sipariş satırı var olmayan bir ürüne referans veremez, stok negatif olamaz, bir hesap e-postası tekrarlanamaz. Bu kısıtlamalar (foreign key, check, unique), hatalı veriyi satış raporunuzu bozmadan önce, girişte durdurur.
Marketplace'lerde bütünlük iki kat önemlidir: Stripe Connect ile bölüştürülen komisyonlar ve ödemeler sipariş verilerinden hesaplanır. Yinelenen bir sipariş veya tutarsız bir tutar, satıcılar arasında yanlış paylaştırılmış para anlamına gelir. PostgreSQL işlemleri bu hesapları sipariş sipariş doğru tutar.
Katalogda arama ve esnek içerik
PostgreSQL bir tam metin arama motoru içerir: müşteriler “koşu ayakkabısı” arar ve uygun ürünleri bulur; Romence dahil kök bulma (stemming) sözlükleri vardır. pg_trgm eklentisi yazım hatalarına tolerans ekler. Bir mağaza için bu yetenekler, kataloğun Elasticsearch gibi ayrı bir servis olmadan da iyi aranabilmesi demektir — yani çökebilecek daha az bileşen ve daha düşük altyapı maliyeti.
Görsel editörde oluşturulan sayfaların içeriğinin sabit bir yapısı yoktur — bir hero bloğunun, bir formun ve bir galerinin alanları farklıdır. PostgreSQL bunu JSONB ile çözer: yerel JSON saklar, GIN indeksleriyle indekslenebilir, herhangi bir sütun gibi sorgulanabilir. Bir doküman veritabanının esnekliğini elde ederken siparişler ve ödemeler için ilişkisel bütünlüğü korursunuz — iki ayrı sistemde değil, aynı sistemde.
- tsvector + kök bulma sözlükleri (Romence dahil) — katalogda alakalı arama
- pg_trgm — müşteriler bir harfi yanlış yazsa bile ürünü bulur
- GIN indeksli JSONB — esnek sayfa blokları sorgulanabilir kalır
Güvenilirlik: yedekleme, kurtarma ve sürprizsiz işleyiş
PostgreSQL her değişikliği önce bir günlüğe (WAL — Write-Ahead Log), ancak sonra asıl verilere yazar. Sunucu aniden durursa, yeniden başlatıldığında veritabanı günlükten yeniden kurulur; bozuk veri kalmaz. PostgreSQL, belirli bir ana geri dönüş (PITR) yeteneğini de aynı mekanizma üzerine kurar — WAL günlüğünü arşivleyen kurulumlar için motorun standart bir özelliğidir. 4buildsite'ta veriler uygulamadan ayrı, kalıcı birimlerde durur; dolayısıyla platformun yeniden başlatılması veya güncellenmesi onlara dokunmaz.
PostgreSQL ayrıca streaming replikasyonu da destekler — gerektiğinde trafiği devralmaya hazır, senkronize bir veritabanı kopyası. Siteniz için veritabanı güvenilirliği doğrudan SEO ve GEO'ya yansır: sürekli yanıt veren bir site sürekli taranır ve indekslenir, tekrarlanan 5xx hataları ise tarama ve indekslemeyi zorlaştırır.
Ölçekleme ve maliyetler — lisans faturası olmadan büyüyün
Mağaza büyüdüğünde PostgreSQL de onunla birlikte büyür: indeksler yüz binlerce ürünlü kataloglarda sorguları hızlı tutar, bölümleme (partitioning) sipariş geçmişini dönemlere böler, okuma replikaları rapor trafiğini üstlenir. Instagram ve Reddit, PostgreSQL üzerinde yüz milyonlarca kullanıcıya ölçeklendi — bir online mağaza bu teknolojinin sınırlarına sandığından çok daha geç ulaşır.
PostgreSQL özgür bir lisansa sahiptir (PostgreSQL License, BSD türü) — lisans maliyeti yok ve kuralları bir gecede değiştirebilecek ticari bir sahibi yok. Ticari veritabanları genellikle işlemci çekirdeği başına lisanslanır ve maliyet kaçınılmaz olarak müşterinin ödediği fiyata yansır. 4buildsite'ta veritabanı, hosting ve SSL ile birlikte planın içindedir — ayrı bir ücret yoktur.
Avantajlar ve sınırlamalar
Avantajlar
- Tam ACID işlemleri — siparişler ve ödemeler hata veya sunucu çökmesinde bile tutarlı kalır.
- 1996'dan beri kanıtlanmış güvenilirlik; Instagram, Reddit'te ve tarihsel olarak Skype'ta üretimde.
- Yerel JSONB — ilişkisel bütünlükten ödün vermeden esnek sayfa içeriği.
- Dahili tam metin arama, Romence kök bulmalı — ayrı servis olmadan katalogda arama.
- Özgür lisans — plan fiyatınıza gizlenmiş sıfır lisans maliyeti.
- WAL günlüğü — sunucu aniden durduğunda veritabanı yeniden başlatmada bozuk veri olmadan yeniden kurulur.
Sınırlamalar
- Gelişmiş yönetim (tuning, replikasyon, failover) deneyim ister — 4buildsite'ta bunu biz yapıyoruz, ancak kendi sunucunuzda zahmetlidir.
- Yazmalar tek bir birincil düğümde durur — birden çok düğüme dağıtım (sharding) yerel değildir ve ek araçlar gerektirir.
- Her bağlantı nispeten çok bellek tüketir — çok sayıda bağlantıda pooling (PgBouncer) gerekir.
- Tam metin arama iyidir, ancak gelişmiş alaka ve arama önerilerinde özel motorların gerisindedir.
Kısa değerlendirme
PostgreSQL; siparişlerin, ödemelerin ve lead'lerin kaybolmaması gereken web siteleri, online mağazalar, marketplace'ler ve SaaS platformları için standart seçimdir. Basit bir blog daha azıyla da idare ederdi — ama özgür lisans sayesinde 4buildsite'ta bu güvenlik düzeyini zaten ek maliyet olmadan alırsınız.
Teknik özellikler tablosu
| Yetenek | Sınır / eşik | Tipik kullanım | |
|---|---|---|---|
| İşlem bütünlüğü | Tam ACID + MVCC, her tabloda | Çok uzun işlemler kaynakları kilitli tutar | Siparişler, ödemeler, stoklar |
| JSONB | Yerel JSON, GIN ile indekslenebilir | JSON üzerinde çok karmaşık sorgular klasik sütunlardan yavaştır | Sayfa içeriği, ayarlar, ürün öznitelikleri |
| Tam metin arama | tsvector + pg_trgm, çok dilli (Romence dahil) | Alaka düzeyi özel arama motorlarının altındadır | Mağaza kataloğunda arama |
| Yedekleme ve replikasyon | WAL, PITR, streaming replikasyon | Otomatik failover harici araçlar gerektirir (örn. Patroni) | Olay sonrası kurtarma, yüksek erişilebilirlik |
| Ölçekleme | Okuma replikaları, tablo bölümleme | Yazmalar birincil düğümde kalır | Büyük kataloglar ve sipariş geçmişleri |
| Maliyet | Açık kaynak, özgür lisans | Gerçek maliyet altyapı ve yönetimdir | 4buildsite planlarına dahil |
PostgreSQL, MySQL ve MongoDB karşılaştırması
| Kriter | PostgreSQL | MySQL | MongoDB |
|---|---|---|---|
| ACID bütünlüğü | Tam, her tabloda, varsayılan olarak | Yalnızca InnoDB motoruyla tam | Çok belgeli işlemler ancak v4.0'dan itibaren, kısıtlamalarla |
| Veri tipleri ve JSON | İndekslenebilir JSONB + zengin tipler (array, range) | Geçerli JSON, dolaylı indeksleme (üretilmiş sütunlar) | Yerel BSON belgeleri, zorunlu şema yok |
| Tam metin arama | Dahili: tsvector, pg_trgm, çok dilli kök bulma | Temel (InnoDB FTS) | Temel; gelişmiş sürüm (Atlas Search) yalnızca ticari bulutta |
| Lisans / maliyet | PostgreSQL License — özgür, ticari sahibi yok | GPL, Oracle'a ait (ticari sürümler) | SSPL — artık klasik bir açık kaynak lisansı değil |
| Ekosistem | Güçlü eklentiler (PostGIS, pgvector), tüm ORM'lerde destek | Klasik PHP/WordPress hostinginde her yerde | Node.js'te güçlü, diğer yerlerde daha sınırlı |
| E-ticarete uygunluk | Mükemmel — siparişler, stoklar ve ödemeler garantili tutarlı | İyi — tarihsel standart (Magento, WooCommerce) | Esnek kataloglar için; sipariş tutarlılığı ek çaba ister |
Sık sorulan sorular
PostgreSQL sitemin hızını etkiler mi?
Olumsuz anlamda hayır. Herkese açık sayfalar önbellekli Next.js'ten sunulur ve indeksli PostgreSQL sorguları indeksleri kullanır. Tipik bir site veya mağaza ölçeğinde veritabanı genellikle darboğaz olmaz — algılanan hız için frontend ve görseller çok daha önemlidir.
Neden herkes gibi MySQL'li WordPress değil?
WordPress, sürekli bakım ve güncelleme gerektiren tema ve eklentilerle çalışan bir PHP CMS'idir. 4buildsite, PostgreSQL'li Next.js siteleri üretir: yamalanacak eklenti olmadan ve daha az güvenlik açığıyla. MySQL kötü bir seçim değildir — ancak PostgreSQL aynı özgür lisansla indekslenebilir JSONB, daha iyi tam metin arama ve daha sıkı bütünlük ekler.
Sunucu çökerse verilerime ne olur?
PostgreSQL her değişikliği önce WAL günlüğüne yazar; dolayısıyla yeniden başlatıldığında veritabanı bozuk veri olmadan yeniden kurulur — ani bir sunucu çökmesi siparişlerinizi bozmaz. Ayrıca veriler uygulamadan ayrı, kalıcı birimlerde durur; platformun yeniden başlatılması veya güncellenmesi onlara dokunmaz.
4buildsite'tan ayrılırsam verilerimi dışa aktarabilir miyim?
Evet. Verileriniz sektör standardı bir format olan PostgreSQL'de durur — ürünler, siparişler ve müşteriler yaygın formatlarda (CSV, SQL) dışa aktarılabilir. Sizi platforma kilitleyecek tescilli bir format yoktur.
Mağazam büyürse PostgreSQL yeter mi?
Evet, çok geniş bir payla. Instagram ve Reddit, PostgreSQL üzerinde indeksler, bölümleme ve okuma replikalarıyla yüz milyonlarca kullanıcıya ölçeklendi — aynı teknikler 4buildsite'ta da mevcuttur. Bir online mağaza, PostgreSQL'in sınırlarına kendi lojistiğinin sınırlarından çok daha geç ulaşır.
PostgreSQL lisansı bana ne kadara mal olur?
Hiçbir şeye. PostgreSQL özgür bir lisansa sahiptir (PostgreSQL License, BSD türü); sunucu başına veya çekirdek başına ücret yoktur. 4buildsite'ta veritabanı, hosting ve SSL ile birlikte planınıza dahildir — onun için ayrıca hiçbir şey ödemezsiniz.