Арендатор становится слишком большим, переместить его в другой контейнер? - PullRequest
0 голосов
/ 04 апреля 2020

Предположим, я запустил платформу SaaS с Azure Cosmos DB в качестве моего бэкэнда. Я установил контейнер и использовал идентификатор клиента (GUID) в качестве ключа раздела. Все работает хорошо, пока мы не получим двух крупных клиентов. Система в целом и два крупных клиента, в частности, получили бы большую пользу, если бы мы могли переместить двух крупных клиентов в другой контейнер и использовать для них более детальные ключи разделов. Это немного обременяет нас на уровне приложений, но это выполнимо.

Как переместить весь «ключ раздела» в другой контейнер с более детальным ключом раздела? Это то, что мы можем сделать "на лету"? Нужно ли переводить этого арендатора в автономный режим и использовать какой-либо инструмент для переноса всех данных? Есть ли лучшая практика?

1 Ответ

1 голос
/ 04 апреля 2020

Так что нет встроенного способа сделать это, но есть путь вперед, который называется change feed . По сути, вы можете использовать ленту изменений для переноса всех данных от начала базы данных до последнего изменения. Вам потребуется реализовать фильтр, чтобы фильтровать только изменения в ключе раздела клиента, а также реализовать способ распределения данных этого владельца по нескольким разделам. Однако есть некоторые ограничения для изменения подачи.

Некоторые другие способы .

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