Гид по технологиям

Создание таблицы Amazon DynamoDB (On-Demand)

• 6 min read • Базы данных • Обновлено 22 Nov 2025
Создание таблицы Amazon DynamoDB (On-Demand)
Создание таблицы Amazon DynamoDB (On-Demand)

Важно: прежде чем создавать ресурсы в AWS, убедитесь, что вы понимаете влияние выбранного региона и режима оплаты на стоимость. Удаляйте тестовые таблицы, чтобы избежать непредвиденных расходов.

Что такое Amazon DynamoDB — кратко

Amazon DynamoDB — это распределённая NoSQL база данных типа «ключ-значение» и документная база. Это полностью управляемый, мульти-региональный и мульти-мастеровый сервис с высокой устойчивостью. DynamoDB подходит для интернет‑масштабируемых приложений: встроены шифрование данных по умолчанию, резервное копирование и восстановление, а также интеграция с кэшем DAX для микросекундной задержки доступа. DynamoDB также может охватывать огромные объёмы трафика (в источнике указано более 10 триллионов запросов в день).

Краткое определение терминов:

  • Таблица — коллекция элементов.
  • Элемент — запись, состоящая из атрибутов и уникально идентифицируемая в таблице.
  • Атрибут — простая единица данных (поле).
  • Разделяющий ключ (partition key) — основной ключ из одного атрибута.
  • Разделяющий и сортировочный ключи (partition + sort key) — составной ключ из двух атрибутов.
  • DynamoDB Streams — необязательная функция для захвата событий изменения данных.

Основные компоненты DynamoDB

  1. Таблицы — контейнеры данных.
  2. Элементы — строки таблицы (называются items).
  3. Атрибуты — поля внутри элементов.
  4. Ключи — partition key или partition key + sort key.
  5. DynamoDB Streams — опция для интеграции с Lambda, репликацией и CDC.

Режимы оплаты и модель производительности

  • On‑Demand (по требованию): вы платите за фактические чтения и записи; не нужно заранее указывать пропускную способность.
  • Provisioned (выделённая ёмкость): вы указываете ожидаемое количество операций чтения/записи в секунду; полезно при предсказуемой нагрузке.

Совет: для экспериментов и неравномерного трафика режим On‑Demand удобнее; для производительных и стабильных рабочих нагрузок часто выгоднее Provisioned с авто‑скейлингом.

Что мы сделаем

  1. Войдём в AWS Management Console.
  2. Создадим таблицу DynamoDB в режиме On‑Demand.
  3. Добавим несколько элементов и выполним поиск.
  4. Удалим созданную таблицу.

Предварительные требования

  • Учетная запись AWS с правами на работу с DynamoDB (IAM-права: dynamodb:CreateTable, dynamodb:PutItem, dynamodb:DeleteTable, и доступ к консоли).
  • Браузер для доступа к AWS Management Console.

Введение: схема использования DynamoDB

Шаг 1 — Вход в AWS

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

Страница входа в AWS с полями для логина

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

Главная консоль AWS со списком сервисов

Шаг 2 — Поиск сервиса DynamoDB

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

Поиск сервиса DynamoDB в меню Services

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

Главная страница DynamoDB, кнопка Create table выделена

Шаг 3 — Создание таблицы (подробно)

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

Форма создания таблицы, поля Table name и Partition key заполнены

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

Опция On-Demand выбрана, кнопка создания таблицы

Таблица будет создана и доступна в списке таблиц.

Шаг 4 — Добавление элементов и поиск записи

  1. Перейдите в только что созданную таблицу в консоли.

Список таблиц, выбранная созданная таблица

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

Вкладка Items и кнопка Create item

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

Окно ввода данных для создания нового элемента

  1. Повторите для создания нескольких записей.

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

Фильтр поиска элементов по полю Name

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

Результат поиска по фильтру в Items

Шаг 5 — Удаление таблицы

Если таблица больше не нужна, её можно удалить через консоль:

  1. Выберите таблицу.
  2. Нажмите Delete Table.
  3. В подтверждающем диалоге введите слово Delete и подтвердите.

Подтверждение удаления таблицы, ввод слова Delete

Важно: Удаление таблицы необратимо и удалит все данные. Убедитесь, что у вас есть резервные копии, если данные нужны.

Мини‑методика: быстрая проверка перед созданием таблицы

  1. Проверка прав IAM для аккаунта.
  2. Выбор региона (совпадает с остальными сервисами приложения).
  3. Соглашение об именовании (префиксы тест/prod и теги).
  4. Решение по шифрованию, Streams и TTL.
  5. Тестовый запуск с 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)

  1. Создать таблицу в режиме On‑Demand с partition key = UserId.
  2. Добавить 10 тестовых элементов, проверить чтение и фильтрацию.
  3. Активировать резервное копирование (если нужно).
  4. Завершить тест и удалить таблицу: выбрать таблицу → 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 и лучших практик.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро