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.