Перед использованием DynamoDB вы должны ознакомиться с его основными компонентами и экосистемой. В экосистеме DynamoDB вы работаете с таблицами, атрибутами и элементами. Таблица содержит наборы элементов, а элементы содержат наборы атрибутов. Атрибут — это фундаментальный элемент данных, не требующий дальнейшей декомпозиции, т. Е. Поле.
Основной ключ
Первичные ключи служат средством уникальной идентификации элементов таблицы, а вторичные индексы обеспечивают гибкость запросов. DynamoDB осуществляет потоковую запись событий, изменяя данные таблицы.
Создание таблицы требует не только задания имени, но и первичного ключа; который идентифицирует элементы таблицы. Нет двух предметов, которые разделяют ключ. DynamoDB использует два типа первичных ключей —
-
Ключ раздела — этот простой первичный ключ состоит из одного атрибута, называемого «ключом раздела». Внутри DynamoDB использует значение ключа в качестве входных данных для хэш-функции для определения хранилища.
-
Ключ раздела и ключ сортировки — этот ключ, известный как «составной первичный ключ», состоит из двух атрибутов.
-
Ключ раздела и
-
Ключ сортировки.
DynamoDB применяет первый атрибут к хеш-функции и сохраняет элементы с одним и тем же ключом разделения; с их порядком, определенным ключом сортировки. Элементы могут разделять ключи разделов, но не сортировать ключи.
-
Ключ раздела — этот простой первичный ключ состоит из одного атрибута, называемого «ключом раздела». Внутри DynamoDB использует значение ключа в качестве входных данных для хэш-функции для определения хранилища.
Ключ раздела и ключ сортировки — этот ключ, известный как «составной первичный ключ», состоит из двух атрибутов.
Ключ раздела и
Ключ сортировки.
DynamoDB применяет первый атрибут к хеш-функции и сохраняет элементы с одним и тем же ключом разделения; с их порядком, определенным ключом сортировки. Элементы могут разделять ключи разделов, но не сортировать ключи.
Атрибуты первичного ключа допускают только скалярные (одиночные) значения; и строковые, числовые или двоичные типы данных. Неключевые атрибуты не имеют этих ограничений.
Вторичные индексы
Эти индексы позволяют запрашивать данные таблицы с помощью альтернативного ключа. Хотя DynamoDB не заставляет их использовать, они оптимизируют запросы.
DynamoDB использует два типа вторичных индексов —
-
Глобальный вторичный индекс — этот индекс обладает ключами секционирования и сортировки, которые могут отличаться от ключей таблицы.
-
Локальный вторичный индекс — этот индекс имеет ключ раздела, идентичный таблице, однако его ключ сортировки отличается.
Глобальный вторичный индекс — этот индекс обладает ключами секционирования и сортировки, которые могут отличаться от ключей таблицы.
Локальный вторичный индекс — этот индекс имеет ключ раздела, идентичный таблице, однако его ключ сортировки отличается.
API
Операции API, предлагаемые DynamoDB, включают в себя операции плоскости управления, плоскости данных (например, создание, чтение, обновление и удаление) и потоков. В операциях плоскости управления вы создаете и управляете таблицами с помощью следующих инструментов:
- CreateTable
- DescribeTable
- ListTables
- UpdateTable
- DeleteTable
В плоскости данных вы выполняете операции CRUD с помощью следующих инструментов:
Создайте | Читать | Обновить | удалять |
---|---|---|---|
PutItem BatchWriteItem |
GetItem BatchGetItem запрос сканирование |
UpdateItem |
Удалить пункт BatchWriteItem |
PutItem
BatchWriteItem
GetItem
BatchGetItem
запрос
сканирование
Удалить пункт
BatchWriteItem
Потоковые операции управляют таблицей потоков. Вы можете просмотреть следующие инструменты потока —
- ListStreams
- DescribeStream
- GetShardIterator
- GetRecords
Предоставленная пропускная способность
При создании таблицы вы указываете выделенную пропускную способность, которая резервирует ресурсы для чтения и записи. Вы используете единицы мощности для измерения и установки пропускной способности.
Когда приложения превышают установленную пропускную способность, запросы не выполняются. Консоль DynamoDB GUI позволяет отслеживать установленную и используемую пропускную способность для лучшей и динамической подготовки.
Последовательность чтения
DynamoDB использует в конечном итоге согласованные и строго согласованные операции чтения для поддержки потребностей динамических приложений. В конечном итоге согласованные чтения не всегда доставляют текущие данные.
Строго согласованные чтения всегда доставляют текущие данные (за исключением отказа оборудования или проблем с сетью). В конечном итоге непротиворечивые чтения служат настройкой по умолчанию, для изменения которой требуется значение true в параметре ConsistentRead .
Перегородки
DynamoDB использует разделы для хранения данных. Эти распределения памяти для таблиц имеют поддержку SSD и автоматически реплицируются по зонам. DynamoDB управляет всеми задачами раздела, не требуя участия пользователя.
При создании таблицы таблица переходит в состояние CREATING, в котором выделяются разделы. Когда он достигает состояния ACTIVE, вы можете выполнять операции. Система изменяет разделы, когда ее емкость достигает максимума или когда вы меняете пропускную способность.