Построение поточного конвейера данных с использованием Redshift Serverless и Kinesis

Оптимизация поточной обработки данных с помощью Redshift Serverless и Kinesis

Полное руководство для начинающих

Фото: Себастьян Панделаке на Unsplash

В этой статье я расскажу о одном из самых популярных шаблонов проектирования конвейера данных – потоковых событиях. Среди прочих преимуществ, он обеспечивает мгновенную аналитику данных, и мы можем создавать дашборды отчетности, которые обновляют результаты в реальном времени. Я продемонстрирую, как это можно достичь, создавая потоковой конвейер данных с помощью AWS Kinesis и Redshift, который может быть развернут всего за несколько щелчков с использованием кода инфраструктуры. Мы будем использовать AWS CloudFormation для описания архитектуры нашей платформы данных и упрощения развертывания.

Представьте, что вам, как инженеру по данным, поручено создать конвейер данных, соединяющий потоки событий сервера с решением для хранения данных (Redshift), чтобы преобразовывать данные и создавать аналитический дашборд.

Инфраструктура конвейера. Изображение автора

Что такое конвейер данных?

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

Я ранее писал об этом в статье:

Шаблоны проектирования конвейеров данных

Выбор правильной архитектуры с примерами

towardsdatascience.com

Например, данные событий могут быть созданы источником на бекэнде, потоковыми событиями, созданными с помощью Kinesis Firehose или потоками Kafka. Затем они могут питать несколько различных потребителей или назначений. Потоковая передача данных является неотъемлемым решением для предприятий из-за его возможностей обработки данных в режиме реального времени. Она позволяет анализировать данные в режиме реального времени.

В нашем сценарии использования мы можем настроить потоковый конвейер данных с применением модели ELT (извлечение, преобразование, загрузка) для AWS Redshift. Потоковый поток Firehose AWS может предложить такой тип бесшовной интеграции, когда данные будут загружаться непосредственно в таблицу хранилища данных. Затем данные могут быть преобразованы для создания отчетов с использованием AWS Quicksight, как, например, инструмента для бизнес-аналитики.