Jednak są oczywiście firmy, które obawiają się, że ich dane mogą zostać naruszone, dlatego oceniamy inne rozwiązania.
Jest to niefortunne, ponieważ klienci czasami cierpią z powodu błędnego przekonania, że tylko fizyczna izolacja może zapewnić wystarczające bezpieczeństwo.
Jest interesujący artykuł MSDN zatytułowany Architektura danych wielu dzierżawców , który warto sprawdzić. Oto jak autorzy odnieśli się do błędnego przekonania o wspólnym podejściu:
Powszechne nieporozumienie głosi, że tylko fizyczna izolacja może zapewnić odpowiedni poziom bezpieczeństwa. W rzeczywistości dane przechowywane przy użyciu wspólnego podejścia mogą również zapewniać duże bezpieczeństwo danych, ale wymagają zastosowania bardziej wyrafinowanych wzorców projektowych.
Jeśli chodzi o względy techniczne i biznesowe, w artykule dokonano krótkiej analizy tego, gdzie określone podejście może być bardziej odpowiednie niż inne:
Liczba, charakter i potrzeby dzierżawców, których spodziewasz się obsłużyć, wpływają na decyzje dotyczące architektury danych w różny sposób. Niektóre z poniższych pytań mogą skłaniać cię do bardziej izolowanego podejścia, podczas gdy inne mogą skłaniać cię do bardziej wspólnego podejścia.
Ilu potencjalnych najemców planujesz skierować? Być może nie jesteś w stanie oszacować potencjalnego wykorzystania z urzędem, ale pomyśl w kategoriach rzędów wielkości: czy tworzysz aplikację dla setek lokatorów? Tysiące? Dziesiątki tysięcy? Jeszcze? Im większa będzie Twoja baza najemców, tym większe prawdopodobieństwo, że będziesz chciał rozważyć bardziej wspólne podejście.
Ile miejsca na dane będą zajmować przeciętny najemca? Jeśli spodziewasz się, że niektórzy lub wszyscy dzierżawcy będą przechowywać bardzo duże ilości danych, prawdopodobnie najlepsze będzie podejście z oddzielną bazą danych. (Rzeczywiście, wymagania dotyczące przechowywania danych mogą i tak zmusić Cię do przyjęcia modelu oddzielnej bazy danych. Jeśli tak, znacznie łatwiej będzie zaprojektować aplikację w ten sposób od samego początku, niż później przejść do podejścia z oddzielną bazą danych).
Ilu jednoczesnych użytkowników końcowych spodziewa się obsługiwać przeciętny dzierżawca? Im większa liczba, tym bardziej odpowiednie będzie bardziej izolowane podejście do spełnienia wymagań użytkownika końcowego.
Czy spodziewasz się oferować usługi o wartości dodanej dla poszczególnych dzierżawców, takie jak tworzenie kopii zapasowych i przywracanie danych na dzierżawę? Takie usługi są łatwiejsze do zaoferowania dzięki bardziej odizolowanemu podejściu.
AKTUALIZACJA: Dalsze aktualizacje dotyczące spodziewanej liczby najemców.
Ta oczekiwana liczba dzierżawców (10 tys.) Powinna wykluczać podejście oparte na wielu bazach danych w większości, jeśli nie we wszystkich scenariuszach. Myślę, że nie spodoba ci się pomysł utrzymania 10 000 instancji bazy danych i konieczności tworzenia setek nowych każdego dnia.
Na podstawie samego tego parametru wygląda na to, że podejście oparte na współużytkowanej bazie danych, podejście oparte na jednym schemacie jest najbardziej odpowiednie. Fakt, że będziesz przechowywać tylko około 50 MB na dzierżawcę i że nie będzie żadnych dodatków na dzierżawcę, sprawia, że to podejście jest jeszcze bardziej odpowiednie.
W cytowanym powyżej artykule MSDN wspomniano o trzech wzorcach zabezpieczeń, które dotyczą kwestii bezpieczeństwa w podejściu opartym na współużytkowaniu bazy danych:
Gdy masz pewność co do środków bezpieczeństwa danych swojej aplikacji, możesz zaoferować swoim klientom umowę o poziomie usług, która zapewnia solidne gwarancje bezpieczeństwa danych. W swojej umowie SLA, oprócz gwarancji, możesz również opisać środki, które podejmiesz, aby zapewnić, że dane nie zostaną naruszone.
AKTUALIZACJA 2: Najwyraźniej chłopaki z Microsoftu przenieśli / napisali nowy artykuł dotyczący tego tematu, oryginalny link zniknął, a to jest nowe: Wzorce dzierżawy bazy danych SaaS dla wielu dzierżawców (pochwała dla Shai Kerer)