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

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

Сервис Amazon DynamoDB предназначен для выполнения высокопроизводительных приложений в масштабах Интернета, эффективную работу которых не в состоянии обеспечить традиционные реляционные базы данных. Благодаря более чем десятилетним инновационным инвестициям Amazon DynamoDB предлагает неограниченную масштабируемость, стабильную производительность в несколько миллисекунд и доступность до 99,999 %.

Чтобы узнать об актуальных новых функциях и возможностях, ознакомьтесь с уведомлениями о возможностях Amazon DynamoDB, из которых можно узнать о новых запусках.

Что такое Amazon DynamoDB?

Бессерверная производительность с неограниченной масштабируемостью

Пары «ключ‑значение» и документные модели данных

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

Бессерверная система с нулевым масштабированием

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

Транзакции ACID

Сервис Amazon DynamoDB предназначен для обслуживания критически важных рабочих нагрузок, включая поддержку ACID-транзакций (атомарность, непротиворечивость, изолированность и долговечность) в приложениях, требующих использования сложной бизнес-логики. Он обеспечивает встроенную поддержку транзакций на стороне сервера, благодаря чему разработчики могут удобно и без ошибок вносить изменения в большое число элементов в пределах одной или нескольких таблиц.

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

Активно-активная репликация с глобальными таблицами

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

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

Потоки Amazon DynamoDB как часть архитектуры, управляемой событиями

Потоки Amazon DynamoDB – это возможность сбора измененных данных. Каждый раз, когда приложение создает, обновляет или удаляет элементы в таблице, сервис Потоки Amazon DynamoDB записывает упорядоченную по времени последовательность изменений на уровне каждого элемента в режиме, близком к реальному времени. Это делает его идеальным для приложений с архитектурой, управляемой событиями, для использования этих изменений и принятия необходимых мер. Все изменения дедуплицируются и хранятся 24 часа.

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

Вторичные индексы

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

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

Безопасность и надежность

Amazon DynamoDB помогает защитить ваши данные с помощью шифрования и постоянно создает для этого их резервные копии.

Точный контроль доступа

В Amazon DynamoDB нет имени пользователя или пароля. Amazon DynamoDB использует Управление идентификацией и доступом AWS (IAM) для аутентификации, создания ресурсов и доступа к ним. Можно указать политики IAM, политики на основе ресурсов и условия для точной настройки уровней доступа, ограничивая чтение или запись для определенных элементов и атрибутов в таблице на основе идентификационных данных пользователя. Благодаря этому клиенты могут применять политики безопасности на уровне кода.

Шифрование при хранении

Amazon DynamoDB по умолчанию шифрует все хранимые клиентские данные. Шифрование хранимых данных повышает уровень их безопасности благодаря использованию ключей шифрования, которые хранятся в Сервисе управления ключами AWS (AWS KMS). С помощью SDK шифрования баз данных AWS можно выполнять шифрование на уровне атрибутов для дальнейшего усиления контроля доступа к данным в таблице. Amazon DynamoDB позволяет разрабатывать приложения с высоким уровнем безопасности, соответствующие жестким нормативным и законодательным требованиям в области шифрования.

Ключи шифрования предоставляют дополнительный уровень защиты данных, поскольку гарантируют их защиту от несанкционированного доступа к базовому хранилищу. Вы можете указать, следует ли Amazon DynamoDB использовать для шифрования пользовательских данных собственный ключ AWS (тип шифрования по умолчанию), управляемый ключ AWS или ключ, управляемый клиентом. Шифрование по умолчанию с использованием ключей KMS клиента AWS доступно без дополнительной платы.

Восстановление на момент времени

Восстановление на момент времени (PITR) помогает защитить ваши таблицы Amazon DynamoDB от случайной записи или удаления. PITR непрерывно создает резервные копии данных в таблицах Amazon DynamoDB, поэтому вы можете восстановить состояние таблицы на любой момент времени (с точностью до секунды) за последние 35 дней.

PITR не использует выделенные ресурсы и не влияет на производительность или доступность ваших приложений. Включить PITR или инициировать операции резервного копирования и восстановления можно одним щелчком мыши в Консоли управления AWS либо одним вызовом API.

Резервное копирование и восстановление по требованию

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

Частное сетевое подключение

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

Экономичность

Режимы предоставления ресурсов на операции чтения/записи

В Amazon DynamoDB доступны режимы предоставления ресурсов для каждой таблицы: по требованию и с распределением.

  •  Режим предоставления ресурсов по требованию подходит для менее предсказуемых рабочих нагрузок, когда вы не знаете, потребуется ли вам много ресурсов. В этом случае система автоматически регулирует выделяемые ресурсы, а вы платите только за то, что потребляете.
  • Если в таблице используется режим предоставления ресурсов с распределением, вам необходимо указать объем ресурсов для операций чтения и записи. Этот режим целесообразен, когда вы уверены, что все или почти все заявленные вами ресурсы будут использованы. 

Режим предоставления ресурсов по требованию

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

Класс таблиц Standard Infrequent Access (Standard-IA)

Для данных, к которым редко обращаются, можно использовать класс таблиц Amazon DynamoDB Standard-IA, который помогает снизить затраты на сервис Amazon DynamoDB до 60 %. Таблицы Standard-IA, уменьшающие стоимость хранения, предназначены для длительного хранения редко используемых данных, таких как журналы приложений, исторические игровые данные, старые публикации в социальных сетях и многое другое. Они обладают такой же доступностью, надежностью и производительностью, как и стандартные таблицы Amazon DynamoDB, которые являются стандартным и наиболее экономичным вариантом для большинства рабочих нагрузок.

