Создание таблицы Amazon DynamoDB (On-Demand)
Важно: прежде чем создавать ресурсы в AWS, убедитесь, что вы понимаете влияние выбранного региона и режима оплаты на стоимость. Удаляйте тестовые таблицы, чтобы избежать непредвиденных расходов.
Что такое Amazon DynamoDB — кратко
Amazon DynamoDB — это распределённая NoSQL база данных типа «ключ-значение» и документная база. Это полностью управляемый, мульти-региональный и мульти-мастеровый сервис с высокой устойчивостью. DynamoDB подходит для интернет‑масштабируемых приложений: встроены шифрование данных по умолчанию, резервное копирование и восстановление, а также интеграция с кэшем DAX для микросекундной задержки доступа. DynamoDB также может охватывать огромные объёмы трафика (в источнике указано более 10 триллионов запросов в день).
Краткое определение терминов:
- Таблица — коллекция элементов.
- Элемент — запись, состоящая из атрибутов и уникально идентифицируемая в таблице.
- Атрибут — простая единица данных (поле).
- Разделяющий ключ (partition key) — основной ключ из одного атрибута.
- Разделяющий и сортировочный ключи (partition + sort key) — составной ключ из двух атрибутов.
- DynamoDB Streams — необязательная функция для захвата событий изменения данных.
Основные компоненты DynamoDB
- Таблицы — контейнеры данных.
- Элементы — строки таблицы (называются items).
- Атрибуты — поля внутри элементов.
- Ключи — partition key или partition key + sort key.
- DynamoDB Streams — опция для интеграции с Lambda, репликацией и CDC.
Режимы оплаты и модель производительности
- On‑Demand (по требованию): вы платите за фактические чтения и записи; не нужно заранее указывать пропускную способность.
- Provisioned (выделённая ёмкость): вы указываете ожидаемое количество операций чтения/записи в секунду; полезно при предсказуемой нагрузке.
Совет: для экспериментов и неравномерного трафика режим On‑Demand удобнее; для производительных и стабильных рабочих нагрузок часто выгоднее Provisioned с авто‑скейлингом.
Что мы сделаем
- Войдём в AWS Management Console.
- Создадим таблицу DynamoDB в режиме On‑Demand.
- Добавим несколько элементов и выполним поиск.
- Удалим созданную таблицу.
Предварительные требования
- Учетная запись AWS с правами на работу с DynamoDB (IAM-права: dynamodb:CreateTable, dynamodb:PutItem, dynamodb:DeleteTable, и доступ к консоли).
- Браузер для доступа к AWS Management Console.

Шаг 1 — Вход в AWS
Перейдите на страницу входа в AWS и аутентифицируйтесь своей учётной записью. После успешного входа вы увидите основную консоль AWS с перечнем сервисов.

После входа отображается главная консоль со списком сервисов.

Шаг 2 — Поиск сервиса DynamoDB
Нажмите «Services» (Сервисы) в левом верхнем углу и выполните поиск по DynamoDB. Откройте страницу Amazon DynamoDB.

На странице DynamoDB нажмите кнопку «Create table» (Создать таблицу).

Шаг 3 — Создание таблицы (подробно)
- В поле Table name введите имя таблицы по соглашению вашей команды (например, users-test).
- В поле Partition key укажите имя атрибута ключа (например, UserId) и выберите тип (String, Number или Binary).
- Снимите галочку «Use default settings», чтобы выбрать режим On‑Demand вручную.
- В разделе Capacity mode выберите On‑Demand.
- Проверьте остальные настройки: шифрование, теги, TTL и Streams (включите только если требуется).
- Нажмите Create table.

Выбран режим On‑Demand; нажмите Create table для создания.

Таблица будет создана и доступна в списке таблиц.
Шаг 4 — Добавление элементов и поиск записи
- Перейдите в только что созданную таблицу в консоли.

- Откройте вкладку Items и нажмите Create item.

- В окне редактирования укажите атрибуты элемента, например Name: “Ivan Petrov” и другие поля по схеме.

Повторите для создания нескольких записей.
Для поиска элемента: во вкладке Items используйте фильтр. Добавьте фильтр по атрибуту Name и введите значение для поиска.

- Если условие совпадает, консоль отобразит соответствующие элементы.

Шаг 5 — Удаление таблицы
Если таблица больше не нужна, её можно удалить через консоль:
- Выберите таблицу.
- Нажмите Delete Table.
- В подтверждающем диалоге введите слово Delete и подтвердите.

Важно: Удаление таблицы необратимо и удалит все данные. Убедитесь, что у вас есть резервные копии, если данные нужны.
Мини‑методика: быстрая проверка перед созданием таблицы
- Проверка прав IAM для аккаунта.
- Выбор региона (совпадает с остальными сервисами приложения).
- Соглашение об именовании (префиксы тест/prod и теги).
- Решение по шифрованию, Streams и TTL.
- Тестовый запуск с On‑Demand и базовая нагрузка для валидации.
Роль‑ориентированные чек‑листы
Developer:
- Убедиться, что ключи соответствуют модели доступа приложения.
- Добавить тестовые элементы и проверить чтение/запись.
DBA / Data Engineer:
- Настроить TTL и резервное копирование при необходимости.
- Оценить возможности экспорта/импорта и интеграцию с Kinesis/Lambda.
DevOps / SRE:
- Проверить IAM-политики и мониторинг (CloudWatch метрики).
- Настроить оповещения на ошибки и рост ошибок throttling.
Product Owner:
- Подтвердить требования к задержке и объёму данных.
- Утвердить стратегию резервного копирования и восстановления.
Альтернативные подходы и когда они лучше
- Если нужна реляционная модель и сложные запросы JOIN — рассмотрите Amazon RDS или Aurora.
- Если требуется сверхнизкая латентность для часто читаемых объектов — используйте DAX (DynamoDB Accelerator) или Amazon ElastiCache для кэширования.
- Для событийной обработки изменений включите DynamoDB Streams и привяжите AWS Lambda.
Ментальные модели и эмпирические правила
- Думайте о partition key как о «шарде» — равномерное распределение ключей снижает «горячие» партиции.
- Используйте составной ключ (partition + sort) для моделирования 1‑ко‑многим отношений без вторичных индексов.
- Вторичные индексы (GSI/LSI) полезны для альтернативных шаблонов запросов, но влияют на стоимость и сложность обновлений.
Проверочные критерии (Критерии приёмки)
- Таблица создана в выбранном регионе и видна в консоли.
- Вставка элементов через консоль проходит успешно и элементы отображаются в Items.
- Поиск по указанному атрибуту возвращает ожидаемую запись.
- Таблица успешно удаляется, подтверждение удаления проходит, а ресурс исчезает из списка.
Пример оперативного плейбука (SOP)
- Создать таблицу в режиме On‑Demand с partition key = UserId.
- Добавить 10 тестовых элементов, проверить чтение и фильтрацию.
- Активировать резервное копирование (если нужно).
- Завершить тест и удалить таблицу: выбрать таблицу → Delete Table → ввести Delete → подтвердить.
Decision flowchart: выбор режима ёмкости
flowchart TD
A[Нужна ли гибкая оплата и непредсказуемая нагрузка?] -->|Да| B[On-Demand]
A -->|Нет| C[Provisioned]
C --> D{Нужен ли автоскейлинг?}
D -->|Да| E[Provisioned + Auto Scaling]
D -->|Нет| F[Provisioned 'фикс.']Практические советы по безопасности и стоимости
- Всегда используйте шифрование данных по умолчанию и минимально необходимые IAM‑права.
- Тестируйте на On‑Demand, но мониторьте расходы: при высокой и стабильной нагрузке Provisioned с авто‑масштабированием может снизить затраты.
- Удаляйте тестовые таблицы и используйте теги для учёта расходов.
Заключение
В этой пошаговой инструкции вы создали таблицу DynamoDB в режиме On‑Demand через консоль AWS, добавили и нашли записи, затем удалили таблицу. DynamoDB хорошо подходит для масштабируемых приложений с высокими требованиями к отказоустойчивости и производительности. Выбор между On‑Demand и Provisioned зависит от предсказуемости нагрузки и бюджета.
Ключевые рекомендации:
- Для экспериментов используйте On‑Demand.
- Для производственных нагрузок оцените Provisioned с авто‑скейлингом.
- Включайте только необходимые опции (Streams, TTL, резервное копирование).
Дополнительные ресурсы: посетите официальную документацию AWS для подробных сценариев использования, примеров SDK и лучших практик.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента