Lambda架构已死,去ETL化的IOTA才是未来
经过这么多年的发展,已经从大数据1.0的BI/Datawarehouse时代,经过大数据2.0的Web/APP过渡,进入到了IOT的大数据3.0时代,而随之而来的是数据架构的变化。
▌
在过去Lambda数据架构成为每一个公司大数据平台必备的架构,它解决了一个公司大数据批量离线处理和实时数据处理的需求。一个典型的Lambda架构如下:
数据从底层的数据源开始,经过各种各样的格式进入大数据平台,在大数据平台中经过Kafka、Flume等数据组件进行收集,然后分成两条线进行计算。一条线是进入流式计算平台(例如 Storm、Flink或者Spark Streaming),去计算实时的一些指标;另一条线进入批量数据处理离线计算平台(例如Mapreduce、Hive,Spark SQL),去计算T+1的相关业务指标,这些指标需要隔日才能看见。
Lambda架构经历多年的发展,其优点是稳定,对于实时计算部分的计算成本可控,批量处理可以用晚上的时间来整体批量计算,这样把实时计算和离线计算高峰分开,这种架构支撑了数据行业的早期发展,但是它也有一些致命缺点,并在大数据3.0时代越来越不适应数据分析业务的需求。缺点如下:
●
●
●
●
▌Kappa 架构
针对Lambda架构的需要维护两套程序等以上缺点,LinkedIn的Jay Kreps结合实际经验和个人体会提出了Kappa架构。Kappa架构的核心思想是通过改进流计算系统来解决数据全量处理的问题,使得实时计算和批处理过程使用同一套代码。此外Kappa架构认为只有在有必要的时候才会对历史数据进行重复计算,而如果需要重复计算时,Kappa架构下可以启动很多个实例进行重复计算。
一个典型的Kappa架构如下图所示:
Kappa架构的核心思想,包括以下三点
:
1.用Kafka或者类似MQ队列系统收集各种各样的数据,你需要几天的数据量就保存几天。
2.当需要全量重新计算时,重新起一个流计算实例,从头开始读取数据进行处理,并输出到一个新的结果存储中。
3.当新的实例做完后,停止老的流计算实例,并把老的一些结果删除。
Kappa架构的优点在于将实时和离线代码统一起来,方便维护而且统一了数据口径的问题。而Kappa的缺点也很明显:
●
●
开发周期长:此外Kappa架构下由于采集的数据格式的不统一,每次都需要开发不同的Streaming程序,导致开发周期长。
●
▌ 架构
而在IOT大潮下,智能手机、PC、智能硬件设备的计算能力越来越强,而业务需求要求数据实时响应需求能力也越来越强,过去传统的中心化、非实时化数据处理的思路已经不适应现在的大数据分析需求,我提出新一代的大数据IOTA架构来解决上述问题,整体思路是设定标准数据模型,通过边缘计算技术把所有的计算过程分散在数据产生、计算和查询过程当中,以统一的数据模型贯穿始终,从而提高整体的预算效率,同时满足即时计算的需要,可以使用各种Ad-hoc Query来查询底层数据:
IOTA整体技术结构分为几部分:
●
:贯穿整体业务始终的数据模型,这个模型是整个业务的核心,要保持SDK、cache、历史数据、查询引擎保持一致。对于用户数据分析来讲可以定义为“主-谓-宾”或者“对象-事件”这样的抽象模型来满足各种各样的查询。以大家熟悉的APP用户模型为例,用“主-谓-宾”模型描述就是“X用户 – 事件1 – A页面(2018/4/11 20:00) ”。当然,根据业务需求的不同,也可以使用“产品-事件”、“地点-时间”模型等等。模型本身也可以根据协议(例如 protobuf)来实现SDK端定义,中央存储的方式。此处核心是,从SDK到存储到处理是统一的一个Common Data Model。
●
Edge SDKs & Edge Servers:这是数据的采集端,不仅仅是过去的简单的SDK,在复杂的计算情况下,会赋予SDK更复杂的计算,在设备端就转化为形成统一的数据模型来进行传送。例如对于智能Wi-Fi采集的数据,从AC端就变为“X用户的MAC 地址-出现- A楼层(2018/4/11 18:00)”这种主-谓-宾结构,对于摄像头会通过Edge AI Server,转化成为“X的Face特征- 进入- A火车站(2018/4/11 20:00)”。也可以是上面提到的简单的APP或者页面级别的“X用户 – 事件1 – A页面(2018/4/11 20:00) ”,对于APP和H5页面来讲,没有计算工作量,只要求埋点格式即可。
●
●
●
●
●
IOTA大数据架构,主要有如下几个特点
:
●
去ETL化:ETL和相关开发一直是大数据处理的痛点,IOTA架构通过Common Data Model的设计,专注在某一个具体领域的数据计算,从而可以从SDK端开始计算,中央端只做采集、建立索引和查询,提高整体数据分析的效率。
●
●
如上图,
IOTA
架构有各种各样的实现方法,
为了验证IOTA架构,易观也自主设计并实现了“秒算”引擎,目前支持易观内部月活5.5亿设备端进行计算的同时,也基于“秒算”引擎研发出了可以独立部署在企业客户内,进行数字用户分析和营销的“易观方舟”,可以访问ark.analysys.cn进行体验。在大数据3.0时代,Lambda大数据架构已经无法满足企业用户日常大数据分析和精益运营的需要,去ETL化的IOTA大数据架构才是未来。
点击文末“阅读原文” 即刻了解易观方舟!
运营小伙伴们,快来加入易观「数据工会」吧
与群主一起深度交流,碰撞思想的火花~
请添加微信好友:ygxm222 拉你进群哦~
热门推荐
2018年最新App TOP1000排行榜|移动应用市场更新迭代,明星效应加速用户转化
(▲推荐阅读 猛戳标题)
戳“阅读原文”,即刻了解易观
方舟!
- 奥美70年后换“新Logo”的背后:新架构、新形象、新速度
- ICO已死?矿业步履维艰?数字货币的春天何时能来?
- 电商已死,以后的电商不再是电商!
- 江苏盐城警方通报“菜场杀人案”:犯罪嫌疑人已死
- 瑞银申请控股券商后新动作:调整投行人事架构 拟扩展衍生品业务
- 名仕论金:黄金急跌千三成关键,油价瀑布多头已死!
- 实战Practice丨光大银行加强云计算技术应用 推动IT架构转型
- 川普宣布计划:将彻底改变美国外援政策架构
- 从零实现灵活且可高度定制的Android图片选择架构
- 监委办案:取证精准高效,架构封闭完整证据链条