Как CosmosDb взимает плату за RU за операции записи в среде с несколькими мастерами?

База данных с несколькими главными узлами с одним регионом: SDK сообщает ~ 10 RU для выполнения операции записи
База данных с несколькими мастерами с 5 регионами:: SDK сообщает ~ 46,86 RU для та же операция (~ 5x для включения репликации во все регионы. Имеет смысл)

Если у вас есть коллекция в размере 10 000 RU, предоставляет ли cosmos 10 000 RU для каждого региона? Документы microsoft предложили бы это, но тогда SDK сообщает о стоимости всего региона при записи в локальный регион, как указано выше, что кажется немного странным / сбивающим с толку? Кроме того, я не вижу других операций записи в других регионах, чтобы реплицировать записи в эти регионы.

введите здесь описание изображения

Вопрос: Оплачиваете ли вы стоимость 46RU в вашем локальном регионе записи или стоимость, сообщаемая SDK, по существу делится на количество регионов, которые у вас есть, причем каждый регион оплачивает стоимость? Итак, в приведенном выше сценарии с пятью регионами эта операция записи стоит 10RU в каждом регионе или разовая плата ~ 47 RU в локальной области записи?


person Joshua Hayes    schedule 25.12.2018    source источник


Ответы (1)


Каждый регион получает указанное выделение RU, поэтому, если вы создаете коллекцию 10K RU и имеете 5 регионов в своей среде с несколькими мастерами, вам будет доступно 10K x 5 = 50K RU (при оплате 50K RU).

Каждая операция имеет свою собственную плату за RU, поэтому, если запись происходит во всех 5 регионах, вы собираетесь использовать RU в каждом регионе (это не приводит к 5-кратному увеличению стоимости RU в одном регионе). Положительным моментом является то, что запись в одном регионе не влияет на доступный RU в другом регионе. Однако вы будете платить за емкость RU в каждом регионе (фактически, это множитель для количества регионов, которые вы укажете).

person David Makogon    schedule 26.12.2018
comment
Просто чтобы уточнить, если стоимость одного региона базы данных с несколькими мастерами составляет ~ 10RU, а та же операция, выполняемая на нескольких мастерах с 5 регионами, сообщается SDK, имеет ~ 50RU, в последней среде 50RU фактически распределяется по пяти регионы, участвующие в репликации? Таким образом, даже несмотря на то, что SDK сообщает о плате за 50RU, стоимость каждого региона составляет ~ 10RU (как если бы вы записывали данные в единую базу данных региона)? - person Joshua Hayes; 26.12.2018
comment
Правильно, в том смысле, что в каждом регионе должна выполняться одна и та же операция. Я не могу говорить о том, как SDK сообщает о стоимости RU при использовании конфигурации с несколькими регионами записи, но вам абсолютно необходимо платить за выделение RU для каждого региона (а также хранилище для каждого региона). Кроме того, есть одно отличие между несколькими областями записи и георепликацией (одна область записи, несколько областей чтения): стоимость RU выше при конфигурации нескольких областей записи (все это указано в страница цен с примерами, приведенными в FAQ). - person David Makogon; 26.12.2018
comment
К вашему сведению, я тестировал несколько областей записи через ядро ​​.net, и стоимость RU растет с каждой добавляемой областью записи; однако при использовании нескольких областей с одной записью стоимость RU не увеличивается из-за возвращаемого значения каждого вызова, хотя я знаю, что все еще использую RU в каждой дополнительной области чтения. Вот почему я сказал, что не могу однозначно говорить об общей стоимости RU, возвращаемой SDK (или Cosmos DB, через SDK или прямые вызовы REST). - person David Makogon; 26.12.2018
comment
Ага. Все это имеет смысл, и я несколько раз просматривал документацию Microsoft и страницу с ценами. У меня все еще возникают проблемы с определением, учитывается ли стоимость, сообщаемая SDK, в среде с несколькими главными регионами в каждом регионе или распределяется между ними. Глядя на активность на портале, портал не дает этого понять, если вы видите активность только в локальном регионе. Ваш ответ был довольно ясным и содержательным, и он частично ответил на мой вопрос, так что я собираюсь принять это. Спасибо. - person Joshua Hayes; 26.12.2018
comment
Спасибо. Это то, что я обнаружил, при добавлении дополнительных областей записи заявленная стоимость из SDK соответственно увеличивалась. Однако, как указано выше, мне не ясно, как возникает такая повышенная стоимость RU, когда сбор уже подготовлен во всех регионах. - person Joshua Hayes; 26.12.2018