Вопросы и ответы по Amazon DynamoDB
Подробнее о DynamoDB
Открыть всеDynamoDB — это бессерверная, полностью управляемая распределенная служба баз данных NoSQL с производительностью в несколько миллисекунд в любом масштабе. DynamoDB избавляет от необходимости управлять инфраструктурой, обеспечивает отсутствие простоев при обслуживании, мгновенно масштабируется под любые нагрузки и предлагает оплату по запросам. Нет холодных стартов, версионных обновлений или окон обслуживания. Это полностью управляемая база данных, снимающая задачи вроде резервного копирования, безопасности, соответствия, мониторинга и других операций. Для глобально распределенных приложений DynamoDB представляет собой многорегиональную активную базу данных с доступностью до 99,999 % и высокой устойчивостью. Поддержка строгой согласованности между регионами позволяет приложениям оставаться доступными и возвращать одинаковые данные из любого региона, обеспечивая нулевой RPO. DynamoDB предлагает широкий набор средств безопасности и стандартов соответствия, отвечающих требованиям государственных структур, глобальных банков и организаций с повышенными требованиями к защите данных.
DynamoDB дает клиентам возможность переложить на AWS административную нагрузку, связанную с управлением распределенными базами данных и их масштабированием, а значит, избавиться от необходимости подготавливать оборудование, настраивать и конфигурировать его, а также решать вопросы репликации, обновления ПО, планирования ресурсов для поддержания необходимой пропускной способности и масштабирования кластеров. Развернуть распределенную базу данных NoSQL можно за считанные минуты. Сервис DynamoDB автоматически масштабирует пропускную способность для соответствия текущей рабочей нагрузке и способен многократно разбивать данные по мере расширения таблиц. DynamoDB также выполняет синхронную репликацию данных в трех Зонах доступности Региона AWS, обеспечивая высокую доступность и сохранность данных.
Уникальные преимущества DynamoDB включают в себя проверенную, полностью управляемую бессерверную базу данных с масштабированием до нуля, которая обеспечивает производительность в несколько миллисекунд и доступность до 99,999%. Благодаря стабильной производительности в условиях масштабирования DynamoDB также предлагает встроенные средства безопасности, долговечности и надежности, необходимые для глобальных приложений с самыми высокими требованиями. Сервис DynamoDB, характеризующийся простотой использования, часто выбирают как для новых современных приложений, так и для уже существующих приложений генеративного искусственного интеллекта в масштабе всей мировой сети. Это решение идеально подойдет для приложений, которым требуется стабильно высокая производительность с неограниченной масштабируемостью.
Хранилище
Открыть всеКлассы таблиц DynamoDB — это варианты оптимизации производительности и затрат для таблиц DynamoDB. Доступны два класса таблиц: DynamoDB стандарт (класс таблиц по умолчанию, разработанный для рабочих нагрузок, требующих максимальной производительности, и оптимально подходящий для таблиц с непредсказуемыми нагрузками) и Amazon DynamoDB стандарт – редкий доступ (класс таблиц, оптимизированный для сценариев, где основную часть затрат составляет хранение данных, идеально подходит для таблиц с редко запрашиваемыми данными). Стандартные таблицы требуют меньших затрат на чтение и запись, но более высокие затраты на хранение. Таблицы стандарт – редкий доступ имеют меньшие затраты на хранение, но более высокие затраты на чтение и запись. Вы можете переключаться между этими классами таблиц дважды в течение 30 дней без простоев, что позволяет оптимизировать затраты в зависимости от моделей использования таблицы. Выбор между этими классами зависит от конкретных потребностей вашего приложения и шаблонов доступа к вашим данным.
При выборе класса таблиц в DynamoDB следует учитывать несколько факторов. Чаще всего следует учитывать модели доступа к данным, соображения стоимости и предсказуемость рабочей нагрузки. Вы можете переключаться между классами таблиц без написания кода или простоев, поэтому можно настроить свой выбор в случае изменения потребностей с течением времени.
Таблицы DynamoDB стандарт — редкий доступ идеально сочетаются с существующими функциями DynamoDB. Они применяют те же API, что и обычные таблицы DynamoDB, поэтому их можно использовать с существующими приложениями без изменения кода. Они поддерживают глобальные таблицы для многорегиональной репликации, восстановления на момент времени (PITR), резервного копирования по требованию, шифрования при хранении с помощью AWS Key Management Service (KMS), DynamoDB Streams, Time To Live для автоматического удаления элементов и транзакционных операций чтения и записи. Таблицы стандарт — редкий доступ совместимы с ускорителем DynamoDB (DAX).
Amazon DynamoDB хранит данные в разделах. Раздел – это выделение хранилища для таблицы, поддерживаемое твердотельными накопителями (SSD) и автоматически реплицируемое в нескольких зонах доступности в регионе AWS. Управление разделами полностью осуществляется DynamoDB — вам не придется управлять ими самостоятельно.
Максимальный размер элемента, который можно сохранить в таблице DynamoDB, составляет 400 КБ. Нет предопределенных ограничений по хранению.
Да. DynamoDB может хранить BLOB, однако обычно оно не подходит для хранения документов или изображений. Лучше всего хранить указатели на объекты Amazon S3 в таблице DynamoDB.
По умолчанию для данных, хранящихся в таблице Amazon DynamoDB, не установлено время истечения срока действия или удаления. Данные останутся в таблице на неопределенный срок, если только пользователь не удалит их явно или с помощью Time to Live (TTL), если TTL включено.
Нет предопределенного ограничения на количество элементов, которые можно хранить в таблице DynamoDB. DynamoDB масштабируется до сотен ТБ и более данных по любому количеству элементов.
Хотя технически возможно хранить изображения в DynamoDB в виде двоичных данных (в кодировке base64), существуют некоторые ограничения и недостатки, связанные с ограничением размера элемента в 400 КБ. Вместо хранения изображений непосредственно в DynamoDB лучше делать это в Amazon S3 (Simple Storage Service), а затем сохранять URL-адрес или ключ объекта S3 в DynamoDB.
Чтобы сохранить список в DynamoDB, необходимо использовать один из типов данных списка DynamoDB — список или набор. При записи элементов в таблицу значение этого атрибута может представлять собой массив или набор скалярных (необъектных) типов данных, таких как строки, числа и т. д. DynamoDB автоматически выполнит сериализацию данных списка и сохранит их таким образом, чтобы осталась структура списка. Затем можно запросить атрибут таблицы, чтобы получить полный список. Добавление, обновление или удаление элементов из списка работает так же, как и обычная операция записи.
Да. DynamoDB поддерживает хранение карт в качестве атрибутивного типа данных.
Безопасность
Открыть всеДа. DynamoDB поддерживает разрешения IAM. Разрешения IAM можно определить в политиках на основе идентификаций, ресурсов или других политиках AWS для управления доступом к ресурсам DynamoDB. Политики IAM можно привязывать к пользователям, группам, ролям IAM, таблицам и потокам DynamoDB и управлять ими по своему усмотрению.
С помощью AWS PrivateLink можно упростить подключение к частной сети между виртуальными частными облаками (VPC), DynamoDB и локальными центрами обработки данных, используя адреса интерфейса VPC и частные IP-адреса. С помощью PrivateLink доступ к таблицам DynamoDB возможен через частное соединение, а запросы не покидают сеть Amazon. Это повышает безопасность, поскольку трафик проходит через любые сетевые шлюзы, а доступ можно контролировать с помощью политик и групп безопасности IAM. PrivateLink полезен для приложений, которые предъявляют требования к безопасности данных и требуют низких задержек. Сервис также обеспечивает доступ к таблицам DynamoDB из гибридных сред, охватывающих локальные сети и AWS.
Да. DynamoDB поддерживает ресурсные политики для таблиц и потоков. Ресурсные политики для каждой таблицы также охватывают права доступа к индексам таблицы (глобальные и локальные вторичные индексы). С помощью политик, основанных на ресурсах, клиенты могут детально определять разрешения на доступ к таблицам DynamoDB и другим ресурсам без необходимости предоставлять полный доступ на уровне аккаунта AWS. Эти политики позволяют клиентам контролировать, какие пользователи, специалисты и федеративные пользователи могут выполнять такие действия, как чтение, запись или удаление определенных таблиц, индексов и потоков DynamoDB. Политики на основе ресурсов прикрепляются к каждому ресурсу DynamoDB и управляются ими.
Политики на основе ресурсов поддерживают интеграцию с функциями Анализатор доступа AWS Identity and Access Management (IAM) и Блокирование публичного доступа (BPA). Анализатор доступа IAM помогает клиентам уточнить разрешения и соблюдать минимальные привилегии. BPA помогает клиентам предотвратить публичный доступ к таблицам, индексам и потокам DynamoDB. Эта функция всегда включена в DynamoDB.
DynamoDB поддерживает управление доступом на основе атрибутов, которое обычно доступно для таблиц и индексов DynamoDB.
Да. Amazon DynamoDB можно использовать с адресами VPC. DynamoDB поддерживает два типа адресов VPC: адреса шлюзов и использование AWS PrivateLink. Используя адрес шлюза, вы можете получить доступ к DynamoDB из VPC без использования интернет-шлюза или устройства NAT для VPC. Однако адреса шлюза не допускают доступа из локальных сетей, из одноранговых VPC в других регионах AWS или через транзитный шлюз. Для таких сценариев необходимо использовать сервис AWS PrivateLink, который доступен за дополнительную плату.
Полный контроль доступа (FGAC) предоставляет владельцу таблицы DynamoDB детальный контроль над данными в таблице с помощью политик и условий IAM. FGAC позволяет владельцу предоставлять разрешения на доступ к элементам или атрибутам таблицы и связанным с ними действиям. Функция FGAC работает совместно с сервисом AWS IAM, управляющим правами доступа и связанными разрешениями.
Да. Все пользовательские данные в Amazon DynamoDB полностью зашифрованы при движении и хранении.
Протокол HTTPS используется для защиты сетевого трафика с помощью шифрования Secure Sockets Layer.
При шифровании данных DynamoDB в местх хранения используются ключи шифрования, хранящиеся в Сервисе управления ключами AWS (AWS KMS). Данные в местах хранения шифруются с использованием AES-256, золотого стандарта, требующего высочайшего уровня безопасности.
Для шифрования данных в местах хранения доступны следующие типы ключей:
1. Ключи, принадлежащие AWS: они полностью управляются AWS и используются по умолчанию, если не указан другой вариант. Они бесплатны в использовании и не требуют дополнительной настройки.
2. Управляемые ключи AWS: это клиентские мастер-ключи (CMK), хранящиеся в AWS KMS, которые AWS создает, контролирует и использует от имени клиента. Они предоставляют дополнительные возможности контроля и аудита по сравнению с ключами, принадлежащими AWS.
3. Ключи, управляемые клиентом: это ключи CMK, которые вы создаете, которыми владеете и управляете в AWS KMS. Они обеспечивают высочайший уровень контроля над ключами шифрования, включая возможность создавать, поворачивать, отключать и определять средства управления доступом.
Каждый из этих типов ключей обеспечивает различный баланс удобства, контроля и стоимости. Ключи, принадлежащие AWS, проще всего использовать, в то время как ключи, управляемые клиентом, обеспечивают наибольший контроль, но требуют больших затрат на управление.
Шифрование в состоянии покоя помогает защитить данные, шифруя файлы, содержащие конфиденциальную информацию, пока они неактивны. Когда данные хранятся в зашифрованном виде, неавторизованные лица не могут получить доступ к текстовому содержимому, даже если могут получить физический доступ к устройствам, на которых хранятся данные. Это обеспечивает дополнительный уровень защиты данных, помимо контроля доступа, и обеспечивает конфиденциальность информации даже в случае потери или кражи физического устройства.
Да. DynamoDB поддерживает ведение журнала аудита изменений на уровне элементов в таблицах. DynamoDB интегрировано с сервисом AWS CloudTrail, который обеспечивает запись действий пользователя, роли или сервиса AWS в DynamoDB на уровне элементов. Дополнительные собранные данные журнала включают создание, обновление, удаление и любые ошибки условной проверки. Клиенты могут получить доступ к этим записям журнала, хранящимся в журналах CloudWatch, и создавать приложения для анализа изменений на уровне элементов в целях аудита, мониторинга и т. д. Ведение журнала аудита позволяет детально отслеживать изменения данных, не влияя на нормальную производительность чтения и записи таблицы DynamoDB.
Да. Вы можете использовать Amazon DynamoDB для создания приложений, соответствующих требованиям HIPAA, и хранения информации, связанной со здравоохранением, включая защищенную медицинскую информацию, на основании заключенного с AWS соглашения о деловом сотрудничестве (Business Associate Agreement, BAA).
DynamoDB отвечает множеству сертификатов соответствия, в том числе требованиям HIPAA, FedRAMP, ISO 27001, SOC 1/SSAE 16/ISAE 3402 (ранее — SAS 70) и SOC 2. Дополнительные сведения см. в разделе Проверка соответствия по отраслям для DynamoDB. Отчеты по соответствию AWS требованиям можно загрузить в AWS Artifact.
Высокая доступность и надежность
Открыть всеГлобальные таблицы Amazon DynamoDB — это полностью управляемая бессерверная многорегиональная и мультиактивная база данных. Глобальные таблицы обеспечивают доступность на уровне 99,999 %, повышенную отказоустойчивость приложений и устойчивость бизнеса. Поскольку они автоматически реплицируют таблицы Amazon DynamoDB в заданные регионы AWS, вы можете достичь высокой производительности локального чтения и записи. Глобальные таблицы используют те же API, что и таблицы DynamoDB в отдельных регионах, поэтому вы можете легко сделать свои таблицы DynamoDB глобально доступными без изменений в приложении.
Глобальная таблица — это набор из одной или нескольких таблиц-реплик, принадлежащих одному аккаунту AWS. В одной глобальной таблице Amazon DynamoDB может быть только одна таблица-реплика на каждый Регион AWS.
Для повышения отказоустойчивости приложения в нескольких регионах следует использовать глобальные таблицы. Глобальные таблицы также позволяют приложениям поддерживать высокую доступность в маловероятном случае изоляции или низкой производительности Региона.
Доступны две версии глобальных таблиц DynamoDB: версия 2019.11.21 (текущая) и версия 2017.11.29 (устаревшая). Клиентам следует использовать версию 2019.11.21 (текущую) для всех новых глобальных таблиц, поскольку она более эффективна и потребляет меньше ресурсов записи. Всем, кто использует версию 2017.11.29 (устаревшую), следует обновить свои глобальные таблицы до версии 2019.11.21 (текущей).
Обновить версию глобальной таблицы можно всего несколькими щелчками мыши в Консоли управления AWS. Обновление с версии 2017.11.29 (устаревшей) до версии 2019.11.21 (текущей) является одноразовым действием и не может быть отменено. Перед обновлением убедитесь, что вы изучили различия в работе разных версий и провели все необходимое тестирование. Дополнительные сведения см. в разделе Обновление глобальных таблиц с версии 2017.11.29 (устаревшей) до версии 2019.11.21 (текущей).
В глобальных таблицах DynamoDB используется многоактивная репликация между регионами, при этом все таблицы-реплики во всех регионах глобальной таблицы поддерживают трафик чтения и записи. Глобальная таблица не имеет основного региона, поэтому при перенаправлении трафика чтения и записи в другой регион не требуется аварийное переключение базы данных. В том маловероятном случае, если регион AWS окажется изолированным или будет предоставлять низкую производительность, ваше приложение может просто читать и записывать данные из таблицы-реплики в незатронутом регионе. Дополнительные сведения см. в разделе Рекомендации по проектированию глобальных таблиц DynamoDB.
Таблица-реплика — это одна таблица DynamoDB. Каждая таблица-реплика хранит один и тот же набор элементов данных, имеет одно и то же название таблицы и одну и ту же схему первичного ключа. Когда какое-то приложение записывает данные в таблицы-реплики в одном регионе, DynamoDB автоматически переносит эту запись в такие таблицы в других Регионах AWS.
Да, глобальные таблицы DynamoDB укрепляют непрерывность бизнеса, повышая отказоустойчивость приложений и обеспечивая высокую согласованность в одном регионе. Наличие устойчивой согласованности на межрегиональном уровне позволяет создавать приложения с нулевой RPO и высочайшим уровнем отказоустойчивости.
С помощью этого пошагового руководства можно создать глобальную таблицу в консоли DynamoDB, Интерфейсе командной строки AWS (CLI) или AWS CloudFormation.
Перед добавлением дополнительной реплики из другого региона в глобальные таблицы DynamoDB необходимо включить Потоки DynamoDB, указать то же имя и тот же ключ раздела, что и у всех других реплик, и задать те же параметры ресурсов записи.
Все таблицы-реплики в глобальной таблице DynamoDB должны иметь одно и то же имя.
Как и другие базы данных, DynamoDB хранит данные в таблицах. Таблица — это набор элементов, а каждый элемент — набор атрибутов. DynamoDB использует первичные ключи для уникальной идентификации каждого элемента таблицы и имеет вторичные индексы, чтобы обеспечить большую гибкость запросов.
Да, можно включить восстановление на определенный момент времени для каждой реплики глобальной таблицы DynamoDB.
Интеграции
Открыть всеДа, в DynamoDB сбор измененных данных (CDC) реализован с использованием потоковой модели, которая позволяет приложениям фиксировать изменения на уровне элементов в таблице DynamoDB практически в реальном времени в виде потока записей данных. Поток записей данных CDC позволяет приложениям эффективно обрабатывать изменения данных в таблице DynamoDB и реагировать на них. DynamoDB предлагает две потоковые модели для CDC: потоки DynamoDB и потоки данных Kinesis для DynamoDB. Чтобы помочь вам выбрать подходящее решение для своего приложения, ознакомьтесь с вариантами потоковой передачи данных для сбора измененных данных.
Поток DynamoDB — это упорядоченный поток информации об изменениях элементов в таблице DynamoDB. Поток DynamoDB фиксирует дедуплицированную и упорядоченную по времени последовательность изменений на уровне элементов в любой таблице и сохраняет эту информацию в журнале (до 24 часов). Поток DynamoDB автоматически масштабирует ресурсы, избавляя вас от необходимости распределять и контролировать их. В зависимости от потока конфигурации DynamoDB можно просматривать элементы данных в том виде, в каком они выглядели до и после изменения. Можно создавать приложения, которые используют эти потоковые события и запускают рабочие процессы на основе содержимого потока событий.
Потоки DynamoDB полезны, когда вы хотите реагировать на изменения данных с помощью триггеров, используя встроенную интеграцию с AWS Lambda, отслеживать и анализировать взаимодействие с клиентами или отслеживать производительность приложений практически в реальном времени, фиксировать упорядоченные последовательности событий и повышать отказоустойчивость приложений за счет репликации транзакционных данных на уровне элементов.
Потоки данных Kinesis собирают данные об изменениях на уровне объекта во всех таблицах DynamoDB и реплицируют их в выбранный поток данных Kinesis. Ваши приложения могут получать доступ к этому потоку и просматривать изменения на уровне элементов практически в реальном времени. Потоки данных Amazon Kinesis позволяют создавать собственные приложения для обработки или анализа потоковых данных при решении узкоспециальных задач. В отличие от потоков DynamoDB потоки данных Kinesis для DynamoDB не обеспечивают упорядочивание записей и гарантии дедупликации. Упорядочение записей и дедупликация должны быть реализованы клиентскими приложениями с использованием поля ApproximateCreationDateTime в записи на уровне элемента.
Потоки данных Kinesis для DynamoDB полезны, если вам нужна интеграция с более широкими возможностями Kinesis (например, с Клиентской библиотекой Kinesis, Управляемым сервисом Amazon для Apache Flink или Amazon Data Firehose), более длительное хранение и воспроизводимость данных (до 365 дней), а также настраиваемое управление сегментом для последующего потребления и потоковой аналитики.
Когда в таблице DynamoDB включен поток DynamoDB или поток данных Kinesis, таблица отправляет запись данных, в которой фиксируются любые изменения данных этой таблицы. Эта запись данных включает конкретное время, когда какой-либо элемент был недавно создан, обновлен или удален, первичный ключ этого элемента, изображение объекта до и после модификации
Включить или отключить потоки в существующей таблице DynamoDB можно с помощью Консоли управления AWS, AWS SDK, Интерфейса командной строки AWS (AWS CLI) или клиентской библиотеки Kinesis (KCL).
Выберите потоки DynamoDB, если вам необходимо отслеживать изменения в таблице DynamoDB. Выберите потоки данных Kinesis Data для удовлетворения более широких потребностей в потоковой передаче, более высоких требований к пропускной способности или в тех случаях, когда вам нужны более длительные сроки хранения данных.
Функция Время жизни (TTL) Amazon DynamoDB автоматически удаляет из таблицы элементы с истекшим сроком действия, которые больше не актуальны, тем самым сокращая использование хранилища и снижая затраты. С помощью TTL можно указать временную метку для каждого элемента, чтобы определить, когда элемент больше не нужен, а DynamoDB автоматически удалит элемент из таблицы, не расходуя пропускную способность записи. Каждый раз, когда элемент создается или обновляется, вы можете рассчитать срок годности и сохранить его в атрибуте TTL. Функция TTL полезна, если вы храните предметы, которые теряют актуальность по истечении определенного времени.
DynamoDB поддерживает операции GET / PUT с использованием заданного пользователем первичного ключа. Первичный ключ – единственный обязательный атрибут объекта в таблице. Первичный ключ устанавливается при создании таблицы и является уникальным идентификатором каждого объекта. DynamoDB предлагает гибкие возможности работы с запросами: дополнительно можно запрашивать атрибуты по ключам, не являющимся первичными, с помощью глобальных и локальных вторичных индексов.
Первичный ключ может быть либо простым ключом секции (из одного атрибута), либо составным (из ключа секции и ключа сортировки). Пример ключа секции, состоящего из одного атрибута, – UserID. Такой простой ключ секции позволит быстро выполнять чтение и запись данных для элемента, связанного с конкретным ID пользователя.
Составной ключ секции и сортировки индексируется в DynamoDB по элементу ключа секции и элементу ключа сортировки. Этот сложный ключ поддерживает иерархию между первым и вторым значением элемента. Например, составной ключ секции и сортировки может представлять собой комбинацию UserID (секция) и Timestamp (сортировка). Поддерживая значение элемента ключа секции постоянным, можно выполнять поиск по элементу ключа сортировки для извлечения определенных данных. Такой поиск позволит использовать Query API, например для извлечения всех объектов для одного UserID в определенном диапазоне временных меток.
DynamoDB поддерживает первичные ключи, состоящие из восьми атрибутов в глобальных вторичных индексах (GSI), каждый из которых может содержать до четырех атрибутов для ключей секционирования и сортировки.
После создания таблицы с помощью консоли DynamoDB или API CreateTable для вставки элементов можно использовать API PutItem или BatchWriteItem. Для извлечения элементов, добавленных в таблицу, можно использовать такие API, как GetItem и BatchGetItem, а также API Query, если в таблице включены и используются составные первичные ключи.
Да. DynamoDB – это полностью управляемый облачный сервис, доступ к которому осуществляется через API. DynamoDB можно использовать с приложениями, работающими под управлением любых операционных систем, включая Linux, Windows, iOS, Android, Solaris, AIX и HP‑UX. Для начала работы с DynamoDB рекомендуется использовать пакеты AWS SDK.
Интеграция Amazon DynamoDB с Сервисом Amazon OpenSearch с нулевым использованием ETL устраняет сложности эксплуатации, связанные с организацией репликации данных из транзакционного массива данных в массив поисковых данных. Конвейеры данных, используемые для синхронизации массивов транзакционных и поисковых данных, могут быть сложными и дорогостоящими в создании и управлении. Кроме того, периодически возникают ошибки, которые трудно отследить.
Данная интеграция позволяет клиентам DynamoDB получать результаты поиска по транзакционным данным практически в режиме реального времени, предлагая полностью управляемое решение, которое предоставляет возможность сделать транзакционные данные из DynamoDB доступными в Сервисе OpenSearch в течение нескольких секунд после их записи. Клиенты просто выбирают таблицы DynamoDB, содержащие данные, которые они хотят проанализировать с помощью Сервиса OpenSearch, а интеграция с нулевым использованием ETL позволяет легко реплицировать схему и данные в Сервисе OpenSearch с применением конвейеров OpenSearch Ingestion. Клиенты могут реплицировать данные из нескольких таблиц DynamoDB в один управляемый домен или бессерверную коллекцию Сервиса OpenSearch для получения целостной информации о нескольких приложениях, а также консолидировать свои основные аналитические ресурсы, что позволяет значительно сократить расходы и повысить операционную эффективность.
Клиенты могут начать работу с использования Консоли управления AWS для DynamoDB, Сервиса OpenSearch, Интерфейса командной строки AWS (AWS CLI), AWS SDK или AWS CloudFormation. Чтобы включить интеграцию, пользователи сначала выбирают таблицу DynamoDB, данные которой необходимо реплицировать. Затем они выбирают Потоки DynamoDB для репликации в режиме, близком к реальному времени, или инкрементный экспорт DynamoDB для отложенной репликации в качестве механизма CDC, чтобы синхронизировать данные между двумя системами.
Интеграция с нулевым использованием ETL создает конвейер получения данных OpenSearch Ingestion в учетной записи клиента. Данный конвейер обеспечивает репликацию данных в управляемый кластер или бессерверную коллекцию Сервиса OpenSearch. OpenSearch Ingestion понимает структуру таблиц DynamoDB, затем создает эквивалентный управляемый домен или бессерверную коллекцию Сервиса OpenSearch и загружает конечную точку с существующими данными из таблиц DynamoDB. При желании клиенты могут указать схему индексов, которые будут созданы в Сервисе OpenSearch.
Интеграция с нулевым использованием ETL предоставляет панель управления, на которой можно отслеживать состояние комплексной интеграции с помощью метрик и журналов Amazon CloudWatch в реальном времени. Можно настроить оповещение на случай, если пользователь превысит установленные пороговые значения. Данная интеграция постоянно отслеживает состояние таблиц DynamoDB и индексов Сервиса OpenSearch, а также немедленно уведомляет пользователей в случае регрессии с любым из этих объектов.
Чтобы обеспечить OpenSearch Ingestion необходимыми разрешениями на репликацию данных в обеих системах, интеграция DynamoDB с Сервисом OpenSearch с нулевым использованием ETL создает роль IAM с необходимыми разрешениями для чтения данных из таблиц DynamoDB, а также записи в домен или коллекцию OpenSearch. Затем эту роль берут на себя конвейеры OpenSearch Ingestion, гарантирующие постоянное соблюдение надлежащего уровня безопасности при перемещении данных от источника к конечной точке.
Интеграция с нулевым использованием ETL применяет собственные возможности преобразования данных конвейеров OpenSearch Ingestion для агрегирования и фильтрации данных во время их перемещения. При транспортировке данных из таблицы DynamoDB клиенты могут удалить несколько полей или создать новые на основе агрегирования уже существующих полей.
Чтобы получить индивидуальные трансформационные возможности, при желании клиенты также могут написать собственную логику для OpenSearch Ingestion. Для других пользователей, которые просто хотят перенести все свои данные из источника в получатель, эта интеграция с нулевым использованием ETL предоставит готовые чертежи OpenSearch Ingestion, с помощью которых можно выполнять интеграцию всего несколькими щелчками мыши.
Интеграция с нулевым ETL предоставляет клиентам возможность указать собственную схему данных и сопоставление индексов, которое используется OpenSearch Ingestion во время записи данных из DynamoDB в Сервис OpenSearch. Данная функция добавлена в консоль пользовательского интерфейса в DynamoDB, чтобы клиенты могли полностью контролировать формат индексов, создаваемых в Сервисе OpenSearch.
Применение интеграции DynamoDB с Сервисом OpenSearch с нулевым использованием ETL не требует дополнительных затрат, кроме стоимости существующих базовых компонентов. Интеграция с нулевым ETL использует OpenSearch Ingestion для чтения данных в таблицах DynamoDB и репликации в Сервисе OpenSearch. Стоимость интеграции DynamoDB с Сервисом OpenSearch с нулевым использованием ETL — это стоимость вычислительных блоков OpenSearch (OCU), которые необходимы OpenSearch Ingestion для репликации данных между системами. Кроме того, клиенты могут выбрать потоки DynamoDB или инкрементный экспорт в качестве выбора CDC. При инкрементном экспорте запись данных в корзины S3 сопряжена с затратами. За использование потоков DynamoDB с клиентов будет взиматься стандартная плата.
Интеграция DynamoDB с Сервисом OpenSearch с нулевым использованием ETL возможна во всех регионах, где сегодня доступен сервис OpenSearch Ingestion.
Оплата
Открыть всеДа, вы можете приобрести Экономичные планы для баз данных при использовании Amazon DynamoDB и сократить расходы до 18%, если вы обязуетесь использовать его стабильно в течение 1 года. Дополнительную информацию о приемлемом использовании можно найти на странице цен на Экономичные планы для баз данных.
Да, уровень бесплатного пользования для DynamoDB предоставляет 25 ГБ хранилища, а также 25 резервируемых единиц емкости для записи и 25 резервируемых единиц емкости для чтения (WCU, RCU), что достаточно для обработки 200 млн. запросов в месяц.
DynamoDB — это настоящая бессерверная нереляционная база данных. По сравнению с другими базами данных, которые взимают плату за различные показатели, например за хранение, DynamoDB может масштабироваться до нуля, то есть, когда клиенты используют режим «по требованию», они платят только за активные потребленные ресурсы.
Проще говоря, использование по запросу лучше подходит клиентам, которые предпочитают платить только за то, что они используют, или имеют непредсказуемую рабочую нагрузку. Выделенные емкости популярны среди клиентов с приложениями, которые демонстрируют постоянный или предсказуемый трафик и предпочитают прогнозировать потребности в емкости для контроля расходов.
Уникальность DynamoDB заключается в том, что это бессерверная база данных, которая предоставляет клиентам возможность платить только за потребляемые ресурсы, при этом масштабируясь до нуля, когда они не используются, благодаря ценообразованию по требованию. Когда база данных находится в эксплуатации, для расчета платы используются единицы запросов на запись и единицы запросов на чтение.
- Резервное копирование по требованию, которое позволяет создавать моментальные резервные копии в указанные моменты времени
- Глобальные таблицы для многорегиональной мультиактивной репликации
- DynamoDB Accelerator (DAX) – это сервис кэширования, совместимый с Amazon DynamoDB, который снижает задержку за счет кэша в памяти
- DynamoDB передает упорядоченные по времени последовательности изменений таблицы на уровне элементов
DynamoDB включает в себя широкий набор опций, которые можно добавить в сервис. Частичный список включает в себя: