Можно ли запросить более сильный уровень согласованности для запроса, чем уровень согласованности контейнера / учетной записи по умолчанию? - PullRequest
0 голосов
/ 21 апреля 2019

Я посмотрел в публичной документации по этому поводу, но, похоже, в этом есть некоторая путаница, отсюда и вопрос.Я начну с описания информации, которую я нашел, а затем представлю вопрос.Пожалуйста, не просто ссылайтесь на документы, не понимая, что именно я спрашиваю.

Глядя на это FAQ :

Может ли согласованность запроса на чтениеизменить уровень? ... Ключевая идея состоит в том, что вы не можете установить уровень согласованности запроса выше, чем параметр для таблицы.Например, вы не можете установить уровень согласованности для таблицы на «Возможный» и уровень согласованности запроса на «Сильный»....

Однако это говорит только об уровне согласованности для чтения.Возможно ли иметь более сильный уровень согласованности для записей на уровне запроса?

Также, если вы посмотрите на doc об отмене уровней согласованности, в нем не упоминается никаких ограничений, в которыхНаправление вы можете переопределить последовательность.Похоже, это указывает на то, что вы можете двигаться к более сильной или более слабой согласованности на уровне запроса.

Это добавляет путаницы.Также обратите внимание, что раздел часто задаваемых вопросов (первая ссылка выше), на который я ссылаюсь, специфичен для API таблиц, поэтому также может быть, что API таблиц имеет другие возможности в отношении согласованности уровня запросов, чем другие API.Тем не менее, было бы неплохо получить четкое объяснение по этому поводу.

Вопросы

  • Можно ли иметь более сильную согласованность на уровне запросов для чтения?Меняются ли возможности с API?
  • Возможно ли иметь более сильную согласованность на уровне запросов для записи?Меняются ли возможности с API?

1 Ответ

1 голос
/ 16 мая 2019

Я недавно пытался выяснить эти же вопросы. Но я считаю, что ответ на все четыре вопроса нет . Это приходит из ПМ на UserVoice

Для поддержки гарантий согласованности данных службы DocumentDB уровни согласованности могут быть ослаблены только на стороне клиента.

При чтении можно выбрать более низкий уровень согласованности и получить связанные с этим преимущества производительности (задержки). Например, если для учетной записи настроена строгая согласованность, по умолчанию чтение выполняется из кворума реплик. Определенный клиент может выбрать чтение только с одного клиента (с большей задержкой) за счет потенциального получения устаревшего чтения.

При записи, например, для поддержки строгой согласованности DocumentDB должен гарантировать, что каждая запись фиксируется в большинстве реплик, прежде чем она будет подтверждена клиентом. Поведение записи не может быть изменено, поскольку другим клиентам может потребоваться поведение строгой согласованности по умолчанию.

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