数据平台是什么
数据平台即数据开发平台,顾名思义,它需要屏蔽数据存储处理的底层细节,对外提供一个统一的数据服务平台,数据平台的服务目标,应该是提供一个完整的数据业务解决方案,提供全链路、一站式、智能化的数据构建与管理工具,降低数据建设门槛,而不是仅仅提供组件或孤立的系统,把流程串接和方案集成的工作都抛给用户自己去考虑,根据数据的生命周期,大致需提供以下功能和产品:
- 数据接入: 数据集成/etl
- 数据管理&治理: 元数据管理,数据仓库,数据质量,数据安全,指标管理
- 数据开发: 开发平台,作业调度
- 数据分析: olap 系统, 数据探索系统, ad-hoc query
- 数据输出: 数据api服务,报表系统,数据可视化
我司数据平台
就离线而言,我司的离线敏捷型数据仓库,统一对所有业务数据进行接入,分析和管理。而数据仓库构建在数据平台之上,所以我司数据平台负责:
- 提供统一的数据集成(离线 etl),数据开发,作业调度和数据可视化平台
- 提供海量数据的存储,计算和查询展示功能
就实时而言,目前平台采用 lambda 架构,提供实时开发平台,进行实时 etl 和 cep(复杂事件处理)等,将结果输出到一些在线系统(如 hbase)和业务系统(如营销系统)
平台架构如下:
另可参照:
如何建设
根据《大数据平台基础架构指南》 所述,我司是通用组件建设;而平台建设分为 4 个阶段:
-
组件工具化: 工具化的本质目标是降低学习成本,提高工作效率,减少犯错概率。所以工具化的背后是对组件细节的封装和简化,不仅要考虑平台组件维护,更要考虑用户应用开发 。
-
工具平台化: 所谓平台化,就是将各种组件、工具和开发流程整合到一起,统一管理,提供成体系的开发运维管理途径 。同时通过规范流程,提升平台整体的稳定性和可控性,进而提升运维和业务开发的效率。
-
平台服务化: 相对于工具平台化而言,平台服务化是以用户的体验为中心展开的,所以它的重点不在平台自身的架构如何先进、流程如何完善、技 术如何领先 。它的重点是用户体验是否够好,用户满意才是衡量服务 水平的唯一标准。
-
平台产品化: 对外输出,提供价值,不然就无法向前;
我司目前已完成工具平台化,将分散独立的工具和系统在前端整合为统一入口,这一步主要是方便平台和数仓的开发运维;但是简单的前端整合并没有真正的将各个系统串联起来,形成完整的一站式数据解决平台。所以接下来的目标,是要做减法,真正的从用户使用场景出发,来整合整个链路上的系统,提供真正的服务平台。当平台真正解决数据服务问题后,则需要进一步产品化,向外输出.目前有 2 个方向:
- 平台产品化做的好话化,可以出售完整的数据解决 sass 服务
- 数据仓库沉淀指标,开发指标产品;以更好的服务到运营,营销和风控业务
另一方向,我司数仓对数据统一管理和开发;业务线的需求也是提到数仓来做而非业务方直接在平台上开发.因此,我司的数据平台主要是适用数仓的开发模式,对业务线同学来说接入和学习成本高,权限阻碍大。根据这种情况,我们准备参考到阿里云 dataworks2 开发平台模式,提供供业务方开放的平台,让业务方可以直接进行数据开发,也可以解放数仓部分的生产力。
关于产品化
产品需求可分为: 数据探索需求、报表需求、数据分析需求、数据API需求。在产品开发上,一定要以用户的需求为中心,别让用户有挫败感,提供差异化、阶梯式的产品服务。构建反馈式的产品服务,确保你的产品具备可持续改进的能力。
其次在实施上,依据我的经验:
- 改良优于革命:除非现有系统已经确实不能用,否则在现有系统上改进和迭代能更平滑地开发出更优秀的产品.而热衷于开发新产品的结果目前看起来多是新的上不去,老的下不来或者新的开发出来已经不适应实际的需求
- 如果确实要开发新系统,那么一定要有清晰的蓝图,划分好迭代的阶段,小步快跑,切忌憋大招,要有阶段性的产出。每个阶段收集用户的反馈,不断进行小步的迭代,这样才能避免系统最终夭折。
- 开发从简单的场景出发,捡软柿子捏。根据用户的反馈再不断迭代优化。
关于服务化
-
要想更好的服务好业务和用户,除了通用的平台化服务,肯定还会存在一些个性化的需求,比如算法相关。如果要提升平台的服务能力,打通平台上的上下游和周边系统,明晰平台中各个系统服务的边界功能和交互关系,适度地拆分服务,做到松辑合强内聚,一定是第一要务。如果平台下层的各个系统耦合严重,相互依赖的关系不清晰,在完成一个业务流程时又需要交叉循环调用,那么很难做好服务.
-
从通用服务衍生出专用服务,来屏蔽和特定业务场景无关的系统复杂性。不过代价当然也是有的,那就是你又多了一个系统,又多了一层依赖关系需要维护。
-
首先,你要明确你所提供的服务的范围定义和质量约定。然后,要尽早和用户达成一致, 如果可以,对用户使用对应服务时应该承担的责任,也需要提前明确进行沟通。但是,注意管理好用户期望和引导用户,不要盲目地被用户牵着鼻子走。
总结
大数据的真正价值在于生命性和生态性,活动数据是全本记录,实时驱动决策和迭代,数据的价值随着使用场景和方式动态变化。因此数据平台的价值是更好的服务到业务,解决用户使用数据的问题,提高使用数据的效率。而不是底层的存储计算引擎和组件有多么先进,技术能力有多么强。进一步来 说,还包括平台内部组件的横向联通能力和业务流程上纵向贯穿打通上下游链路的能力,这些才是数据平台建设的根 本目标和衡量平台成熟度水平的评估标准。
因此作为一个平台的团队,核心价值其实就三个:
- 一是对于重复的事情要做精做专;
- 二是统一化,可以推一些标准,推一些数据管理的模式,减少业务之间的对接成本;
- 三是为业务整体效率负责,包括开发效率、迭代效率、维护运维数据流程的效率,还有整个资源利用的效率。