aws dynamodb что это
Быстрый и гибкий сервис базы данных NoSQL для производительности с задержкой в считаные миллисекунды в любом масштабе
и до 200 млн запросов на чтение / запись в месяц в рамках уровня бесплатного пользования AWS
Создавайте приложения со стабильной производительностью и задержкой не более одной миллисекунды, почти неограниченными пропускной способностью и объемом памяти, а также с автоматической репликацией в нескольких регионах.
Защитите данные с помощью шифрования в состоянии покоя, автоматического резервного копирования и восстановления и гарантированной надежности благодаря SLA с доступностью до 99,999 %.
Сосредоточьтесь на внедрении инноваций и оптимизируйте затраты с помощью полностью управляемой бессерверной базы данных, которая автоматически масштабируется в соответствии с потребностями.
Выполняйте интеграцию с сервисами AWS, чтобы получить от данных больше. Используйте встроенные инструменты, чтобы выполнять аналитику, извлекать полезную информацию и мониторить тенденции трафика.
Как это работает
Примеры использования
Разработка программных приложений
Создавайте приложения в масштабе Интернета с поддержкой метаданных пользовательского контента и кэша, требующих параллельного подключения миллионов пользователей и отправки миллионов запросов в секунду.
Создание хранилищ для мультимедийных метаданных
Увеличьте пропускную способность и возможности параллельного запуска рабочих нагрузок мультимедиа и сферы развлечений, таких как потоковая передача видео в реальном времени и интерактивный контент, а также обеспечьте низкую задержку благодаря репликации в нескольких регионах AWS.
Обеспечьте бесперебойную розничную торговлю
Используйте проектные шаблоны для развертывания корзин интернет-магазинов, сервисов рабочих процессов, отслеживания запасов и ведения профилей клиентов. DynamoDB поддерживает события с высоким трафиком и в большом масштабе и может обрабатывать миллионы запросов в секунду.
Масштабируйте игровые платформы
Сконцентрируйтесь на внедрении инноваций и не испытывайте операционные издержки. Создавайте собственную игровую платформу с данными игроков, историей игровых сеансов и таблицами лидеров для миллионов одновременных пользователей.
Цены на Amazon DynamoDB
При использовании сервиса DynamoDB плата взимается за чтение, запись и хранение данных в таблицах DynamoDB, а также за любые дополнительные функции, которые вы включите. DynamoDB поддерживает два режима предоставления ресурсов, которым соответствуют определенные схемы выставления счетов за обработку операций чтения и записи в ваших таблицах: по запросу и с подготовкой. Нажмите следующие ссылки, чтобы узнать больше о вариантах выставления счетов для каждого режима предоставления ресурсов.
Цены за режим предоставления ресурсов по запросу
Если используется режим предоставления ресурсов по запросу, DynamoDB начисляет плату за операции считывания и записи данных, которые ваше приложение выполняет с вашими таблицами. Нет необходимости задавать ожидаемые показатели пропускной способности приложения на чтение и запись, поскольку DynamoDB автоматически подготавливает ресурсы для выполнения ваших рабочих нагрузок по мере роста и уменьшения.
Предоставление ресурсов по требованию подойдет вам, если вы:
Цены за режим предоставления выделенных ресурсов
Если вы работаете в режиме предоставления выделенных ресурсов, необходимо указать желаемое число операций чтения и записи в секунду для своего приложения. Кроме того, можно использовать функцию Auto Scaling для автоматической регулировки емкости таблицы с учетом заданного коэффициента использования. Тем самым вы гарантируете производительность приложения и сможете сократить затраты.
Режим предоставления выделенных ресурсов подойдет вам, если вы:
Вопросы и ответы по Amazon DynamoDB
Что такое DynamoDB?
Вопрос: Что такое Amazon DynamoDB?
DynamoDB – это быстрый и гибкий сервис для создания нереляционных баз данных любого масштаба. DynamoDB дает клиентам возможность переложить на AWS административную нагрузку, связанную с управлением распределенными базами данных и их масштабированием, а значит, избавиться от необходимости приобретать оборудование, настраивать и конфигурировать его, а также решать вопросы репликации, обновления ПО, планирования ресурсов для поддержания необходимой пропускной способности и масштабирования кластеров.
Вопрос: Какие виды управления берет на себя DynamoDB?
DynamoDB позволяет решить основные проблемы при масштабировании баз данных: проблему управления ПО баз данных и выделения аппаратного обеспечения, необходимого для его работы. Теперь развертывать нереляционные базы данных можно за считаные минуты. Сервис DynamoDB автоматически масштабирует пропускную способность для соответствия текущей рабочей нагрузке и способен многократно разбивать данные по мере расширения таблиц. DynamoDB также выполняет синхронную репликацию данных в трех ЦОД региона AWS, обеспечивая высокую доступность и сохранность данных.
Вопрос: Какая модель непротиворечивости используется в DynamoDB?
При чтении данных из DynamoDB можно указать модель непротиворечивости чтения: потенциально непротиворечивое или строго непротиворечивое.
Начало работы
Вопрос: Какие функциональные возможности запросов поддерживает DynamoDB?
DynamoDB поддерживает операции GET / PUT с использованием заданного пользователем первичного ключа. Первичный ключ – единственный обязательный атрибут объекта в таблице. Первичный ключ устанавливается при создании таблицы и является уникальным идентификатором каждого объекта. DynamoDB предлагает гибкие возможности работы с запросами: дополнительно можно запрашивать атрибуты по ключам, не являющимся первичными, с помощью глобальных и локальных вторичных индексов.
Первичный ключ может быть либо простым ключом секции (из одного атрибута), либо составным (из ключа секции и ключа сортировки). Пример ключа секции, состоящего из одного атрибута, – UserID. Такой простой ключ секции позволит быстро выполнять чтение и запись данных для элемента, связанного с конкретным ID пользователя.
Составной ключ секции и сортировки индексируется в DynamoDB по элементу ключа секции и элементу ключа сортировки. Этот сложный ключ поддерживает иерархию между первым и вторым значением элемента. Например, составной ключ секции и сортировки может представлять собой комбинацию UserID (секция) и Timestamp (сортировка). Поддерживая значение элемента ключа секции постоянным, можно выполнять поиск по элементу ключа сортировки для извлечения определенных данных. Такой поиск позволит использовать API Query, например, для извлечения всех объектов для одного UserID в определенном диапазоне временных меток.
Вопрос: Каким образом выполняется обновление и запрос элементов данных в DynamoDB?
После создания таблицы с помощью консоли DynamoDB или API CreateTable для вставки элементов можно использовать API PutItem или BatchWriteItem. Для извлечения элементов, добавленных в таблицу, можно использовать такие API, как GetItem и BatchGetItem, а также API Query, если в таблице включены и используются составные первичные ключи.
Вопрос: DynamoDB можно использовать с приложениями, работающими под управлением любых операционных систем?
Да. DynamoDB – это полностью управляемый облачный сервис, доступ к которому осуществляется через API. DynamoDB можно использовать с приложениями, работающими под управлением любых операционных систем, включая Linux, Windows, iOS, Android, Solaris, AIX и HP‑UX. Для начала работы с DynamoDB рекомендуется использовать пакеты SDK AWS.
Возможности Amazon DynamoDB
Amazon DynamoDB – это база данных NoSQL, которая поддерживает пары «ключ-значение» и документные модели данных. С помощью DynamoDB разработчики могут создавать современные бессерверные приложения с возможностью глобального масштабирования и поддержкой петабайтов данных и десятков миллионов операций чтения и записи в секунду. Сервис DynamoDB предназначен для выполнения высокопроизводительных приложений в масштабах Интернета, обеспечить эффективную работу которых традиционные реляционные базы данных не в состоянии.
Производительность при любом масштабе
DynamoDB – это база данных для пар «ключ-значение» и документов, которая может обеспечить поддержку таблиц практически любого размера благодаря горизонтальному масштабированию. Поэтому DynamoDB можно масштабировать для обработки более 10 трлн запросов в день с пиковой нагрузкой более 20 млн запросов в секунду и использовать ее в хранилищах данных, измеряемых петабайтами.
Пары «ключ‑значение» и документные модели данных
DynamoDB поддерживает пары «ключ-значение» и документные модели данных. Поэтому DynamoDB имеет гибкую схему, то есть каждая строка в любой момент времени может содержать любое количество столбцов. Это позволяет легко адаптировать таблицы с изменением требований вашего бизнеса и избавляет от необходимости переопределять схему таблицы (как в реляционных базах данных).
DynamoDB Accelerator сокращает время ответа до нескольких микросекунд
DynamoDB Accelerator (DAX) – это кэш в памяти, который обеспечивает высокую скорость чтения таблиц в любом масштабе, позволяя использовать полностью управляемый кэш в памяти. С помощью DAX можно повысить производительность чтения таблиц DynamoDB до 10 раз, сократив время, необходимое для чтения, с миллисекунд до микросекунд даже при миллионах запросов в секунду.
Автоматизированная глобальная репликация глобальных таблиц
Глобальные таблицы DynamoDB автоматически реплицируют ваши данных в выбранные вами регионы AWS и автоматически масштабируют ресурсы для обработки ваших рабочих нагрузок. Благодаря использованию глобальных таблиц глобально распределенные приложения могут осуществлять локальный доступ к данным в выбранных регионах, а время выполнения операций чтения и записи сокращается до миллисекунд с одним значением после запятой.
Улучшенная потоковая передача приложений с помощью Kinesis Data Streams для DynamoDB
Amazon Kinesis Data Streams для DynamoDB записывает изменения на уровне элементов в таблицах DynamoDB как поток данных Kinesis. Эта возможность позволяет создавать улучшенные потоковые приложения, в частности агрегацию журналов и бизнес-аналитику в режиме реального времени, а также запись данных Интернета вещей. Благодаря Kinesis Data Streams можно также использовать Amazon Kinesis Data Firehose для автоматического предоставления данных DynamoDB другим сервисам AWS.
Serverless
При использовании DynamoDB не требуется распределять какие-либо серверы, устанавливать на них исправления или управлять ими. Кроме того, отпадает необходимость в установке, обслуживании и использовании программного обеспечения. DynamoDB автоматически масштабирует таблицы, корректируя объем доступных ресурсов и сохраняя высокую производительность. Никакие действия по администрированию системы от вас не требуются. Встроенные механизмы обеспечения доступности и отказоустойчивости устраняют необходимость в проектировании этих возможностей для своего приложения.
Режимы предоставления ресурсов на операции чтения/записи
В DynamoDB доступны режимы предоставления ресурсов для каждой таблицы: по требованию и с распределением. Режим предоставления ресурсов по требованию подходит для менее предсказуемых рабочих нагрузок, когда вы не уверены, что вам потребуется много ресурсов. В этом случае система автоматически регулирует выделяемые ресурсы, а вы платите только за то, что потребляете. Если в таблице используется режим предоставления ресурсов с распределением, вам необходимо указать объем ресурсов для операций чтения и записи. Этот режим целесообразно использовать, когда вы уверены, что все или почти все заявленные вами ресурсы будут использованы.
Режим предоставления ресурсов по требованию
Если в таблицах используется режим предоставления ресурсов по требованию, DynamoDB мгновенно регулирует выделяемые ресурсы по мере увеличения или уменьшения ваших рабочих нагрузок, ориентируясь на полученные ранее показатели трафика. Если наблюдается новый пиковый показатель трафика рабочей нагрузки, DynamoDB быстро адаптируется и предоставляет ресурсы для выполнения рабочей нагрузки. Режим предоставления ресурсов по требованию можно использовать в новых и существующих таблицах. Кроме того, можно продолжать использовать существующие API DynamoDB, не меняя код.
Auto scaling
В таблицах, где ресурсы предоставляются с распределением, DynamoDB автоматически масштабирует пропускную способность и ресурсы для хранения данных, ориентируясь на ранее выбранный вами объем ресурсов. Для этого осуществляется мониторинг использования производительности вашим приложением. Если трафик приложения увеличивается, DynamoDB увеличивает пропускную способность в соответствии с нагрузкой. Если трафик приложения уменьшается, DynamoDB сокращает ресурсы, чтобы вам не пришлось платить за неиспользуемые ресурсы.
Отслеживание изменений с помощью триггеров
DynamoDB интегрируется с AWS Lambda, благодаря чему обеспечивается возможность использовать триггеры. С помощью триггеров можно автоматически выполнять специальные функции, когда в таблице DynamoDB обнаруживаются изменения на уровне элемента. Триггеры позволяют создавать приложения, реагирующие на изменения данных в таблицах DynamoDB. Lambda-функция может выполнять любые указанные вами действия, включая отправку оповещений и запуск рабочих процессов.
Готовность к использованию в корпоративной среде
Сервис DynamoDB предназначен для обслуживания критически важных рабочих нагрузок, включая поддержку транзакций ACID в различных областях применения, требующих использования сложной бизнес-логики. DynamoDB помогает обеспечить безопасность ваших данных благодаря шифрованию и непрерывному резервному копированию, а надежность системы обеспечивает соглашение об уровне обслуживания.
Транзакции ACID
DynamoDB обеспечивает встроенную поддержку транзакций на стороне сервера, благодаря чему разработчики могут удобно и без ошибок вносить изменения в большое число элементов в пределах одной или нескольких таблиц. Благодаря реализованной в DynamoDB поддержке транзакций разработчики могут использовать возможности масштабирования, производительности и прочие корпоративные преимущества сервиса при выполнении большого числа критически важных рабочих нагрузок.
Шифрование при хранении
DynamoDB по умолчанию шифрует все хранимые клиентские данные. Шифрование хранимых данных повышает уровень безопасности данных благодаря использованию ключей шифрования, хранимых в сервисе AWS Key Management Service. Шифрование хранимых данных позволяет разрабатывать приложения с высоким уровнем безопасности, соответствующие жестким нормативным и законодательным требованиям в области шифрования. Шифрование по умолчанию с использованием главного ключа клиента AWS доступно без дополнительной платы.
Восстановление на момент времени
Восстановление на момент времени (PITR) помогает защитить ваши таблицы DynamoDB от случайной записи или удаления. PITR непрерывно создает резервные копии данных в ваших таблицах DynamoDB, поэтому вы можете восстановить состояние таблицы на любой момент времени (с точностью до секунды) за последние 35 дней. Выполнить PITR или инициировать операции резервного копирования и восстановления данных можно с помощью одного вызова API или за один щелчок мышью в Консоли управления AWS.
Резервное копирование и восстановление по требованию
Резервное копирование и восстановление по требованию позволяет создавать полные резервные копии данных таблиц DynamoDB для архивирования в целях обеспечения соответствия корпоративным и законодательным требованиям. Можно создавать резервные копии таблиц размером от нескольких мегабайтов до сотен терабайтов без влияния на производительность и доступность приложений в рабочей среде.
Изучите варианты тарифов на Amazon DynamoDB.
Получите мгновенный доступ к уровню бесплатного пользования AWS.
Начните разработку с помощью Amazon DynamoDB в Консоли управления AWS.