#amazon-web-services #amazon-dynamodb
#amazon-web-services #amazon-dynamodb
Вопрос:
При включении dynamodb global table, если для одного и того же элемента выполняется две записи, но в таблице в каждом регионе разные атрибуты. Как выполняется синхронизация dynamodb между этими двумя таблицами?
Например, в regionA происходит обновление элемента:
{
a: 1
}
в то же время в той же таблице в RegionB есть другая запись с приведенными ниже изменениями:
{
b: 1
}
будет ли dynamodb global table sync объединять атрибуты в один:
{
a: 1,
b: 1
}
или один заменит другой?
Ответ №1:
В случае состояния гонки одно обновление будет принято, а другое будет отклонено. При использовании глобальных таблиц DynamoDB DynamoDB не может надежно устранять несоответствия из-за своего распределенного характера. Вы должны убедиться, что предотвратили или устранили возможные несоответствия в рамках вашего приложения.
Согласно документации:
Чтобы обеспечить конечную согласованность, в глобальных таблицах DynamoDB используется согласование результатов последней записи между одновременными обновлениями, при котором DynamoDB прилагает все усилия для определения последней записи. С помощью этого механизма разрешения конфликтов все реплики согласуются с последним обновлением и сходятся к состоянию, в котором все они имеют идентичные данные.
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/globaltables_HowItWorks.html