Ancak elbette verilerinin tehlikeye girebileceğinden korkan bazı şirketler var, bu yüzden başka çözümleri değerlendiriyoruz.
Bu talihsiz bir durumdur, çünkü müşteriler bazen yalnızca fiziksel izolasyonun yeterli güvenliği sağlayabileceği yanılgısından muzdariptir.
Çok Kiracılı Veri Mimarisi başlıklı , kontrol etmek isteyebileceğiniz ilginç bir MSDN makalesi var . Yazarlar, paylaşılan yaklaşıma yönelik yanılgıya şu şekilde değindi:
Yaygın bir yanılgı, yalnızca fiziksel izolasyonun uygun bir güvenlik seviyesi sağlayabileceğini savunmaktadır. Aslında, paylaşılan bir yaklaşım kullanılarak depolanan veriler de güçlü veri güvenliği sağlayabilir, ancak daha karmaşık tasarım modellerinin kullanılmasını gerektirir.
Teknik ve ticari konulara gelince, makale belirli bir yaklaşımın nerede diğerinden daha uygun olabileceğine dair kısa bir analiz yapıyor:
Hizmet vermeyi beklediğiniz kiracıların sayısı, yapısı ve ihtiyaçları, veri mimarisi kararınızı farklı şekillerde etkiler. Aşağıdaki sorulardan bazıları sizi daha izole bir yaklaşıma yönlendirebilirken, diğerleri sizi daha ortak bir yaklaşıma yönlendirebilir.
Kaç potansiyel kiracı hedeflemeyi bekliyorsunuz? Muhtemel kullanımı otorite ile tahmin etmeye yakın bir yerde olmayabilirsiniz, ancak büyüklük sırasına göre düşünün: yüzlerce kiracı için bir uygulama mı oluşturuyorsunuz? Binlerce? Onbinlerce? Daha? Kiracı tabanınızın ne kadar büyük olmasını beklerseniz, daha ortak bir yaklaşımı değerlendirme olasılığınız o kadar artar.
Ortalama bir kiracının verilerinin ne kadar depolama alanı kaplamasını bekliyorsunuz? Kiracıların bazılarının veya tümünün çok büyük miktarda veri depolamasını bekliyorsanız, ayrı veritabanı yaklaşımı muhtemelen en iyisidir. (Aslında, veri depolama gereksinimleri sizi yine de ayrı bir veritabanı modeli benimsemeye zorlayabilir. Öyleyse, uygulamayı baştan bu şekilde tasarlamak, daha sonra ayrı bir veritabanı yaklaşımına geçmekten çok daha kolay olacaktır.)
Ortalama bir kiracının kaç eşzamanlı son kullanıcıyı desteklemesini bekliyorsunuz? Sayı ne kadar büyükse, son kullanıcı gereksinimlerini karşılamak için daha izole bir yaklaşım o kadar uygun olacaktır.
Kiracı başına yedekleme ve geri yükleme yeteneği gibi kiracı başına katma değerli hizmetler sunmayı bekliyor musunuz? Bu tür hizmetlerin daha izole bir yaklaşımla sunulması daha kolaydır.
GÜNCELLEME: Beklenen kiracı sayısı hakkında daha fazla güncelleme.
Beklenen kiracı sayısı (10.000), senaryoların tümü olmasa da çoğu için çoklu veritabanı yaklaşımını hariç tutmalıdır. 10.000 veritabanı örneğini koruma ve her gün yüzlerce yeni veritabanı oluşturma fikrinden hoşlanacağınızı sanmıyorum.
Yalnızca bu parametreden, paylaşılan veritabanı, tek şema yaklaşımı en uygun olanı gibi görünüyor. Kiracı başına yaklaşık 50Mb depolayacağınız ve kiracı başına eklenti olmayacağı gerçeği, bu yaklaşımı daha da uygun hale getiriyor.
Yukarıda bahsedilen MSDN makalesi, paylaşılan veritabanı yaklaşımı için güvenlik hususlarını ele alan üç güvenlik modelinden bahseder:
Uygulamanızın veri güvenliği önlemlerinden emin olduğunuzda, müşterilerinize güçlü veri güvenliği garantileri sağlayan bir Hizmet Seviyesi Anlaşması sunabilirsiniz . SLA'nızda, garantilerin yanı sıra, verilerin tehlikeye atılmamasını sağlamak için alacağınız önlemleri de tanımlayabilirsiniz.
GÜNCELLEME 2: Görünüşe göre Microsoft çalışanları bu konuyla ilgili yeni bir makale taşıdı / yazdı, orijinal bağlantı gitti ve bu yeni: Çok kiracılı SaaS veritabanı kiralama kalıpları (Shai Kerer'e tebrikler)