DynamoDB В конечном итоге непротиворечивые чтения против строго непротиворечивых чтений - PullRequest
0 голосов
/ 26 апреля 2018

Я недавно узнал о двух режимах чтения DynamoDB.Но мне не ясно, когда выбирать что.Кто-нибудь может объяснить компромиссы?

Ответы [ 2 ]

0 голосов
/ 26 апреля 2018

Помимо других ответов, в скором времени причина для этих режимов чтения:

Допустим, у вас есть таблица User в регионе eu-west-1.Без вашего ведома в фоновом режиме есть несколько дескрипторов зон доступности AWS.Например, реплицирует ваши данные в случае сбоя и т. Д. В основном есть копии ваших таблиц, и после того, как вы вставите таблицу, необходимо обновить несколько ресурсов.

Но теперь, когда вы хотите прочитать, может бытьвероятность того, что вы читаете из еще не обновленной таблицы, не зная об этом.Обновление динамодба обычно занимает менее секунды.Вот почему он называется eventually consistent.Это в конечном итоге будет согласовано в течение короткого периода времени:)

Когда принятие решения, знание этого рассуждения помогает мне понять и спроектировать мои варианты использования.

0 голосов
/ 26 апреля 2018

Как правило, если вам НУЖНО иметь последние значения, используйте полностью согласованное чтение .Вы получите гарантированное текущее значение.

Если ваше приложение в порядке с потенциально устаревшей информацией (просто секунды или меньше устарели), тогда используйте в конечном итоге непротиворечивые чтения .

Примеры полностью непротиворечивых:

  • Банковский баланс (Хотите узнать последнюю сумму)
  • Расположение локомотива в сети поездов (Нужна абсолютная уверенность, чтобы гарантировать безопасность)
  • Фондовая торговля (необходимо знать последнюю цену)

Варианты использования для в конечном итоге непротиворечивых чтений:

  • Количество друзей на Facebook (имеет ли значение, еслиеще один был добавлен в последние несколько секунд?)
  • Количество пассажиров, которые использовали тот или иной турникет за последние 5 минут (не важно, если его нет у нескольких человек)
  • Фондовое исследование (Не важно, выйдет ли он на несколько секунд)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...