流分析用于所有行业的无数用例。许多用例可以归类为少数技术场景,所有这些场景都会产生大量的运营数据流。
什么是流式分析?
流式分析是对数据记录的持续处理和分析,通常以高容量和高速进行,以实时提取可操作的见解和/或生成自动警报或操作。
这是一种不同于批处理的分析方法;流分析持续处理小数据大小(通常只有几千字节),而批处理涉及对通过提取-传输-加载 (ETL) 聚合的大量数据(高达数 TB 或更多)进行定期(例如每天一次)分析过程。
流分析不同于 BI
传统的商业智能 (BI)和分析工具旨在与批处理静态源一起工作,并且通常需要将数据复制到数据仓库或专有数据存储中。这些工具缺乏流式查询功能。现代流式分析和数据可视化工具支持对流式数据源进行查询,并提供分析和洞察力。
流式分析的用例
流分析用于所有行业的无数用例。许多用例可以归类为少数技术场景,所有这些场景都会产生大量的运营数据流:
- 交易分析:对流式交易数据执行的分析可以检测有意义的交易事件并实时响应。例如,将流式分析应用于信用卡交易数据流可以实时检测表明欺诈的异常情况,识别潜在的欺诈交易并在完成之前停止它们。这可以触发警报,例如通过手机银行应用程序、电子邮件、短信或电话通知,要求客户验证可疑交易。
类似地,流分析是在线商务、广告和内容管理、聚合点击和解释用户行为的基石。建议产品、推广广告或建议用户可能感兴趣的内容以实现购买或其他响应。 - 容器:容器技术将应用程序打包,使其可以在云中运行,其依赖项与其他进程隔离。Amazon Web Services、Microsoft Azure 和 Google Cloud Platform 都采用了Docker、 Apache Mesos、rkt和Kubernetes等容器技术。
容器会生成大量的日志数据流。容器集群越复杂,就越难通过静态日志分析找到性能问题的根本原因。通过对日志数据的持续捕获、关联和查询,流式分析工具可以加速性能问题的根本原因分析并优化容器性能。 - 传感器数据: 物联网 (IoT)应用程序收集传感器在各种应用程序和环境中发出的恒定数据流:机械和飞机的预测性维护、电网监控和管理、精准农业和水产养殖、石油和天然气生产、以及更多。
流式分析处理和分析来自 IoT 设备的快速移动的实时数据,以触发自动化的实时操作或警报。在这些问题成为主要问题之前,必须在故障发生时深入了解故障并纠正过程以保持过程质量和完整性。 - 边缘计算:边缘分析将流分析技术应用于位于网络边缘的单个传感器、网络交换机或其他设备生成的数据,而不是等待将其发送回集中式数据存储。例如,使用流分析来分析网络边缘的传入流量可以识别可疑卷是来自单个 IP 地址还是来自具有单个配置文件的用户的DDoS 攻击。
流分析的技术要求
-
优化架构:传统上, 列存储数据库仅限于以低延迟查询为次要目标的数据仓库使用。数据摄取通常被限制为离线、批处理、仅附加或它们的某种组合。
为了处理流分析,列存储数据库实现必须将低延迟查询和持续写入视为“一等公民”,重点是避免读取、摄取、更新和存储优化工作负载之间的干扰。这拓宽了可行的列存储工作负载的范围,包括流式分析,以及它们对查询和数据延迟的严格要求。这些应用程序包括支持广告技术、金融服务、欺诈检测和其他数据流应用程序的操作系统。
SingleStoreDB 是一个现代的、统一的、实时的分布式 SQL 数据库。它使用碎片快照事务和乐观存储重新排序来满足流分析应用程序的极低延迟要求。SingleStoreDB 将数据存储在表中,并支持标准 SQL 数据类型。地理空间和 JSON 数据类型也是 SingleStoreDB 中的一等公民,可以同样轻松地存储和查询结构化、半结构化和非结构化数据。
在 SingleStoreDB 中,表是分布式的或非分布式的(例如,引用表)。表有两种存储类型:内存行存储和列存储。所有列存储表都有一个未公开的内存中行存储表。SingleStoreDB 自动将行从内存行存储溢出到列存储。所有数据,包括隐藏的行存储表,都可以查询列存储表。
-
流式摄取:分布式、高吞吐量、无锁摄取对于流式分析至关重要。
SingleStoreDB 提供内置的批处理和实时数据管道,允许将大量并行数据摄取到分布式表中。SingleStore Pipelines持续加载来自外部源的数据,包括Apache Kafka、Amazon S3、Azure Blob、文件系统、谷歌云存储和HDFS数据源。支持JSON、Avro、Parquet和CSV数据格式。
原文标题:What Is Streaming Analytics?
原文地址:https://www.singlestore.com/blog/what-is-streaming-analytics/




