数据中台(架构篇)
声明:本文归属一寸HUI所有。@一寸HUI
在上一篇文章数据中台(方法论篇)中主要介绍了建设数据中台要建设哪些内容、建设的步骤以及建设过程中需要遵循一定的规范并符合公司的战略。也提及到了阿里巴巴数据中台的全景图,有了上面的基础,现在更能方便的理解数据中台的架构了。先来回顾下数据中台的概念。
数据中台是一套可持续“让企业的数据用起来”的机制,是一种战略选择和组织形式,是依据企业特有的业务模式和组织架构,通过有形的产品和实施方法论支撑,构建的一套持续不断把数据变成资产并服务于业务的机制。数据中台是处于业务前台和技术后台的中间层,是对业务提供的数据能力的抽象和共享的过程,数据中台通过将企业的数据变成数据资产,并提供数据能力组件和运行机制,形成聚合数据接入、集成、清洗加工、建模处理、挖掘分析,并以共享服务的方式将数据提供给业务端使用,从而与业务产生联动,而后结合业务系统的数据生产能力,最终构建数据生产>消费>再生的闭环,通过这样持续使用数据、产生智能、反哺业务从而实现数据变现的系统和机制。数据中台(介绍篇)
数据中台功能定位
数据中台的功能定位是完成公司内部数据能力的抽象、共享和复用,因此,数据中台的架构必须围绕这三个功能来设计。与传统的大数据平台不同,数据中台搭建于大数据平台及数据仓库之上,将大数据平台和数据仓库所实现的功能以通用数据能力的形式提供给企业的所有部门。因此,单从功能上来讲,大数据平台实现具体的数据能力,数据仓库是业务建模、数据治理发生的地方,而数据中台则需要把大数据平台、数据仓库的数据和接口组织起来,通过打通数据提升数据能力,通过共享提高全局使用效率。因此数据中台的架构设计应该考虑如何有效地完成抽象、共享和复用的功能。
数据中台的建设应该贯穿数据处理的全生命周期,即从原始数据到最后产生数据价值的整个流程,且整个流程都处于数据中台的管理之下。下图显示了从原始数据到实现数据价值的完整流程,其中每一步都是数据中台建设需要考虑的:数据发现/探索,数据采集/导入,数据建模/治理,数据转换/分析,数据发现/探索,数据采集/导入,数据建模/治理,数据转换/分析
数据中台要做的就是把上述流程在全局标准化、规范化,让这个流程产生的结果和能力能够在全局共享和复用。
数据中台的架构设计,其核心在于用全局统一的标准和规范来实现数据赋能,这与单一部门实现上述流程的侧重点是不同的。在数据中台的设计中,需要考虑如何灵活地支持数据能力的抽象,管理各种数据复用,确保它们都符合统一的数据规范和安全规则,同时又使各个部门能够独立演变属于自己的数据,而不需要进行复杂的多部门协调。数据中台应该能够支持各个部门在一个统一平台上完成上述流程中的所需功能,同时在发现有全局共享需要的时候,能够方便地将特定的数据能力共享给全公司,并且在后续的演变中不会因为协调的原因而拉长数据能力的演进过程。
数据中台架构设计原则
面向未来:应该能够很容易地将新出现的大数据、人工智能、机器学习应用和框架加入系统。新技术以前所未有的速度出现,如果数据中台不能快速适应变化,各部门可能很快就会自己另起炉灶,形成新的应用及数据孤岛。
需求驱动:数据中台的存在是为了更快、更好地满足业务部门的需求,因此其架构设计应该以如何快速处理需求为核心。
面向个体:系统的每个使用者面对的都是系统的一个方面,但是他们都应该能够从系统中获得他们需要的数据能力,自助完成他们的目标,达到最优的效率。
面向协作:考虑系统的每个使用者的行动如何影响整个系统的功能。个体用户对系统的使用会以自适应的方式影响整个系统的演进,例如,多个用户在有类似的数据能力需求时如何协同开发,我们的架构应该能清楚地掌握系统中核心元素之间的关系和连接。
面向变化:对于系统中所有的元素(用户、数据、应用、资源),架构设计必须考虑其变化和生命周期。
容错能力:对于数据中台这样复杂的系统,我们必须假设所有组件都有可能失败或出错。系统必须具备极强的容错性以及在发生大多数错误时自动恢复的能力。
数据安全:数据越来越成为一个公司的核心价值,数据中台是公司数据处理和能力共享的核心组件,我们要假设所有的规则都有人违背,一定会有人试图违规访问数据。数据中台应该能让每个用户都放心使用系统,而不用担心会使系统意外崩溃。
不要重复造轮子:应该尽量避免重复开发系统功能组件,系统中的数据和能力要能高效安全地在各个部门之间共享。这意味着每个用户在使用数据中台的时候,都能够对系统中的可用数据和能力有个全局视图。
兼顾灵活性和易用性:作为数据中台,如果把所有组件都做得傻瓜化,虽然对于新手来说很容易上手,但是在功能和效率上会有一定限制;如果提供很多灵活的选项,则新手可能就会淹没在复杂的系统配置中。必须在二者之间找到一个比较好的平衡。
数据中台架构
要搭建一个企业级的数据中台,是一个及其庞大的一个工程,涉及到很多的方面,我们先看一个数据中台的架构图,当然数据中台的架构在每个企业都是不一样的,要结合自己公司的业务场景才是符合公司的数据中台架构,下图只是数据中台架构图的一个例子。
计算存储平台:为数据中台提供计算和存储,存储可以存储结构化,半结构化,非结构化数据,计算有实时计算、离线计算,交互式计算,图计算等
数据集成开发平台:数据集成开发平台能最高效地使用底层的组件和数据,提供从源数据到数据能力的转换。数据集成平台是数据中台数据接入的入口。数据中台本身几乎不产生数据,所有数据来自于业务系统、日志、文件、网络等,这些数据分散在不同的网络环境和存储平台中,难以利用,很难产生业务价值。数据集成是数据中台必须提供的核心工具,把各种异构网络、异构数据源的数据方便地采集到数据中台中进行集中存储,为后续的加工建模做准备。数据集成方式一般有数据库同步、埋点、网络爬虫、消息队列等;从汇聚的时效性来分,有离线批量汇聚和实时采集,也有增量同步和全量同步。在数据集成的过程中一般会用到datax,flume,sqoop,canal等工具。
数据基础能力平台:常用的大数据平台组件、数据仓库、数据湖的工具、ETL工具、数据可视化工具等。通过数据集成模块汇聚到中台的数据没有经过处理,基本是按照数据的原始状态堆砌在一起的,这样业务还是很难使用。数据开发是一整套数据加工以及加工过程管控的工具,有经验的数据开发、算法建模人员利用数据加工模块提供的功能,可以快速把数据加工成对业务有价值的形式,提供给业务使用。数据开发模块主要面向开发人员、分析人员,提供离线、实时、算法开发工具,以及任务的管理、代码发布、运维、监控、告警等一系列集成工具,方便使用,提升效率
数据体系:有了数据集成、数据开发模块,中台已经具备传统数据仓库(后面简称:数仓)平台的基本能力,可以做数据的汇聚以及各种数据开发,就可以建立企业的数据体系。数据体系是中台的血肉,开发、管理、使用的都是数据。大数据时代,数据量大,增长快,业务对数据的依赖也会越来越高,必须考虑数据的一致性和可复用性,垂直的、烟囱式的数据和数据服务的建设方式注定不能长久存在。不同的企业因业务不同导致数据不同,数据建设的内容也不同,但是建设方法可以相似,数据要统一建设,建议数据按照贴源数据、统一数仓、标签数据、应用数据的标准统一建设,数据体系建设最终呈现的结果是一套完整、规范、标准、准确的数据体系,可以方便支撑数据应用。
数据资产管理:通过数据体系建立起来的数据资产较为偏技术,业务人员比较难理解。资产管理是以企业全员更好理解的方式,把企业的数据资产展现给企业全员(当然要考虑权限和安全管控),数据资产管理包括对数据资产目录、元数据、数据质量、数据血缘、数据生命周期等进行管理和展示,以一种更直观的方式展现企业的数据资产,提升企业的数据意识。
数据服务体系:前面利用数据集成、数据开发建设企业的数据资产,利用数据管理展现企业的数据资产,但是并没有发挥数据的价值。数据服务体系就是把数据变为一种服务能力,通过数据服务让数据参与到业务,激活整个数据中台,数据服务体系是数据中台存在的价值所在。企业的数据服务是千变万化的,中台产品可以带有一些标准服务,但是很难满足企业的服务诉求,大部分服务还是需要通过中台的能力快速定制。数据中台的服务模块并没有自带很多服务,而是提供快速的服务生成能力以及服务的管控、鉴权、计量等功能
运营体系和安全体系:通过前面的数据集成、数据开发、数据体系、数据资产管理、数据服务体系,已经完成了整个数据中台的搭建和建设,也已经在业务中发挥一定的价值。运营体系和安全管理是数据中台得以健康、持续运转的基础,如果没有它们,数据中台很可能像个一般项目一样,会在搭建起平台、建设部分数据、尝试一两个应用场景之后而止步,无法正常地持续运营,不能持续发挥数据的应用价值。这也就完全达不到建设数据中台的目标。数据安全管理是指对数据设定安全等级,按照相应国家/组织相关法案及监督要求,通过评估数据安全风险、制定数据安全管理制度规范、进行数据安全分级分类,完善数据安全管理相关技术规范,保证数据被合法合规、安全地采集、传输、存储和使用。企业通过数据安全管理,规划、开发和执行安全政策与措施,提供适当的身份以确认、授权、访问与审计等功能。数据的安全治理应贯穿于数据的整个生命周期。
参考:
《云原生数据中台:架构、方法论与实践》
《数据中台:让数据用起来》
附件:数据中台架构图,挺好的,方便以后参考,就存起来了,来源于数据中台各种架构图