上一个十年,以 Hadoop 为代表的大数据技术发展如火如荼,各种数据平台、数据湖、数据中台等产品和解决方案层出不穷,这些方案最常用的场景包括统一汇聚企业数据,并对这些离线数据进行分析洞察,来达到辅助决策或者辅助营销的目的,像传统的 BI 报表、数据大屏、标签画像等等。
但企业中除了这样的分析型业务(OLAP),还同时存在对数据实时性要求更高的交互型业务场景(OLTP 或 Operational Applications),例如电商行业常见的统一商品或订单查询、金融行业的实时风控、服务行业的客户 CDP 等,这些场景对企业来说往往都是关键任务类型。
除了 OLTP 场景,很多新一代的运营型分析(Operational Analytics)也在逐渐成为主流数据应用,运营分析的特点是同样需要来自业务系统的最新的实时数据,以帮助客户做一些较为及时的业务响应。
针对这些交互式 APP 或者运营分析的场景,传统的大数据平台由于其对实时数据支持度有限,无法予以有效支撑。今天我们就来探讨关于实时数据的问题:
一般来说,实时数据指的是对数据的传输、处理或最后交付发生在数据刚产生的短暂瞬间,如实时同步、实时消息处理等。用来衡量实时的指标是数据从产生端到消费端的传输时延。另外一种实时数据,则指的是对查询或者计算的响应是否足够快速,更多针对于数据库的内建分析或者查询引擎。这种实时数据技术的衡量指标是响应时间。如果传输时延或者响应时间能够控制在亚秒或者数秒内,我们可以称这些技术是”实时数据”技术。从用户的角度看,他们能够感受到的是一个“交互”式的体验,例如我执行一次查询,或者调取一个最新统计数字,结果通常在 1-3 秒之内返回,就是一种较为理想的实时体验。
如果我们把实时数据技术放到一个数据架构的完整版图里面,可能更容易来理解实时数据到底意味着什么。A16Z 的 Matt Bornstein 在 Emerging Architectures for Modern Data Infrastructure 这篇文章里,很好地归纳了新一代数据基础架构的主要组成部分。他把数据基础架构全生命周期分成了几个阶段: Ingestion, Storage, Query & Processing, Transformation, Analysis & Output。
以这个框架作为参考,我们可以做一个离线数据技术和实时数据技术的对比:
如图所示,实时数据包含了实时采集同步、实时计算、实时存储、实时查询和服务等范畴。在实际工作中,这些技术支撑的场景案例分别如下:
以数字化防疫场景为例,疫情防控特殊阶段,“核酸码”、“健康码”已成日常出行的必需品,特别是在核酸检测频率较高的时期,因检测结果显示不及时而影响日常工作生活的情况比比皆是。而应对这一问题的核心环节,就是核酸检测数据的实时、精准采集。
以数据可视化大屏的应用场景为例,作为传统制造业实现数字化转型的常见辅助工具,实时产能大屏可以为实现自动化生产提供数据依据;实时监控运行情况,及时预警;帮助企业分析产品周期,实现精准洞察,辅助业务开拓。而实现这些目标的基础就是实时数据——通过对全部系统数据的实时采集、实时计算,让数据分析展示更高效。
以金融行业的反欺诈平台为例,随着用户体量不断增大,客户历史行为数据也在持续累积,为了在数据分析处理的同时不对交易行为产生影响,新时代的风控工作面临着更多实时性挑战,传统数仓架构逐渐无法满足相应需求。因此,需要联合多渠道表现,对客户行为数据进行实时分析与反馈,快速区分欺诈交易与正常交易,助力快速决策。
银行个贷、互金小额贷、保险等在线金融业务需要对客户进行实时风险管控。通过实时数据服务,可以将来自于金融系统和外部系统(信用、司法、公安等)的个人数据进行统一汇聚,在申请流程中实时查询客户的风险信息并提供给算法引擎做决策。
无论是哪一种实时数据处理技术,都离不开一个事实:我们需要有实时的数据来源。Doris 作为一个实时数仓,只有获取到第一时间的新鲜数据,才能得出即时有效的洞察;Flink 的实时流计算,需要 Kafka 为其供数;而 Kafka 作为消息队列,需要用户自己负责将源头数据推到 Kafka 的 Topic。可以说,一切的实时数据技术,都离不开源头——实时数据的获取和集成。
实时数据的集成,常见的技术方案有以下几种:
我们分别来看看这几种解决方案的 Pros & Cons。
API 集成是一个不需要第三方工具的解决方案。通常可以由研发团队按照数据共享的诉求,定制开发相应的 API 接口,测试上线来支持下游业务。
这种方式的 Pros:
Cons 也比较明显:
ETL 是通过抽取的方式将需要的数据复制到下游的系统内。取决于需求量,可以通过自己写一些定期运行的脚本,或者使用一些成熟的 ETL 工具来实现。
Pros:
Cons:
ESB 作为一个企业数据总线,通过一系列的接口标准,将独立的软件系统以一个中央总线方式连接在一起。每个系统如果需要将数据或者消息传递给另外一个系统,可以通过 ESB 进行中转。ESB 的架构优势体现在:
但是 ESB 已经被证明是“明日黄花”,它主要的锅在于:
十年前,随着大数据技术的发展,一个叫做 Kafka 的消息中间件开始流行起来,并快速在实时数据集成领域占据架构主导地位。作为最主流的消息事件平台代表,Apache Kafka 最初只是一个分布式的日志存储。后来逐渐增加了 Kafka Connect 和 Kafka Streams 功能。基于这些能力,我们可以用 Kafka 来搭建一个实时 ETL 链路,满足企业内业务系统之间数据实时集成的需求。
但是这种基于 Kafka 来做实时 ETL 的架构,不足点非常明显:
总结下来,已有的技术方案在一定程度上满足需求的前提下,都有一些明确的痛点:
DaaS(Data as a Service,数据即服务)是一种新型的数据架构,通过将企业的核心数据进行物理或者逻辑的汇总,然后通过一个标准化的方式为下游提供数据的支撑,如下图所示:
这种架构的优势是:
但是传统的 DaaS 解决方案,如数据中台这样的实现,有一个很大的局限就是数据的入库是通过批量采集方式,导致数据不够新鲜实时,直接影响了传统 DaaS 的业务价值。
展望新的十年,基于完全自主研发的新一代实时数据平台「Tapdata Live Data Platform」应运而生,作为一个实现 DaaS 架构的新型数据平台,Tapdata LDP 的核心突破点是自己实现了完整的基于 CDC 的异构数据实时集成+计算建模的能力,通过源源不断对数十种源数据库实时采集并输送到 DaaS 存储的方式,确保数据在 DaaS 里始终得到实时更新,实现了一个 Incremental DaaS,增量数据服务平台的理念。通过这种对 DaaS 的实时增强,Tapdata 将承载着将企业 ETL 数量从 N 降为 1 的使命,凭借“全链路实时”的核心技术优势,加速连接并统一数据孤岛,打造一站式的实时数据服务底座,为企业的数据驱动业务“Warehouse Native ”提供全面、完整、准确的新鲜数据支撑。
一图读懂 Tapdata LDP 的工作模式
领取专属 10元无门槛券
私享最新 技术干货