Разница между потоками Kinesis Stream и DynamoDB
Кажется, они делают то же самое со мной. Кто-нибудь может объяснить мне разницу?
3 ответа
Высокая разница в уровне между двумя:
Kinesis Streams позволяет вам создавать и потреблять большие объемы данных (журналы, веб-данные и т. Д.), Где DynamoDB Streams - это функция, локальная для DynamoDB, которая позволяет вам видеть детальные изменения в элементах таблицы DynamoDB.
Больше деталей:
Amazon Kinesis Streams
Amazon Kinesis Streams является частью набора сервисов Big Data в AWS. Из документации разработчика:
Вы можете использовать потоки для быстрого и непрерывного сбора и агрегирования данных. Тип используемых данных включает данные журналов ИТ-инфраструктуры, журналы приложений, социальные сети, потоки рыночных данных и данные веб-потока. Ниже приведены типичные сценарии использования потоков:
Ускоренный прием и обработка логов и данных...
Метрики и отчетность в режиме реального времени...
Аналитика данных в реальном времени...
Комплексная обработка потоков...
DynamoDB Streams
DynamoDB - это опция NoSQL в AWS, а основной tables
этот магазин items
, DynamoDB Streams - это функция, которую вы можете включить для внесения всех изменений в items
как поток в режиме реального времени, как изменения происходят. Когда вы включаете функцию, вы выбираете, что записывается в поток:
- Только ключи - только ключевые атрибуты измененного элемента.
- Новое изображение - весь элемент в том виде, в каком он появляется после его изменения.
- Старое изображение - весь предмет, как он появился до того, как был изменен.
- Новые и старые изображения - как новые, так и старые изображения предмета
Потоки DynamoDB обычно используются для репликации или аудита таблиц. Дополнительную информацию можно найти в руководстве разработчика по потокам DynamoDB.
Я вижу, где вы могли бы запутаться, если бы сначала наткнулись на эту статью, в которой говорится, что они похожи. Это разные сервисы, которые используют похожие вызовы API.
Ниже приведены различия в обоих случаях, когда вы хотите сравнить Kinesis Data Streams для DynamoDB и DynamoDB Streams.
Поток Kinesis — это, по сути, очередь, в которую вы вводите данные, а потребитель может считывать данные. Просто очередь с расширенными функциями, такими как осколки/разделы.
Поток dynamodb — это не что иное, как внутренняя очередь, реализованная AWS, которая фиксирует все изменения данных для нужной вам таблицы. Вариант использования здесь заключается в том, чтобы вы использовали изменения на уровне записи и использовали это изменение, чтобы делать то, что вы хотите, например, «клиент обновил свои предпочтения/адрес», «клиент отменил свой заказ», вы поняли идею.
Вам просто нужно решить, что проще в использовании и обслуживании. Хотите ли вы сами обрабатывать очередь или хотите просто использовать dynamodb для сброса вашего ключа/значения, а затем, если что-то изменилось/вставлено/удалено, только тогда ваш потребитель что-то сделает.