Tek veri tabanı, ayrı şema, ayrı küme — hangi sınır hangi senaryoya yakışıyor? Ürünlerimizde uygulayıp ölçtüğümüz üç farklı yaklaşımı kıyaslıyoruz.
Üç ana model
Multi-tenant bir SaaS kurarken üç temel yaklaşım var: tek veritabanı + müşteriye ait kolon, paylaşılan veritabanı + müşteriye ait şema ve müşteriye ait izole veritabanı. Her birinin çalıştığı yer farklı; biri 100 müşteri için doğru olabilirken, diğeri yalnızca 5 büyük kurumsal müşteri için isabetli.
Operasyonel maliyet
Şema-bazlı yaklaşımda migration'lar her tenant için tekrarlanır; "schema_per_tenant" çözümleri sayıyı 200'ün üstüne çıkardığında pgbouncer ve max_connections baskısı bir gerçek haline gelir. Önce bunu mimaride değil, üretim hattınızda göreceksiniz.
Gerçek dünyadan
ViraCup tarafında 12K+ aktif sporcuyu, paylaşılan veritabanı + tenant kolonu modeliyle ölçeklendiriyoruz. DOKA tarafında ise raporlama izolasyonu, denetim gereği ayrı şema. İkisi de doğru — çünkü gereksinim farklı.
Karar çerçevesi
Veri sınırını seçerken üç soruyu cevaplayın: 1) Yasal/sektörel zorunluluk ne? 2) Tenant başına yük profili nedir? 3) Yedekleme ve geri yükleme stratejiniz tenant başına mı, küresel mi? Bu üç sorunun cevabı, geriye bir tane seçim bırakır.