Одна база данных на экземпляр COSMOS или несколько баз данных в одном экземпляре COSMOS? - PullRequest
0 голосов
/ 20 сентября 2019

Мы новички в COSMOS и переносим наши многочисленные приложения в облако.Каковы будут плюсы и минусы, если у нас будет одна база данных на экземпляр COSMOS или все базы данных приложений в одном экземпляре COSMOS, будет ли это экономически эффективным?Потому что, если Microsoft выставляет счет за использование RU / s и хранилища, а не за количество запущенных экземпляров COSMOS, какая разница будет иметь одну базу данных в каждом экземпляре COSMOS?

Пример - Подход A: COSMOS Resource1> База данных1> Контейнер1 COSMOS Resource1> База данных2> Контейнер2 Подход B: COSMOS Resource1> База данных1> Контейнер1 COSMOS Resource2> База данных2> Контейнер2

Какой подход лучше?

1 Ответ

1 голос
/ 20 сентября 2019

Плюсы

  • База данных может иметь несколько контейнеров.Каждый контейнер может иметь свою собственную квоту RU, или вы можете сделать так, чтобы они делили RU, разместив квоту на уровне базы данных.Это может сэкономить ваши деньги за счет совместного использования RU на всем вашем наборе контейнеров без необходимости управлять стоимостью каждого контейнера.
  • Вы получаете информацию о простоте подключения, поскольку ваша конечная точка и ключ одинаковы для всех ваших контейнеров, так как они находятся в одной базе данных.
  • Добавление дополнительных преимуществ RU ко всем контейнерам, а не к одному.

Минусы

  • Если у вас действительно интенсивное чтение / запись приложения, которое занимает много RU, объединение контейнеров в рамках одной квоты предоставления может привести кдругие ваши приложения получают ошибки, поскольку у них не осталось RU для выполнения своих операций.
  • Кто-то получает ваш ключ и конечную точку, все ваши контейнеры открыты, так как они находятся в одной базе данных.Это может предоставить хакеру полную инвентаризацию данных вашей компании.
  • Вы не можете контролировать расходы до тонкости.Это означает, что если у вас есть контейнер, которому не нужно много RU, у этого контейнера может быть резерв на 400 RU, и он будет стоить вам всего 20 долларов или долларов, в то время как основная часть вашего бюджета будет направлена ​​на приложение, нуждающееся в RU.Разделение позволяет вам точно контролировать распределение / стоимость RU.

https://docs.microsoft.com/en-us/azure/cosmos-db/set-throughput

Дополнительные биты. Изменение подачи позволяет подключить функцию и т. Д.к событиям в космосе, и это позволит вам синхронизировать данные с внешней базой данных, такой как SQL Server, ElasticSearch и / или Redis.Я видел, что многие люди / компании используют эту бессерверную мощь для синхронизации ElasticSearch с очень небольшим кодом.

Убедитесь, что вы тщательно выбираете ключ раздела и никогда не выполняете операции без него.Иногда разница может превышать 100 единиц запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...