近年来,随着IT技术与大数据、机器学习、算法方向的不断发展,越来越多的企业都意识到了数据存在的价值,将数据作为自身宝贵的资产进行管理,利用大数据和机器学习能力去挖掘、识别、利用数据资产。如果缺乏有效的数据整体架构设计或者部分能力缺失,会导致业务层难以直接利用大数据大数据,大数据和业务产生了巨大的鸿沟,这道鸿沟的出现导致企业在使用大数据的过程中出现数据不可知、需求难实现、数据难共享等一系列问题,本文介绍了一些数据平台设计思路来帮助业务减少数据开发中的痛点和难点。
本文主要包括以下几个章节:
本文部分介绍一下大数据基础组件和相关知识。
第二部分会介绍lambda架构和kappa架构。
第三部分会介绍lambda和kappa架构模式下的一般大数据架构
第四部分介绍裸露的数据架构体系下数据端到端难点以及痛点。
第五部分介绍的大数据架构整体设计
从第五部分以后都是在介绍通过各种数据平台和组件将这些大数据组件结合起来打造一套高效、易用的数据平台来提高业务系统效能,让业务开发不在畏惧复杂的数据开发组件,无需关注底层实现,只需要会使用SQL就可以完成一站式开发,完成数据回流,让大数据不再是数据工程师才有的技能。
一、大数据技术栈
二、lambda架构和kappa架构
Lambda架构
Kappa架构
三、kappa架构和lambda架构下的大数据架构
四、数据端到端痛点
缺乏一套数据开发IDE来管理整个数据开发环节,长远的流程无法管理起来。 没有产生标准数据建模体系,导致不同数据工程师对指标理解不同计算口径有误。 大数据组件开发要求高,普通业务去直接使用Hbase、ES等技术组件会产生各种问题。 基本上每个公司大数据团队都会很复杂,涉及到很多环节,遇到问题难以定位难以找到对应负责人。 难以打破数据孤岛,跨团队跨部门数据难以共享,互相不清楚对方有什么数据。 需要维护两套计算模型批计算和流计算,难以上手开发,需要提供一套流批统一的SQL。 缺乏公司层面的元数据体系规划,同一条数据实时和离线难以复用计算,每次开发任务都要各种梳理。
五、的大数据整体架构设计
六、元数据-大数据体系基石
七、流批一体化计算
八、实时与离线ETL平台
支持多种数据源,例如消息系统、文件系统等 支持多种算子,过滤、分割、转换、输出、查询数据源补全等算子能力 支持动态变更逻辑,例如上述算子通过动态jar方式提交可以做到不停服发布变更。
九、智能统一查询平台
这种架构简单,但接口粒度很粗,灵活性不高,扩展性差,复用率低.随着业务需求的增加,接口的数量大幅增加,维护成本高企。 同时,开发效率不高,这对于海量的数据体系显然会造成大量重复开发,难以做到数据和逻辑复用,严重降低业务适用方体验。 -
如果没有统一的查询平台直接将Hbase等库暴露给业务,后续的数据权限运维管理也会比较难,接入大数据组件对于业务适用方同样很痛苦,稍有不慎就会出现各种问题。
十、数仓建模规范体系
数据标准不一致,即使是同样的命名,但定义口径却不一致。例如,仅uv这样一个指标,就有十几种定义。带来的问题是:都是uv,我要用哪个?都是uv,为什么数据却不一样? 造成巨大研发成本,每个工程师都需要从头到尾了解研发流程的每个细节,对同样的“坑”每个人都会重新踩一遍,对研发人员的时间和精力成本造成浪费。这也是目标笔者遇到的困扰,想去实际开发提取数据太难。 没有统一的规范标准管理,造成了重复计算等资源浪费。而数据表的层次、粒度不清晰,也使得重复存储严重。
十一、一键集成平台
十二、数据开发IDE-高效的端到端工具
十三、其他
·END·
作者:刘延江
来源:vivo互联网技术
版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢!