Глобальные таблицы HAQM DynamoDB

Почему глобальные таблицы HAQM DynamoDB?

Глобальные таблицы HAQM DynamoDB – это полностью управляемая бессерверная многорегиональная и мультиактивная база данных. Глобальные таблицы обеспечивают доступность на уровне 99,999 %, повышенную отказоустойчивость приложений и устойчивость бизнеса. Поскольку глобальные таблицы автоматически реплицируют таблицы HAQM DynamoDB в заданные регионы AWS, вы можете достичь высокой производительности локального чтения и записи.

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

Для них теперь можно выбирать между высокой (НОВИНКА, предварительная версия) или потенциальной согласованностью. Высокая согласованность позволяет создавать приложения с нулевым целевым значением точки восстановления, которое также называют нулевой Целевой точкой восстановления (RPO). Также это гарантирует, что ваше приложение всегда читает последние данные.

Начать работу с глобальными таблицами очень просто, поскольку в них используются те же API-интерфейсы DynamoDB, что и в таблицах с одним регионом. При использовании глобальных таблиц нет предварительных затрат или обязательств. Вы платите только за используемые ресурсы. Глобальные таблицы можно настроить в Консоли управления AWS с помощью Интерфейса командной строки AWS (AWS CLI) или AWS CloudFormation. Дополнительные сведения см. в руководстве для разработчиков HAQM DynamoDB. Чтобы узнать о ценообразовании глобальных таблиц, ознакомьтесь с разделом вариантов ценообразования HAQM DynamoDB по требованию и по распределению.

Как работает сервис

Глобальная таблица DynamoDB состоит из нескольких таблиц-реплик. Каждая таблица-реплика существует в отдельном регионе, но все реплики имеют одинаковое имя и первичный ключ. При записи данных в любую таблицу-реплику DynamoDB автоматически реплицирует эти данные во все остальные реплики в глобальной таблице.

Предположим, что в вашем приложении есть большая клиентская база в трех географических регионах: на Восточном побережье США, в Канаде и в Западной Европе. Без глобальных таблиц вам пришлось бы создавать таблицу в каждом Регионе AWS и писать код для репликации изменений данных в каждой таблице в конкретном регионе.

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

Благодаря глобальным таблицам пользователи приложения получают доступ к данным с низкой задержкой независимо от того, где находятся. Если обработка заявки прервана в одном регионе, ваши клиенты по-прежнему могут получить доступ к таблицам-репликам в других регионах.

Как работает сервис

Преимущества глобальной таблицы HAQM DynamoDB

Мультиактивная многорегиональная репликация гарантирует, что обновления, выполненные для таблицы-реплики в одном регионе, будут реплицированы в такие таблицы в других регионах. Репликация между таблицами-репликами в разных регионах в конечном итоге становится стабильной. Это означает, что локальные операции чтения и записи в таблицы-реплики в том же регионе, что и приложение, могут достичь высокой согласованности. Однако чтение элементов, содержащихся в других таблицах-репликах в регионе, в конечном итоге будет последовательным.

Любые изменения, внесенные в любой элемент любой таблицы-реплики, реплицируются во всех копиях этой глобальной таблицы. Новый элемент глобальной таблицы обычно копируется во все реплики в течение секунды.  В каждой реплике глобальной таблицы хранится один и тот же набор элементов данных. HAQM DynamoDB не поддерживает частичную репликацию элементов. Если приложения обновляют один и тот же элемент в разных регионах примерно в одно и то же время, могут возникнуть конфликты.

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

Глобальные таблицы устраняют трудности и операционные нагрузки, связанные с развертыванием мультиактивной многорегиональной репликации в HAQM DynamoDB и управлением ею. Выберите регионы, в которых нужны данные, а DynamoDB возьмет на себя все остальное. Приложения получают доступ к глобальным таблицам через существующие API и адреса DynamoDB.

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

