Multi-Tenant Nedir?
İngilizce: Multi-Tenancy
Yayın: · Son güncelleme:
Multi-Tenant Nedir? Kısaca
Multi-tenant (çok kiracılı) mimari, tek bir yazılım kurulumunun ve altyapının birden fazla müşteriye (kiracıya) aynı anda hizmet verdiği, her müşterinin verisinin ise birbirinden ayrı tutulduğu yapıdır. Çoğu SaaS ürünü bu modelle çalışır.

Multi-tenant nedir?
Multi-tenant, bir apartman gibi düşünülebilir. Bina, su tesisatı ve asansör ortaktır; her daire ise kilitlidir ve yalnız sahibine açılır. Yazılımda da sunucular, veritabanı ve kod ortaktır, her müşteri şirketin verisi ise diğerlerinden yalıtılmıştır.
Burada "kiracı" (tenant), genellikle yazılımı kullanan bir şirket ya da ekiptir. Bir proje yönetim aracını kullanan bin farklı şirket, aynı uygulamanın bin kiracısıdır.
Veriler nasıl ayrılır?
Üç yaygın yaklaşım vardır:
| Yöntem | Açıklama | Yalıtım düzeyi |
|---|---|---|
| Ortak tablo | Her satırda kiracı kimliği (tenant_id) tutulur | Düşük |
| Ayrı şema | Aynı veritabanında her kiracıya ayrı şema | Orta |
| Ayrı veritabanı | Her kiracıya kendi veritabanı | Yüksek |
Ortak tablo en ucuz ve en kolay ölçeklenen yöntemdir. Ayrı veritabanı ise en güçlü yalıtımı sağlar ama yüzlerce müşteride bakım yükü büyür. Birçok şirket küçük müşterileri ortak yapıda, büyük kurumsal müşterileri ayrı veritabanında tutan karma bir model kullanır.
Avantajları ve riskleri
Asıl avantaj maliyettir. Tek bir güncelleme tüm müşterilere aynı anda ulaşır, altyapı paylaşıldığı için müşteri başına maliyet düşer. Yeni bir müşteri eklemek dakikalar sürer.
En büyük risk, bir kiracının verisinin başka bir kiracıya görünmesidir. Ortak tablo kullanan bir sistemde tek bir sorguda tenant_id filtresinin unutulması bu sızıntıya yol açabilir. Bu nedenle filtrelemeyi her geliştiricinin hatırlamasına bırakmak yerine veritabanı ya da çatı seviyesinde zorunlu kılmak gerekir. Bir müşterinin aşırı yükünün diğerlerini yavaşlatması da ayrıca planlanması gereken bir konudur.
Sıkça Sorulan Sorular
Single-tenant ile multi-tenant arasındaki fark nedir?
Single-tenant yapıda her müşteri için ayrı bir uygulama kurulumu ve altyapı bulunur. Multi-tenant yapıda ise tüm müşteriler aynı kurulumu paylaşır. İlki daha fazla yalıtım, ikincisi daha düşük maliyet sunar.
Multi-tenant yapı güvenli midir?
Doğru tasarlandığında güvenlidir ve büyük SaaS ürünlerinin çoğu bu modeli kullanır. Güvenlik, veri ayrıştırmasının ne kadar sıkı uygulandığına ve düzenli olarak test edilmesine bağlıdır.