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 раз - от миллисекунд до микросекунд - даже при миллионах запросов в секунду.