数据流的进出
从多个来源持续生成的数据被称为流数据。可以使用流处理技术来处理、存储、分析和处理实时数据流。“流”是指持续不断、没有开始或结束的数据流,因为它提供稳定的数据流,无需先下载即可使用或处理。同样,数据流来自各种来源,并以各种形式和数量存在。应用程序、网络工具、服务器日志文件、网站活动、金融交易和位置数据都可以组合起来,从单一的事实来源中收集实时数据和分析。
什么是数据流?
如今有无数的数据源,包括服务器、应用程序、安全日志、内部/外部系统和日志文件。控制所创建数据的结构、数据完整性或数据量或速度基本上是不可能的。
流数据架构提供了在数据传输过程中使用、持久存储、丰富和分析数据的能力。相比之下,传统系统旨在在数据可用之前对其进行摄取、处理和组织。
因此,处理和存储将始终是使用数据流运行的程序所需的两个基本任务。存储必须能够顺序且一致地记录大型数据流。处理必须能够与存储通信,摄取数据,分析数据,并对其进行计算。
数据流的应用
每个行业都存在流数据的用例。其中包括实时市场交易、当前零售库存管理、社交媒体Feed、多人游戏互动和拼车应用程序,仅举几例。
例如,当乘客打电话给Lyft时,实时数据流汇集在一起,从而提供无缝的用户体验。该程序使用这些信息来结合实时位置监控、交通统计、价格和交通数据,根据实时和历史数据为乘客选择最佳驾驶员、成本和预计出行时间。
为了避免罚款,一家太阳能公司必须跟上其客户的电力流量。它创建了一个流数据应用程序,用于跟踪现场的每个面板,实时规划服务,并减少每个面板经历低吞吐量以及由此产生的罚款支付的时间。
一家媒体发行商从其在线领域流式传输数十亿条点击流记录,将数据与用户人口统计数据相结合并增强数据,并优化其网站上的内容布局,以使其受众获得更相关和更愉快的体验。
一家在线游戏公司收集有关玩家游戏互动的流数据并将其发送到游戏平台。然后,为了保持玩家的兴趣,它进行实时数据分析,并提供奖励和令人兴奋的体验。
实时分析
企业可以使用实时分析通过数据流跟踪其运营。为了报告正在发生的事情,可以使用时间序列数据分析技术来分析生成的数据。由于物联网 (IoT) 的出现,可以广播的数据类型和数量急剧增加。数据流大量用于实时分析。
因此,我们承认数据分析和数据流的三个 V——多样性、体积和速度——通常是公认的。当与物联网结合使用时,企业可以从多个传感器和监控器获得数据流,从而增强其实时微观管理多个动态变量的能力。
实时分析是有益的,因为它们使企业能够更好地跟踪其运营。因此,如果设备出现故障或读数返回需要立即采取行动的信息,则企业拥有采取行动所需的信息。
这样,流数据就成为每个数据驱动型企业的基石,实现了大量数据的摄取、集成和实时分析。
使用数据流的原因
数据的收集只是挑战的一个方面。当今的企业组织不能等待批处理数据处理。相反,从电子商务网站到拼车应用程序和股票市场平台,各种应用都使用实时数据流。
当与流数据一起使用时,应用程序不仅可以集成数据,还可以处理、过滤、分析和响应接收到的数据。这使得各种新的用例成为可能,包括实时欺诈检测、Netflix 建议以及跨各种设备更新的无缝购物体验。换句话说,这项技术将使每个使用大数据并可以从持续的实时数据中获益的行业受益。
数据流的挑战
流数据处理需要处理层和存储层。为了提供记录排序和可靠的一致性,存储层必须能够处理快速、经济高效且可重放的大量数据流的读写操作。处理层的职责是从存储层使用数据,处理数据,并最终告诉存储层删除不再需要的内容。在设计存储和处理层时,必须考虑可扩展性、数据寿命和容错能力。可以使用各种平台构建流数据应用程序,包括 Amazon Kinesis Data Streams、Amazon Kinesis Data Firehose、Amazon Managed Streaming for Apache Kafka (Amazon MSK)、Apache Flume 和 Apache Spark。
结论
直到最近,只有少数极少数的利基行业(如媒体流和股票市场估值)才使用数据流。如今,它已广泛应用于许多行业。组织可以使用数据流实时管理数据,从而监控其业务的各个方面。
数据结构
网络
关系型数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP