Ответ может быть несколько вариантов, и это зависит от вашего c вариантов использования арендатора.
Арендатор / Раздел является наименее дорогим с предельными затратами на ноль арендатора. Это отличный вариант для предоставления "бесплатного уровня" в вашем приложении, но вы также можете увеличить его до платного уровня для своих клиентов. Максимальный размер хранилища составляет 20 ГБ. С этой схемой вам нужно будет реализовать собственное управление ресурсами. Вам нужно будет убедиться, что клиенты не «перегреваются» и не потребляют пропускную способность и объем хранилища, которые резко отличаются от других пользователей. Однако, если вы создаете мультитенантное приложение, управление ресурсами - это то, что вы уже должны делать.
Арендатор / Контейнер обходится дороже на 400 RU / s в месяц (25 $ / месяц), что является минимальным пропускная способность для контейнера. Это идеально, если у вас есть очень крупные арендаторы, которым требуется изоляция от других на предыдущем уровне.
Арендатор / Учетная запись - та же предельная стоимость, что и Арендатор / Контейнер. Это полезно, если у вас есть клиенты, у которых есть требования GDPR, которые запрещают или требуют репликации в определенных c Azure регионах.
Обратите внимание, что я НЕ рекомендую арендатору / контейнеру использовать общую пропускную способность базы данных. Причина в том, что с этой схемой все контейнеры имеют одинаковую пропускную способность, которую вы получаете с Tenant / Partition, но производительность не предсказуема с общей пропускной способностью базы данных, поэтому это не лучший выбор. Кроме того, вы ограничены 25 контейнерами для каждой базы данных, что делает ее плохим выбором.
Наконец, для вашего приложения вам нужно будет внедрить механизм для миграции клиентов с одного уровня на другой. Вам также, конечно, потребуется какой-то механизм auth-n / auth-z. Для Cosmos DB вы можете по желанию использовать наших собственных пользователей и разрешения и использовать маркеры ресурсов для безопасного доступа к данным.
Мы провели презентацию об этом в прошлом году на BUILD с нашим клиентом Citrix, который создал собственное облачное предложение. поверх Azure с использованием Cosmos DB в качестве хранилища метаданных пользователя. Определенно стоит проверить и предоставит вам более подробную информацию и идеи, Важные мультитенантные приложения с Cosmos DB
PS: если вы создаете новый сервис на Cosmos DB, я рекомендую использовать наш основной (SQL) API, а не MongoDB. Это наш родной сервис, и вы получите лучшую производительность и характеристики. Наш MongoDB API - лучший выбор для клиентов, которые хотят перейти на новую версию и хотят получить полностью управляемый интерфейс MongoDB.
Надеюсь, это полезно.