Имеет ли CosmosDB согласованность с сессиями при заказе - PullRequest
0 голосов
/ 10 июля 2019

Из документации Microsoft Я не до конца понимаю, действительно ли CosmosDB, использующий согласованность сеансов, не пишет не по порядку.Следующая цитата создает впечатление, что она имеет те же гарантии, что и префикс cosistent:

Операции чтения гарантированно соответствуют префиксу непротиворечивому (при условии одного сеанса «записи»), ...

Хотя из примера с бейсболом, приведенного ниже, кажется, что читатель может получить совершенно случайный порядок, аналогичный возможной последовательности.Из других источников в Интернете я также не могу найти точного ответа, кроме изображений, показанных на портале Azure, которые, по-видимому, неявно указывают на тот же порядок, что и автор.

Ответы [ 2 ]

1 голос
/ 11 июля 2019

(я из команды Cosmos DB)

Данный клиент, использующий согласованность сеансов, будет видеть свои собственные записи по порядку, но видеть записи других клиентов с возможной согласованностью (при условии использования другого токена сеанса).

Мы собираемся обновить документы, чтобы сделать это более понятным.Новый текст будет выглядеть примерно так:

Сеанс: в рамках одного сеанса клиента операции чтения гарантированно будут соответствовать консистентному префиксу (при условии одного сеанса «писатель»), монотонному чтению, монотонному чтению, чтению-ваш-пишет, и пишет-следует-читает-гарантирует.Клиенты вне сеанса, выполняющие запись, увидят возможную согласованность.

1 голос
/ 11 июля 2019

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

Мои данные получены по этой ссылке :

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

Как сказано выше, окно устаревания зависит от вашей фактической рабочей нагрузки, если вы выбираете Уровень согласованности сеанса.Так что, если вы беспокоитесь о порядке чтения, я предлагаю вам использовать ограниченную устаревание или даже Strong Consistency Level.

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