Однако есть некоторые компании
Конечно, кто боится, что их данные могут
быть скомпрометированы, поэтому мы оцениваем
другие решения.
Это прискорбно, поскольку клиенты иногда страдают от неправильного представления о том, что только физическая изоляция может обеспечить достаточную безопасность.
Есть интересная статья MSDN под названием Мультитенантная архитектура данных , которую вы можете проверить. Вот как авторы обратились к ошибочному подходу к общему подходу:
Распространенное заблуждение гласит, что
только физическая изоляция может обеспечить
соответствующий уровень безопасности. В
На самом деле, данные хранятся с использованием общего
подход также может предоставить надежные данные
безопасность, но требует использования более
сложные модели дизайна.
Что касается технических и деловых соображений, в статье дается краткий анализ того, где определенный подход может быть более подходящим, чем другой:
Количество, характер и потребности
Арендаторы, которых вы ожидаете обслуживать, влияют на всех
ваше решение архитектуры данных в
различные пути. Некоторые из следующих
вопросы могут сместить вас в сторону более
изолированный подход, в то время как другие могут
смещать вас в сторону более общего
подход.
Сколько потенциальных арендаторов вы планируете выбрать? Вы можете быть нигде
почти в состоянии оценить
предполагаемое использование с властью, но
думать с точки зрения порядков:
вы создаете приложение для
сотни арендаторов? Тысячи? Десятки
тысяч? Больше? Чем больше ты
ожидать, что ваша база арендаторов будет,
скорее вы захотите рассмотреть
более общий подход.
Сколько места для хранения вы ожидаете для данных среднего арендатора?
Если вы ожидаете, что некоторые или все арендаторы
хранить очень большие объемы данных,
Подход с отдельной базой данных, вероятно,
Лучший. (Действительно, хранение данных
требования могут заставить вас принять
модель с отдельной базой данных в любом случае. Если так,
это будет намного легче спроектировать
приложение таким образом из
начало, чем перейти к
Подход с использованием отдельной базы данных позже.)
Сколько параллельных конечных пользователей вы ожидаете от среднего арендатора?
Чем больше число, тем больше
присваивать более изолированный подход
будет соответствовать требованиям конечного пользователя.
Ожидаете ли вы предлагать какие-либо услуги с добавленной стоимостью на каждого арендатора, например
резервное копирование и восстановление для каждого клиента
возможность? Такие услуги проще
предложить через более изолированный
подход.
ОБНОВЛЕНИЕ: Подробнее об ожидаемом количестве арендаторов.
Ожидаемое количество арендаторов (10 тыс.) Должно исключать подход с несколькими базами данных для большинства, если не для всех сценариев. Я не думаю, что вам понравится идея поддерживать 10 000 экземпляров базы данных и создавать сотни новых каждый день.
По одному этому параметру похоже, что подход с общей базой данных является наиболее подходящим. Тот факт, что вы будете хранить только около 50 МБ на одного арендатора и что на него не будет надстроек, делает этот подход еще более уместным.
В статье MSDN, приведенной выше, упоминаются три шаблона безопасности, которые касаются соображений безопасности для подхода с общей базой данных:
Если вы уверены в мерах безопасности вашего приложения, вы сможете предложить своим клиентам Соглашение об уровне обслуживания , которое обеспечивает надежные гарантии безопасности данных. В вашем SLA, помимо гарантий, вы также можете описать меры, которые вы будете предпринимать, чтобы гарантировать, что данные не будут скомпрометированы.
ОБНОВЛЕНИЕ 2: Судя по всему, ребята из Microsoft переместили / создали новую статью на эту тему, исходная ссылка пропала, а вот новая: Шаблоны аренды многопользовательской базы данных SaaS (слава Шаю Кереру)