Как работает аннулирование в мультирегионе AWS DynamoDB DAX - PullRequest
2 голосов
/ 11 марта 2019

Мы используем глобальные таблицы DynamoDB и планируем использовать DAX на вершине DynamoDB для включения кэширования.Но я не вижу упоминания о том, как аннулирование DAX будет происходить при настройке нескольких регионов.

Например, скажем, есть 2 кластера, один в нас-запад-2 и один в нас-восток-2.Если мы обновим что-то в us-east-2 с помощью клиента DAX, его кэш будет обновлен, но при репликации данных в us-west-2, будет ли глобальный кэш обновлять таблицы в us-west-2?Я не вижу упоминаний об этом в документации DynamoDB .

Ответы [ 2 ]

1 голос
/ 11 марта 2019

Кэш DAX не будет обновлен .Глобальные таблицы будут реплицировать данные в других регионах.Тем не менее, это не будет обновлять кэш.Даже query cache и item cache являются независимыми.

DAX не обновляет наборы результатов в кеше запросов самыми последними данными из DynamoDB.Каждый набор результатов в кэше запросов является текущим на момент выполнения операции Query или Scan.Таким образом, результаты запроса Чарли не отражают его операцию PutItem.Это будет иметь место до тех пор, пока DAX не вытеснит набор результатов из кэша запросов.

Запись через политику: -

Кэш элементов DAX реализуетполитика сквозной записи (см. «Как пишет процесс DAX»).Когда вы пишете элемент, DAX гарантирует, что кэшированный элемент синхронизируется с элементом, как он существует в DynamoDB.Это полезно для приложений, которым необходимо перечитать элемент сразу после его написания.Однако, если другие приложения пишут непосредственно в таблицу DynamoDB, элемент в кэше элементов DAX больше не будет синхронизироваться с DynamoDB.

Согласованность DAX

В приведенном выше утверждении вы можете рассматривать other application слово как global table репликацию.DAX не будет знать о репликации, выполненной для глобальной таблицы.

1 голос
/ 11 марта 2019

В это время кэш DAX во второй области не будет знать о реплицированной записи GT.На данный момент ваша лучшая альтернатива - поддерживать более низкий TTL на DAX в обоих регионах, чтобы он чаще выбирал новейшую версию.

...