Автомасштабирование для повышения экономической эффективности

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

  • Если трафик приложения возрастает, Amazon DynamoDB увеличивает пропускную способность в соответствии с нагрузкой.
  • Если трафик приложения уменьшается, Amazon DynamoDB сокращает ресурсы, чтобы вам не пришлось платить за неиспользуемые ресурсы.

Зарезервированная емкость

Зарезервированная емкость предоставляет вам возможность зарезервировать емкость базы данных на один или три года со значительной скидкой по сравнению с предоставленной емкостью для однорегионального чтения и записи в таблице Amazon DynamoDB Standard. Если ваше приложение обеспечивает предсказуемую пропускную способность чтения и записи, вы можете рассмотреть возможность резервирования емкости, что позволяет сэкономить до 54 % по сравнению со стандартными тарифами выделенной емкости на один год или до 77 % на трехлетний срок.

Уровень бесплатного пользования

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

Интеграция с сервисами AWS

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

Ускоритель Amazon DynamoDB (DAX) сокращает время ответа до нескольких микросекунд

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

Массовый импорт/экспорт из Простого сервиса хранения данных Amazon (S3)

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

Массовый импорт из S3 позволяет импортировать данные в любом масштабе, от мегабайтов до терабайт, используя поддерживаемые форматы, например CSV, Amazon DynamoDB JSON и Amazon Ion. Благодаря массовому импорту из S3 заказчики могут сэкономить до 66 % по сравнению с клиентской записью, использующей выделенную емкость.

Благодаря пакетному экспорту в S3 можно экспортировать данные из таблиц с включенным восстановлением на момент времени (PITR) в любой момент времени за последние 35 дней с точностью до секунды. После экспорта данных из Amazon DynamoDB в Amazon S3 есть возможность использовать другие сервисы AWS, например Amazon Athena, Amazon SageMaker, для анализа данных и извлечения полезной информации.

Улучшенная потоковая передача приложений с помощью потоков данных Kinesis для Amazon DynamoDB

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

С помощью Потоков данных Kinesis можно также использовать Данные Amazon Kinesis Firehose для автоматической доставки данных Amazon DynamoDB в другие сервисы AWS, такие как Amazon S3, Сервис Amazon OpenSearch и Amazon Redshift.

Отслеживание изменений с помощью триггеров

Интеграция Amazon DynamoDB с сервисом AWS Lambda позволяет использовать триггеры. С помощью триггеров можно автоматически запускать специальные функции, когда в таблице Amazon DynamoDB обнаруживаются изменения на уровне элемента. Триггеры позволяют создавать управляемые событиями приложения, реагирующие на изменения данных в таблицах Amazon DynamoDB. Функция Lambda может выполнять любые указанные вами действия, включая отправку оповещений и запуск рабочих процессов.

Мониторинг и диагностика производительности системы с помощью Amazon Cloudwatch

Чтобы легко отслеживать производительность базы данных, Amazon DynamoDB интегрируется с сервисом Amazon Cloudwatch, который собирает и обрабатывает необработанные данные о производительности базы данных. Amazon CloudWatch можно использовать для создания настраиваемых представлений и панелей мониторинга метрик, а также предупреждений для баз данных Amazon DynamoDB. Эта возможность мониторинга предлагается по умолчанию и предоставляется бесплатно. Вы также можете создавать предупреждения, которые автоматически отправляются вам на основе метрических показателей.

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

Вопросы и ответы

Для чего используется Amazon DynamoDB?

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

В чем преимущества Amazon DynamoDB?

Уникальные преимущества Amazon DynamoDB включают в себя проверенную, полностью управляемую бессерверную базу данных с масштабированием до нуля, которая обеспечивает производительность в несколько миллисекунд и доступность до 99,999 %. Благодаря стабильной производительности в условиях масштабирования Amazon DynamoDB также предлагает встроенные средства безопасности, долговечности и надежности, необходимые для глобальных приложений с самыми высокими требованиями.

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

Каковы основные преимущества использования Amazon DynamoDB?

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

Является ли Amazon DynamoDB бессерверным?

Да, Amazon DynamoDB работает без серверов. Вам не нужно управлять серверами, а следовательно выполнять такие задачи по управлению инфраструктурой, как выделение емкости и исправление ошибок. Кроме того, сервис Amazon DynamoDB не имеет версий и обновлений, а также предлагает обслуживание без простоев.

Соответствует ли Amazon DynamoDB требованиям ACID?

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

Есть ли в Amazon DynamoDB реплики чтения?

Amazon DynamoDB автоматически добавляет инстансы в соответствии с любым объемом трафика чтения, поэтому реплики чтения, обычно являющиеся концепцией реляционной базы данных, не требуются.

Масштабируется ли Amazon DynamoDB автоматически?

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

Насколько быстро работает сервис Amazon DynamoDB?

Время отклика Amazon DynamoDB составляет несколько миллисекунд, что позволяет стабильно обеспечивать такую производительность для самых требовательных приложений. Например, на Amazon Prime Day в 2022 году сервис Amazon DynamoDB надежно обрабатывал 105,2 миллиона запросов за секунду при триллионах вызовов API с производительностью в несколько миллисекунд.

Как настроить Amazon DynamoDB?

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

Изображение веб‑страницы
Перейти на страницу цен

Изучите варианты тарифов на Amazon DynamoDB.

Подробнее 
Изображение регистрации аккаунта
Зарегистрируйте бесплатный аккаунт

Получите мгновенный доступ к уровню бесплатного пользования AWS. 

Регистрация 
Изображение инструментов
Начать разработку в консоли

Начните разработку с помощью Amazon DynamoDB в Консоли управления AWS.

Вход