Глобальные таблицы рассчитаны на доступность на уровне 99,999 %. Если один из регионов становится изолированным или в нем наблюдается снижение производительности, ваше приложение может перенаправлять данные в другой регион и выполнять чтение и запись в другой таблице-реплике. Вы можете настроить собственную логику перенаправления запросов в другие регионы. 

К тому же, HAQM DynamoDB отслеживает все записи, которые были созданы, но еще не были скопированы во все таблицы-реплики. Когда регион восстанавливает свою работу, HAQM DynamoDB переносит все необработанные записи из этого региона в таблицы-реплики в других регионах, и наоборот.

Темы страниц

Общие вопросы

Общие вопросы

Открыть все

Глобальная таблица – это набор из одной или нескольких таблиц-реплик, принадлежащих одному аккаунту AWS. В одной глобальной таблице HAQM DynamoDB может быть только одна таблица-реплика на каждый регион AWS.

Таблица-реплика – это одна таблица DynamoDB. Каждая таблица-реплика хранит один и тот же набор элементов данных, имеет одно и то же название таблицы и одну и ту же схему первичного ключа. Когда какое-то приложение записывает данные в таблицы-реплики в одном регионе, HAQM DynamoDB автоматически переносит эту запись в такие таблицы в других регионах AWS.

Да, глобальные таблицы HAQM Dynamo укрепляют непрерывность бизнеса, повышая отказоустойчивость приложений и обеспечивая высокую согласованность в одном регионе. Поскольку глобальные таблицы работают в мультиактивном режиме, приложение может выполнять операции чтения и записи в любой таблице-реплике. В редких случаях незапланированного события в регионе, приложение может быть перенаправлено на другую реплику.

С помощью этого пошагового руководства можно создать глобальную таблицу в консоли HAQM DynamoDB, Интерфейсе командной строки AWS (CLI) или AWS CloudFormation.

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

Все таблицы-реплики в глобальной таблице HAQM DynamoDB должны иметь одно и то же имя.

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

Напротив, глобальная таблица HAQM DynamoDB представляет собой набор из одной или нескольких таблиц-реплик, принадлежащих одному аккаунту AWS. Каждая таблица-реплика структурно аналогична обычной таблице HAQM DynamoDB.

Да, можно включить восстановление на определенный момент времени для каждой реплики глобальной таблицы.

  • Zoom

    Когда началась пандемия COVID-19, появился огромный спрос на наши голосовые и видео-сервисы. В начале 2020 года мы увидели беспрецедентный рост показателей с 10 до 300 миллионов ежедневных участников встреч как среди новых, так и существующих пользователей, которым понадобилась виртуальная связь. Мы смогли справиться с этим всплеском со стороны сервера с помощью HAQM DynamoDB для Zoom Meetings. Использование глобальных таблиц DynamoDB в сочетании с режимом по требованию позволило масштабироваться почти неограниченно и не испытывать проблем с производительностью, даже несмотря на внезапный рост числа пользователей.

    Ясин Мохаммед, технический менеджер, облачные процессы в Zoom Video Communications, Inc.
  • Disney

    Disney+ использует HAQM DynamoDB для приема контента, метаданных и миллиардов действий пользователей ежедневно, что позволяет клиентам добавлять контент в свои списки просмотра, начинать просмотр и продолжить его на другом устройстве или давать рекомендации относительно того, что посмотреть дальше.

    Миллиарды закладок ежедневно загружаются через HAQM Kinesis и в HAQM DynamoDB.

    Attilio Giue, директор по поиску контента в Disney+
    Читать пресс‑релиз »
  • Snap Inc.

    Компания Snap Inc. значительно сэкономила на ежегодных затратах на инфраструктуру и создала быструю и надежную инфраструктуру для приложения обмена мультимедийными сообщениями Snapchat с помощью HAQM DynamoDB.

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

    Сарал Джейн, директор по проектированию и руководитель отдела инфраструктуры, Snap Inc.
    Ознакомиться с примером использования »