Amazon DynamoDB - это база данных NoSQL. AWS предоставляет компонент-ускоритель для DynamDB, который называется DAX. В этой статье мы более подробно рассмотрим Amazon DynamoDB.

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

Особенности и преимущества

  • Тип базы данных NoSQL (нереляционная).
  • Быстро, высокодоступно и полностью управляемо.
  • Используется, когда данные изменчивы и могут изменяться.
  • Общие варианты использования включают социальные сети и веб-аналитику.
  • Масштабирование с помощью кнопки: это означает, что вы можете масштабировать БД в любое время без простоев.

Кроме того, DynamoDB - это веб-служба, которая использует HTTP через SSL (HTTPS) в качестве транспорта и JSON в качестве формата сериализации сообщений.

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

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

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

Межрегиональная репликация позволяет выполнять репликацию между регионами:

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

Компоненты DynamoDB

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

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

Атрибуты. Каждый элемент состоит из одного или нескольких атрибутов. Атрибут - это фундаментальный элемент данных, который не требует дальнейшей разбивки.

Первичный ключ и ключ сортировки

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

Ключ разделения и ключ сортировки. Этот тип ключа, который называется составным первичным ключом, состоит из двух атрибутов. Первый атрибут - это ключ раздела, а второй атрибут - ключ сортировки.

Читать модели

Предоставляет две модели чтения.

В конечном итоге последовательные чтения

Это модель чтения по умолчанию.

  • Вариант конечной согласованности максимизирует пропускную способность чтения (лучшая производительность чтения).
  • В конечном итоге согласованное чтение может не отражать результаты недавно завершенной записи.
  • Согласованность для всех копий достигается в течение 1 секунды.

Сильно последовательное чтение

  • Строго согласованное чтение возвращает результат, который отражает все записи, на которые был получен успешный ответ до чтения (более быстрая согласованность).

Amazon DynamoDB Accelerator (DAX)

Amazon DynamoDB Accelerator (DAX) - это полностью управляемый, высокодоступный кэш в памяти для DynamoDB, который обеспечивает повышение производительности до 10 раз - от миллисекунд до микросекунд - даже при миллионах запросов в секунду.