Я читал документацию для 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),, кажется, есть информация, которая не согласна с этим. В частности, у них есть диаграмма (которую я скопировал ниже):
На этой диаграмме в момент времени t3 запись подтверждается. После получения подтверждения записи, majority
проблема чтения в момент времени t4 для любого из вторых ключей вернет старое значение, в отличие от первого утверждения, что «один поток может читать свои собственные записи», пока вы используете majority
написать + прочитать проблемы.
Если бы заявление было изменено так, чтобы оно было «прочитано из первичного с большинством или линеаризуемым интересом», я думаю, что это стало бы правдой ... Но мне интересно, может быть, я что-то неправильно понимаю.
Может ли кто-нибудь дать представление о:
а) Что означает эта документация, и
б) Как получить семантику «прочитай сам» - записать до причинных сессий 3.6?
Спасибо!