Разница между потоками Kinesis Stream и DynamoDB

Кажется, они делают то же самое со мной. Кто-нибудь может объяснить мне разницу?

3 ответа

Решение

Высокая разница в уровне между двумя:

Kinesis Streams позволяет вам создавать и потреблять большие объемы данных (журналы, веб-данные и т. Д.), Где DynamoDB Streams - это функция, локальная для DynamoDB, которая позволяет вам видеть детальные изменения в элементах таблицы DynamoDB.

Больше деталей:

Amazon Kinesis Streams

Amazon Kinesis Streams является частью набора сервисов Big Data в AWS. Из документации разработчика:

Вы можете использовать потоки для быстрого и непрерывного сбора и агрегирования данных. Тип используемых данных включает данные журналов ИТ-инфраструктуры, журналы приложений, социальные сети, потоки рыночных данных и данные веб-потока. Ниже приведены типичные сценарии использования потоков:

Ускоренный прием и обработка логов и данных...

Метрики и отчетность в режиме реального времени...

Аналитика данных в реальном времени...

Комплексная обработка потоков...

DynamoDB Streams

Логотип DynamoDB DynamoDB - это опция NoSQL в AWS, а основной tables этот магазин items, DynamoDB Streams - это функция, которую вы можете включить для внесения всех изменений в items как поток в режиме реального времени, как изменения происходят. Когда вы включаете функцию, вы выбираете, что записывается в поток:

  • Только ключи - только ключевые атрибуты измененного элемента.
  • Новое изображение - весь элемент в том виде, в каком он появляется после его изменения.
  • Старое изображение - весь предмет, как он появился до того, как был изменен.
  • Новые и старые изображения - как новые, так и старые изображения предмета

Потоки DynamoDB обычно используются для репликации или аудита таблиц. Дополнительную информацию можно найти в руководстве разработчика по потокам DynamoDB.

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

Ниже приведены различия в обоих случаях, когда вы хотите сравнить Kinesis Data Streams для DynamoDB и DynamoDB Streams.

Поток Kinesis — это, по сути, очередь, в которую вы вводите данные, а потребитель может считывать данные. Просто очередь с расширенными функциями, такими как осколки/разделы.

Поток dynamodb — это не что иное, как внутренняя очередь, реализованная AWS, которая фиксирует все изменения данных для нужной вам таблицы. Вариант использования здесь заключается в том, чтобы вы использовали изменения на уровне записи и использовали это изменение, чтобы делать то, что вы хотите, например, «клиент обновил свои предпочтения/адрес», «клиент отменил свой заказ», вы поняли идею.

Вам просто нужно решить, что проще в использовании и обслуживании. Хотите ли вы сами обрабатывать очередь или хотите просто использовать dynamodb для сброса вашего ключа/значения, а затем, если что-то изменилось/вставлено/удалено, только тогда ваш потребитель что-то сделает.

Другие вопросы по тегам