В попытке использовать Dynamodb для одного из проектов, я сомневаюсь в сильной модели согласованности dynamodb. Из часто задаваемых вопросов
Сильно согласованные чтения - в дополнение к возможной последовательности, Amazon DynamoDB также дает вам гибкость и контроль, чтобы запросить строго последовательное чтение, если этого требует приложение или элемент вашего приложения. Сильно согласованное чтение возвращает результат, который отражает все записи, которые получили успешный ответ до чтения.
Из приведенного выше определения я получаю, что сильное последовательное чтение вернет последнее значение записи.
Взяв пример: Давайте скажем, что Client1 выдает команду записи в Key K1 для обновления значения от V0 до V1. Через несколько миллисекунд Client2 выдает команду чтения для ключа K1, тогда в случае сильной согласованности V1 будет возвращаться всегда, однако в случае возможной согласованности V1 или V0 могут быть возвращены. Правильно ли я понимаю?
Если это так: Что делать, если операция записи вернула успех, но данные не обновлены во всех репликах, и мы выдаем строго согласованное чтение, как оно будет гарантировать, чтобы вернуть в этом случае последнее значение записи?
Следующая ссылка AWS DynamoDB читает после согласования записи - как это работает теоретически? пытается объяснить архитектуру, стоящую за этим, но не знаю, так ли это на самом деле? Следующий вопрос, который приходит мне на ум после прохождения этой ссылки, заключается в следующем: это DynamoDb на основе Single Master, многократной подчиненной архитектуры, где записи и сильные согласованные чтения проходят через главную реплику, а обычные чтения - через других.