企业数据现状分析:为什么需要实时数据?如何高效挖掘实时数据价值?
-
回顾当下企业的数据现状
-
介绍已有的实时数据集成场景
-
盘点常用的实时数据集成架构和中间件
-
新老数据集成架构的技术对比,以及新一代企业级数据平台的技术架构详解
一、企业为什么越来越需要实时数据?
企业数据现状与实时数据场景
-
企业类型:某国内大型半导体制造厂商
-
业务描述:通过 MES 统一调度生产线上的机械臂,完成芯片制造
-
实时问题:产能受限、基台告警不及时
-
企业类型:某珠宝行业
-
业务描述:店员通过商品中心完成调货/ 取货/查货
-
实时问题:商品信息不准确导致商机流失
不同数据集成方案在企业中的现状
-
优势:不需要第三方工具,可以直接在源库上根据数据需求定制开发 API,随时调度扩展,直接从源端获取新鲜的业务数据。
-
缺点:对源端业务库产生较大压力,关系到核心业务系统时尤为致命,以制造业为例,如果 MES 系统因 API 调度崩溃,最直接的后果就是产能挂零。因此并不建议在核心库上发布 API。
-
优势:通过抽取的方式将需要的数据复制到下游系统,对源库性能影响较小。可以通过自己写一些定期运行的脚本,或者使用一些成熟的 ETL 工具来实现,相对简单。
-
缺点:实现原理是轮询,需要对源端数据库进行一些改造,例如要求源库有一个时间戳字段,然后通过轮询的方式拿到近一段时间的变化数据,再把这些数据推到目标去,因此并不能达到真正意义上的实时,它达不到事实。定期执行,无法支撑对数据时效性要求比较高的场景。同时也无法复用,每个新起业务都需要不少数量的 ETL 链路,管理困难。
-
优势:相对成熟的数据集成方案选择,可以用 Kafka 来搭建一个实时 ETL 链路,用事件流的方式能够捕捉到所有数据变化的每一个状态,并推到目标。
-
缺点:研发及运维管理成本较高。需要自己对接、实现数据采集的能力,很多时候意味着应用双写(代码侵入)或额外的开源组件;需要 Java 代码开发,超出一般数据工程师的能力范围;节点多、链路长、数据容易中断、排查不容易,没有可视化管理,链路难以维护。
二、矛盾决定需求:如何简化数据集成链路,实现快速交付?
新一代企业级数据集成平台:以服务化方式为下游业务提供数据
-
设计思路:节省数据开发投入,专注业务创新
-
架构理念:数据即服务(Data as a Service, DaaS)
-
核心优势追求:快速、实施、简单、易用
-
最后一次 ETL:对源端系统只做最后一次数据同步。把源端业务库的数据 1:1 抽取过来之后,同步进来的数据将在中间的中央化存储里完成数据的全部清洗、加工等处理,同时对源端的业务库不会再有任何抽取工作了。直接弱化了链路的复杂程度,极大降低对源端业务的侵入。
-
API 服务:最后可以通过 API 的方式将数据推送到目标端。这里可以想象一下,当我们完成了一次订单的宽表或是订单的数据汇总之后,接下来所有业务系统想要获取该订单的数据,都可以直接通过读取 API 获得,非常简单。甚至连存储都不需要,因为所有的数据都是实时的,又可以通过 API 服务的方式直接提供,这对于接下来要做的新的业务系统来说都是非常方便的。
-
CDC Capture(采集与同步):基于 CDC 的无侵入数据实时采集与同步模块,以实时的方式,第一时间对数据源头中修改/更新/变动的数据进行采集并标准化。
-
Stream Process(计算与处理):无需离开进程,在进程内即可完成数据计算、建模和转型,快速得出结果,将存储过程对性能消耗极大的计算部分放到这一层来解决,也可缓解源库压力。
-
Storage(中央化存储):形成能够复用的统一的数据模型,提供统一的数据标准,支持按需取用。
-
Service(发布与服务):通过数据发布能力,以 API 的形式呈现,或是直接按需传入数据目标,例如数据库、应用,或是 Web 服务等,从而达到更快获取所需数据的目的。
实时数据平台的核心技术路线
-
基于 WAL 日志的实时异构同步(实时异构同步的 CDC 能力)
-
数据开发建模
-
中央化存储
-
数据发布 API
-
全程可视化:面向数据工程师,支持对企业的所有数据进行托拉拽式的加工、建模、处理、合并,所见即所得,快速获取一个永久实时更新的数据模型。
-
首创 Fluent ETL API:面向开发者,特别针对开源社区,无需 SQL,只需要写一段程序就可以拥有数据集成能力,完成数据开发工作。
-
多源异构数据实时汇聚到中央化平台
-
为所有下游数据驱动业务提供实时、完整、准确的企业数据
|
服务
|
功能模块
|
HOST
|
硬件配置
|
|
Tapdata Management
Tapdata API Server
Tapdata Flow Engine
|
数据治理引擎
管理模块
API 发布节点
|
tapdata-01
tapdata-02
|
CPU: 16c
RAM: 64GB
DISK: 100GB
|
|
MongoDB
|
Tapdata MetaDB
|
mongodb-01
mongodb-02
mongodb-03
|
CPU: 16c
RAM: 64GB
DISK: 1TB
|
-
Tapdata Management:负责软件各模块调度和网页控制台展现
-
Tapdata API Server:负责数据发布及 API 网关
-
Tapdata Flow Engine:负责数据同步、清洗、多表关联、聚合计算等。
-
MongoDB:Tapdata 数据库,中间缓存结果。
三、设想照进现实:Tapdata Live Data Platform
Tapdata:自带 ETL 的实时数据平台
-
采集实时:Tapdata 支持超 40+个数据源,支持源到目标 Any to Any 的数据实时同步对接,接下来还将通过开源的方式,在 Tapdata 主力之余,让开发者们参与共创,一起努力让数据源版图快速拓展到 100+。
-
传输实时:从源端到目标端,精准控制,实现了低至亚秒级的传输延迟。
-
计算实时:过程中需要计算时,Tapdata LDP 具有每秒数万条的实时流计算处理能力,单节点的情况下,通过并行分布式该能力还可以进一步提升。
Tapdata 最佳实践
-
项目背景
-
客户简介:知名黄金珠宝企业,大陆门店数量上百家,年营业超百亿
-
业务描述:与第三方电商、社交、媒体平台打通;数百家门店线上线下活动过万;业务需求旺盛,产品快速迭代适用商场
-
-
当前挑战
-
商品、订单、库存数据分布在多套系统,数据冗余
-
上新活动周期长
-
无法获得最准确的商品库存
-
已有系统过于陈旧,更新、维护困难
-
-
诉求(希望达到的目标)
-
全渠道商品中心:提供更好的客户体验
-
快速响应业务(线上线下活动)
-
-
需要的能力
-
统一数据融合平台
-
低代码快速开发数据
-
-
成功指标
-
搭建基于 MongoDB 的 DaaS 平台
-
开发主数据模型,包括:商品模型、订单库存模型
-
发布主数据 API
-
-
Tapdata 提供的整体解决方案
-
构建底层数据链路:在最底层的数据库和 Tapdata 的中央化存储之间搭建一条数据实时同步链路
-
进入贴源层,构建包含企业核心业务数据的主数据层;在主数据层之上业务模型,通常是不同项目对于主数据的复用需求,这个过程中需要用到 Tapdata 的数据集成能力、数据开发能力,以及数据的中央化存储。
-
最终的客户核心诉求实现
-
支持全渠道销售业务:实时统一多套系统的库存和商品信息,从0到1支撑了全渠道营销业务
-
大幅提升开发效率:支撑前端的数据 API 开发上线时间从数星期降到到了 2 天
-
构建主数据库提高复用:数据不一致、位置凌乱的问题得到妥善解决,治理好的主数据提高了复用,减少重复成本
-
以全自动化的实时数据集成能力为基础,连接并统一企业的数据孤岛,成为企业的主数据底座,为企业的数据驱动业务 "Warehouse Native" 提供全面,完整,准确的数据支撑——这便是 Tapdata 的愿景与追求。