亚马逊云科技:基于Redshift和Grafana搭建实时大屏应用

发布于: iPhone转发:0回复:0喜欢:0

大屏应用是以大屏幕为载体的视觉显示总称,通过可视化创建图表、图形和图像,帮助用户更深入地理解。大屏应用的最终目的是通过可视化帮助用户洞察业务数据,高效处理信息,快速响应。目前,大屏广泛应用于运维洞察、实时监控、企业前台、运营作战室等场景。随着数据可视化大屏幕的广泛应用,可视化大屏幕技术也在不断完善。本文将从涉及的技术要点入手,通过一个具体的日志场景,详细论述如何在亚马逊云科技上建立实时大屏应用的案例。

解决方案概述

本文会基于 Kinesis 和 Redshift stream ingestion 以及 Amazon 托管的 Grafana 来实现实时大屏,具体业务场景可以满足比如运维实时监控、物联网、APP 埋点实时分析以及黑五、双11、618等电商平台的实时数据可视化展示等。

以下是构建实时大屏应用的架构流程:

1、Amazon Kinesis Data Generator

Amazon Kinesis Data Generator (KDG) 是亚马逊云科技无服务器实时数据生成器工具,它很擅长生产模拟数据,您只需要配置模版和速率,就可以轻松地利用 KDG 将数据发送到 Kinesis Streams 或 Kinesis Firehose。本实验中,它将承担海量数据生成模拟过程。

2、Amazon Kinesis Data Stream

Amazon Kinesis可让您轻松收集、处理和分析实时流数据,以便您及时获得见解并对新信息快速做出响应。借助 Amazon Kinesis,您可以即刻对收到的数据进行处理和分析并做出响应,无需等到收集完全部数据后才开始进行处理。目前 Redshift 支持基于 KDS 的流式摄入,将在实验环节,向您展示它的全貌。

3、Amazon Redshift

Amazon Redshift 是一种完全托管的 PB 级云中数据仓库服务,使整个组织的用户能够利用各种数据并获得业务洞察力。同时应用实时分析和机器学习(ML)术。无需专业的数据仓库管理经验即可实现从接收、存储和访问数据分析、可视化和预测各种形式的数据。在本实验中,它将作为数据存储和 OLAP 的核心,借助物化视图和极高的查询性能,实现增量的 ETL 和大屏应用端秒级刷新需求。

Redshift Streaming Ingestion (流式摄取) 允许您直接连接到流引擎 Kinesis Data Stream 或 Amazon Managed Streaming for Apache Kafka,实现快速流数据摄入,而不需要在 Amazon S3 中暂存数据并使其加载到集群时产生相关的延迟和复杂性。您现在可以使用 SQL 连接到数据流并从中访问数据,通过直接在数据流之上创建物化视图来简化数据管道。物化视图还可以将 SQL 转换作为 ELT(提取、加载和转换)管道的一部分。流式摄取支持高达30万/秒的数据摄入(2KB size/row),小于10秒的延迟,同时支持高并发实时查询如大宽表、多表关联、复杂聚合等各种 SQL 查询。

4、Amazon Managed Grafana

Grafana 是一个开源的数据可视化和运营仪表板解决方案,由数十万组织和数百万用户使用。Grafana 丰富的可视化程序库和对多个数据源的广泛支持使客户可以在单个控制台中轻松地查询、可视化各种操作数据并发出警报,包括指标、日志和跟踪。Amazon 托管 Grafana 提供与开源项目兼容的完全托管 Grafana 工作区,并与开源项目的母公司 Grafana Labs 合作开发。在本实验中,Grafana 作为可视化终端,完成数据最终展现,支持秒级自动刷新,极大地提升大屏体验。

结论

使用 Redshift 的流式数据摄入功能可以让你对数据进行实时处理和分析。这对于建立实时大屏应用来说非常有意义,因为它可以帮助你快速响应数据变化,并提供实时可视化信息。

为了验证使用 Redshift 流式数据摄入功能和 Grafana 构建实时大屏应用的可行性,我们可以构建一个模拟数据的 pipeline。在这个 pipeline 中,我们可以使用 Redshift 的流式数据摄入功能来实时接收流式数据,并将其存储在Redshift中。然后,我们可以使用 Grafana 来查询 Redshift 中的数据,并构建实时大屏应用来显示这些数据。

在这个模拟数据 pipeline 中,我们可以使用各种数据源(如传感器数据、财务数据等)来模拟流式数据,并使用 Redshift 流式数据摄入功能将其摄入 Redshift。然后,我们可以使用 Grafana 构建可视化界面,并使用 Redshift 中的数据来更新这些可视化界面,从而实时显示数据变化。

另外,使用 Redshift 流式数据摄入功能和 Grafana 构建实时大屏应用还有一些其他优势:

1、可扩展性:Redshift 是一个高性能数据仓库,可以处理大量数据。因此,使用 Redshift 流式数据摄入功能和 Grafana 构建实时大屏应用可以帮助你应对数据规模的增长。

2、数据完整性:Redshift 提供了丰富的数据完整性保障机制,包括数据备份、恢复和数据完整性校验等。因此,使用 Redshift 流式数据摄入功能和 Grafana 构建实时大屏应用可以帮助你保证数据的完整性。

3、数据可视化:Grafana 是一个强大的可视化工具,可以帮助你构建丰富的可视化界面,秒级别自动刷新,并提供各种图表、仪表盘等可视化元素。因此,使用 Redshift 流式数据摄入功能和 Grafana 构建实时大屏应用可以帮助你更好地展示数据,并使用可视化工具来帮助你理解数据。