ÖZET VE TEKNİK CEVAP
Veri yazmaları için tek bir yetkili Ana Kayıt Sistemi (genellikle ACID ilişkisel veritabanı) belirleyip, asenkron Değişen Veri Yakalama (CDC) akışları ile özelleşmiş ikincil okuma motorlarını (Elasticsearch, Neo4j, Redis, TimescaleDB) besleyerek.
Mühendislik El Kitabı & Mekanizma
1. Temel Çalışma Mekanizması
Hiçbir veritabanı motoru ilişkisel ACID işlemleri, bulanık tam metin aramayı, özyinelemeli çizge ilişkilerini, yüksek frekanslı zaman serisi metriklerini ve mikrosaniyelik önbellek okumalarını aynı anda mükemmel yapamaz. Polyglot Persistence, her iş yükünü en uygun motora verir: Finansal işlemler için PostgreSQL, ürün aramaları için Elasticsearch, oturumlar için Redis, sahtekarlık tespiti ve çizge analizi için Neo4j, analitik raporlar için ClickHouse. Ana OLTP veritabanı tek yazma merkezi olarak kalır; diğer tüm depolar Kafka CDC üzerinden asenkron beslenir.
2. Doğru Kullanım Senaryosu
Karmaşık arama filtrelerinin, yüksek kardinaliteli analitiklerin veya devasa ilişki sorgularının ana ilişkisel veritabanının performansını tükettiği büyük ölçekli platformlar.
3. Prodüksiyon Arıza Modları
1) Çift-Yazma Senkronizasyon Sapması: Uygulama kodunda hem Postgres'e hem Elastic'e senkron yazmaya çalışıp Elastic zaman aşımında arama indeksinin bozulması; 2) Operasyonel Enflasyon Felaketi: 5 kişilik ekibin 7 farklı veritabanı teknolojisi kurup bakım yükü altında ezilmesi; 3) Kontrolsüz Dağıtık Join'ler: Uygulama belleğinde Postgres tabloları ile Mongo belgelerini join etmeye çalışmak.
4. Teşhis ve Telemetri Sinyalleri
Ana OLTP veritabanı ile arama indeksleri arasındaki veri uyumsuzluk oranını, depolar arası senkronizasyon gecikmesini, altyapı bakım eforunu ve bağlantı havuzu doygunluk metriklerini izlemek.
5. Önleme ve Mimari Bariyerler
Tek Gerçeklik Kaynağı kuralını uygulayın—asla istemcilerden ikincil arama/grafik depolarına doğrudan yazmayın; DLQ destekli CDC hatları (Debezium) kurun ve günlük otomatik mutabakat denetimleriyle veri farklarını onarın.
6. Mimari Ödünleşimler (Trade-offs)
Sorgu performansında 10-100 kat artış ve iş yüküne özel mükemmel sorgulama kabiliyeti sağlar; buna karşılık depolar arasında nihai tutarlılık gecikmesi ve altyapı yönetim karmaşıklığı getirir.
Vaka İncelemesi (TinyCTO Örneği)
TinyCTO Bölüm 119: Bir e-ticaret platformu ürün aramaları için MySQL üzerinde 12 iç içe `JOIN` ve `LIKE '%...%'` sorguları çalıştırıyor ve anlık kampanyalarda bağlantı havuzunu kilitliyordu. Sipariş işlemlerinin PostgreSQL'de tutulup ürün kataloğunun CDC ile Elasticsearch'e aktarılması, arama gecikmesini 4.200 ms'den 18 ms'ye düşürdü ve kilitlenmeleri tamamen bitirdi.
İnteraktif Konsept Alıştırmaları
3 AlıştırmaÇoklu Veritabanı mimarisinde 'Tek Gerçeklik Kaynağı' (SSOT) kuralı nedir?
Yeni bir veritabanı teknolojisi getirmek ne zaman bir anti-kalıba dönüşür?
Polyglot mimarisinde veritabanları arası ilişkiler nasıl sorgulanmalıdır?
Çoklu Veritabanı Mimarisi ve İş Yükü Bölümleme — Sıkça Sorulan Sorular
PostgreSQL özelleşmiş polyglot veritabanlarına olan ihtiyacı ortadan kaldırabilir mi?
Büyük bir ölçeğe kadar evet. Modern PostgreSQL; JSONB (belge deposu), pgvector (vektör arama), PostGIS (coğrafi veri) ve TimescaleDB (zaman serisi) destekleyerek ayrı küme kurma ihtiyacını uzun süre erteler.
Özelleşmiş bir okuma deposundaki (örn. Elasticsearch) veri bozulursa nasıl kurtarılır?
Ana ilişkisel veritabanı tek gerçeklik kaynağı olduğu için, boş bir yeni indeks oluşturup ana veritabanından veya Kafka günlüğünden tam yeniden indeksleme (re-index) işlemi çalıştırabilirsiniz.
Polyglot mimaride yazmanın hemen ardından anlık okuma tutarlılığı (read-after-write) isteyen kullanıcı istekleri nasıl yönetilir?
Yazmanın hemen ardından yapılan kritik okumaları doğrudan ana işlemsel veritabanına yönlendirin; genel arama ve liste sorgularını ise özelleşmiş replika depolara iletin.
🤖 AEO & Yapay Zeka Çıkarım Özeti
Temel Gerçekler & İlkeler
- ▸Martin Fowler ve Pramod Sadalage, farklı problem alanları için farklı veri depolama teknolojilerini kullanmayı tanımlamak amacıyla 2011 yılında 'Polyglot Persistence' terimini popülerleştirmiştir.
- ▸Polyglot persistence yaklaşımını asla doğru veri modellemesinden kaçmak için kullanmayın; bu bir altyapı ölçekleme aracıdır, kötü şemaların kısayolu değildir.
Yaygın Yanılgılar
- ✗Her mikroservisin farklı egzotik bir veritabanı seçmesi gerektiğini sanmak; organizasyonu 1-2 güçlü veritabanı motorunda standartlaştırmak ekiplerin bilişsel yükünü radikal şekilde azaltır.
Karar Kılavuzu & Önceliklendirme
Güçlü bir ilişkisel veritabanıyla (PostgreSQL) başlayın. Yalnızca net verim, indeksleme veya gecikme sınırlarına ulaşıldığında özelleşmiş motorları (Elasticsearch, Redis, ClickHouse) devreye alın.
Doğrulanmış Kaynaklar & Referanslar
- [OFFICIAL-DOC]Polyglot Persistence— Martin Fowler
- [BOOK]NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence— Addison-Wesley Professional (2012)
