Прочитайте свою собственную последовательность записей перед MongoDB 3.6 - PullRequest
0 голосов
/ 18 сентября 2018

Я читал документацию для mongdb и пытаюсь понять, что необходимо для согласованности «прочитайте свои собственные записи» до того, как были введены сеансы причинно-следственной согласованности в Mongo 3.6.

По данным этой страницы: https://docs.mongodb.com/manual/reference/read-concern-majority/#read-your-own-writes

До MongoDB 3.6 вы, должно быть, выполнили операцию записи с {w: «большинством»} записи с записью, а затем использовали «большинство» или «линеаризуемую» задачу чтения для операций чтения, чтобы гарантировать, что один поток может читать свои пишет.

Однако, в примере, который они предоставляют на той же странице выше (https://docs.mongodb.com/manual/reference/read-concern-majority/#example),, кажется, есть информация, которая не согласна с этим. В частности, у них есть диаграмма (которую я скопировал ниже):

Mongo DB Read Concern Example Diagram

На этой диаграмме в момент времени t3 запись подтверждается. После получения подтверждения записи, majority проблема чтения в момент времени t4 для любого из вторых ключей вернет старое значение, в отличие от первого утверждения, что «один поток может читать свои собственные записи», пока вы используете majority написать + прочитать проблемы.

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

Может ли кто-нибудь дать представление о:

а) Что означает эта документация, и

б) Как получить семантику «прочитай сам» - записать до причинных сессий 3.6?

Спасибо!

1 Ответ

0 голосов
/ 29 апреля 2019

Я нашел твой билет, когда собирался поднять точно такой же вопрос, как и твой. Я думаю, что это утверждение из документации MongoDB неверно. Двойное «большинство» без сеанса причинной непротиворечивости не может гарантировать семантику «прочитайте свои собственные записи». Насколько я понимаю, до версии 3.6 линеаризация чтения может обеспечить эту семантику большинством записи.

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