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

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

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

При использовании глобальных таблиц нет предварительных затрат или обязательств. Вы платите только за используемые ресурсы. Подробнее о настройке глобальных таблиц см. в Руководстве для разработчиков по Amazon DynamoDB. Дополнительную информацию о ценообразовании глобальных таблиц см. в разделе вариантов ценообразования Amazon DynamoDB по требованию и по распределению.

Как это работает

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

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

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

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

Схема принципа работы глобальных таблиц

Преимущества

Локальное чтение и запись, глобальный доступ к данным

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

Производительность

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

Простая настройка и эксплуатация

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

Доступность, надежность и отказоустойчивость на базе нескольких регионов

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

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

Непротиворечивость и разрешение конфликтов

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

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

Начало работы

Начните с преобразования существующих таблиц в глобальные или создайте новую глобальную таблицу с помощью консоли Amazon DynamoDB, AWS CLI или AWS CloudFormation. Если вы новичок в Amazon DynamoDB, посетите страницу Начало работы с DynamoDB. Прежде чем приступить к работе, ознакомьтесь с ценами на использование глобальных таблиц по запросу или на выделенные ресурсы в зависимости от потребностей вашего приложения.

      Вопросы и ответы

      Что такое глобальная таблица для Amazon DynamoDB?

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

      Что такое таблица-реплика для Amazon DynamoDB?

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

      Стоит ли рассчитывать на глобальные таблицы Amazon DynamoDB для реализации стратегии обеспечения непрерывности бизнеса?

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

      Как сделать таблицу Amazon DynamoDB глобальной?

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

      Каковы предварительные требования к глобальным таблицам Amazon DynamoDB?

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

      Уникальны ли имена таблиц Amazon DynamoDB во всем мире?

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

      В чем разница между таблицей Amazon DynamoDB и глобальной таблицей?

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

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

      Доступно ли восстановление на определенный момент времени в глобальных таблицах Amazon DynamoDB?

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

      Рекомендации

        Истории клиентов

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

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

        «Репликация данных в разных регионах – довольно сложная задача, и мы можем делать это с легкостью благодаря глобальным таблицам Amazon DynamoDB».

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

        Ознакомиться с примером использования »

        Disney+

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

        Смотреть видео »

        Подробнее о глобальных таблицах
        Подробнее о глобальных таблицах DynamoDB

        См. Руководство для разработчиков по Amazon DynamoDB.

        Подробнее 
        Зарегистрировать бесплатный аккаунт
        Зарегистрировать бесплатный аккаунт

        Получите мгновенный доступ к уровню бесплатного пользования AWS. 

        Регистрация 
        Начать разработку в консоли
        Начать разработку в консоли

        Создавайте глобальные таблицы DynamoDB в консоли DynamoDB.

        Приступить к разработке