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

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

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

Принцип работы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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