cloud tabanli bir hizmet sunacaksaniz bu saas modelinde multi tenant bir mimariye karsilik geliyor diyebiliriz.
Veritabani konusunda uc genel yaklasim var diyebiliriz. Sorunun cevabi da biraz sizin stratejinizle alakali.
1-) Bir tane vertabani instance'a sahip olursunuz ve tum top level master tablolara ClientID verip musterileri birbirinden izole edebilirsiniz. Eger ayni anda farkli musterilere farkli uygulama versiyonlari, ozellikler sunacaksaniz bu model uzun vadede isinize yaramaz.
2-)Baseline olarak bir veratabani tasarimi yapip her yeni gelen musteri icin manuel veya docker benzeri bir containeri otomate ederek on demand deployment yapabilirsiniz. Yani her musteri icin bir veritabani instance olur. Bu senaryonda ilerde musteri birlestirme veya farkli durumlar icin haricten bir adet katalog veritabani tutmaniz tavsiye edilir.
3-) Son olarak shared multi tenant diye bir yaklasim daha var. Bu durumda daha karmasik ancak esnek bir yapi kurabiliyorsunuz. Veritabani lisans vb maliyerleriniz duserken, deployment zorlugunuz artiyor.
Asagidaki makalelere gozatmanizi oneririm:
docs.microsoft.comBu makalede ise her bir baslik icin Entity Framework ile yapilmis github ornekleri de var. Mutlaka gozatin derim.
azure.microsoft.com