说到数据中台,不少人或许会问,和数据平台是什么关系?有什么区别?这是个好问题,三言两语还不一定能说得清楚。我把数据中台这个概念分成广义的和狭义的来看:
广义的数据中台:既包括前面提到的数据生产力工具,也包括利用生产力工具来做落地的过程、组织和结果。
狭义的数据中台:专指生产力工具
从这个定义来说,袋鼠云研发的数栈就是这么一套数据中台生产力工具,是一组定位在大数据PaaS层的产品集合。核心包括数据开发套件、数据治理套件和数据应用引擎。当然,为了方便客户,数栈自身也基于Flink和Spark构建了一套支持实时计算、离线计算和学习型计算的数据计算引擎。但是,数栈不仅仅支持自带的数据计算引擎,大部分产品模块也支持市场上第三方的数据计算引擎,包括Cloudera、星环、MaxCompute等。所以,数栈的核心是数据开发套件、数据治理套件和数据应用引擎,而数据计算引擎是可替换可兼容的。
当然,数据开发套件、数据治理套件和数据应用引擎从最终的产品设计来看,更多是逻辑模块的划分。实际上为了用户使用过程中的体验流畅性,一部分数据治理的产品模块也直接放进到数据开发套件,比如数据地图和数据模型;数据治理套件目前主要包含的是数据质量;数据应用引擎则包括数据API、标签工厂和大屏引擎,数据应用引擎根据行业和业务场景,可以不断的从数据应用产品中下沉演化,将通用部分的功能抽象成数据应用引擎。
数据开发套件是整个数据中台PaaS的核心,是基于开源生态的Spark和Flink做为计算引擎的基础上,为数据开发者提供了一套开发界面。一方面是方便开发者使用数据平台,简化数据同步和数据开发任务的创建、发布、调度、运维等一系列数据开发任务,提升生产效率。另外一方面,通过统一的开发入口,可以实现元数据的自动录入、数据血缘关系的识别等,再配合数据地图的类目管理和权限管理,为数据治理提供了极大的便利。数据开发是落地数据中台的关键过程,既需要开发工具的支持,也需要数据建模的约束,数栈开发套件中也引入了一套基于阿里巴巴多年数据中台实践的数据模型工具,来帮助企业规范数据建模,提升模型的生命力。数栈的数据开发平台,可以兼容多个物理集群,并支持在单集群上实现多租户资源隔离,既可以帮助企业实现一套大数据平台多个部门分租使用,也可以帮助企业整合现有多个集群统一管理。
除了数据开发套件,当前版本的数栈还有三个相对可以独立部署的产品,包括数据质量、数据API和标签工厂。
数据质量,主要用于检查数据任务生产的数据的质量情况。数据开发和应用开发不同的地方,在于即使数据开发任务运行成功没有报错,最终的结果表中的数据还是有可能不满足业务需要,原因可能有很多,比如源表中数据异常、调度时间错误等等。数据质量产品支持针对表级和字段级别设定校验规则,既可以针对单张表做校验,也可以针对两张表做逐行校验。更重要的是,数据质量产品中内置了大量经过阿里数据生产实践沉淀下来的校验规则,即配即用,非常方便。
数据API,顾名思义,可以将数据表快速的通过配置创建成对外服务的API,加速数据业务化的过程。传统的数据仓库通常用于分析报表,有大量的报表类产品可以读取数据仓库的数据来做展现。但企业花费巨大的人力物力财力构建数据中台,当然不会仅仅满足于分析报表类的应用,而是希望以数据驱动为中心,实现数据和业务产品的流转闭环,可以说数据中台80%以上的应用场景应该是直接形成数据产品和业务产品之间实现服务连接。数据API可以提升数据服务化的效率和能力,结合API Gateway的能力,也可以将数据服务对外开放
标签工厂,一定程度上和数据API有一些共通的地方。为什么还要单独设计一款产品?在多年的大数据踩坑经验中,数据的标签化是一个非常有效的经验。不管是新零售场景中最关注的人的数据,一方面需要通过ID识别出人,另外一方面更重要的是将人的各种相关的数据包括行为数据、交易数据、娱乐数据等关联到这个ID上,但这些数据有些是结构化的,有些是非结构化的,有些是显性的,有些是隐性的,怎么有效的利用这些数据一直是一个难题。从数据中台的理念出发,将这些数据通过统计、算法等手段,加工成容易被上层各种数据应用产品利用的标签,是被实践证明高效可行的方案。标签工厂产品的定位,就是希望将这个经验落地成工具,加速这个过程。
当然,做为企业级一站式数据中台PaaS,数栈的产品体系还在不断丰富当中,比如袋鼠云实时炫酷的数据可视化大屏的背后,也有一套可独立部署的成熟的大屏引擎Easy[V],配合数据API,也可以赋能企业客户自己定制大屏。同时,为了更高效的部署和监控数栈,还有一套称之为底座的EasyManager产品做为幕后英雄,数栈集群的日志分析则有袋鼠云日志可以提供完整的支撑。
现阶段来说,袋鼠云还需要不断深入行业客户一起共创,随需定制。数栈,让数据产生价值。