AWS DynamoDB Поток в Redshift - PullRequest
0 голосов
/ 10 июня 2018

Мы бы хотели непрерывно перемещать данные из DynamoDB NoSQL в базу данных Redshift в виде потока.Мне трудно понять все новые термины / технологии в AWS.Есть

1) Потоки DynamoDB

2) AWS Lambda

3) AWS Kinesis Firehose

Может кто-нибудь дать краткое резюме каждого.Что такое потоки DynamoDB?Чем это отличается от AmazonKinesis?После прочтения всех ресурсов, это мое понимание гипотезы, пожалуйста, проверьте ниже.

(a) Я предполагаю, что DynamoDB Streams создает потоковые данные NoSQL и начинает отправлять их.Это Отправитель.

(b) Лямбда позволяет людям использовать только время, затрачиваемое на аренду сервера, который обрабатывает поток DynamoDB.

(c) Kinesis FireHose преобразует поток DynamoDBи помещает их в Redshift.

(d) AmazonQuickSight является их инструментом бизнес-аналитики,

Это правильное понимание терминов глоссария?Просмотр Ссылка на стек , требуется более подробная информация.

enter image description here

1 Ответ

0 голосов
/ 10 июня 2018

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

  • Использовать Видеопотоки Kinesis для захвата, обработки и хранения видеопотоков для аналитикии машинное обучение.
  • Использование Kinesis Data Streams для создания пользовательских приложений, которые анализируют потоки данных с использованием популярных сред обработки потоков.
  • Использование Kinesis Data Firehose для загрузки потоков данных в хранилища данных AWS.
  • Используйте Kinesis Data Analytics для анализа потоков данных с помощью SQL.

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

A Kinesis Data Firehose может автоматически выводить поток в Redshift (среди других назначений).

AWS Lambda может запускать код без подготовки или управления серверами.Вы платите только за затрачиваемое на вычисление время - плата не взимается, когда ваш код не работает.Вы можете запустить код практически для любого типа приложения или серверной службы - и все это с нулевым администрированием.

Лямбда полезна для проверки данных, поступающих через поток.Например, его можно использовать для манипулирования форматом данных или пропуска данных, которые не требуются.

Собрав все это вместе, вы можете добавить / изменить данные в DynamoDB .Это может привести к отправке DynamoDB Stream , который содержит информацию об изменении. Лямбда-функция AWS может проверять данные и манипулировать / отбрасывать сообщение.Если бы можно было затем переслать данные в Kinesis Data Firehose , чтобы автоматически вставить данные в Amazon Redshift .

Вот пример:

  • Банковская транзакция сохраняется в DynamoDB
  • DynamoDB Streams отправляет ее в функцию Lambda
  • Функция Lambda просматривает транзакцию и также получает информацию о банковском счете.Если на счете имеется достаточный остаток, функция завершается и ничего не делает.
  • Если на счете недостаточно остаток, он может отправить электронное письмо через AmazonSES сообщает владельцу счета.Затем он может отправить данные в Firehose, который хранит их в Redshift, для создания отчетов о просроченных учетных записях.

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

...