4.3 数据能力中台化阶段
此时,企业已经进入了数据管理的高级阶段,需要全局的数据治理、数据能力的复用和共享以及云原生架构的支撑。在这个阶段需要解决的一个重要问题是如何避免数据孤岛和应用孤岛。
应用场景:为什么会出现数据孤岛和应用孤岛
部门A为了解决一些大数据问题,采购了厂商X的大数据解决方案,安装了一个大数据平台,导入自己的数据并开发了一些大数据应用,运行得挺不错。这个时候,部门B也需要解决一些大数据问题,于是试图采购厂商Y提供的大数据解决方案,但Y的大数据平台和X的有一些版本、组件上的差异,所以需要对X的大数据平台进行改造。问题是,这个任务由谁来完成,由谁负责改造后的大数据平台的运维?有可能厂商Y的大数据应用也需要做些改造,这可行吗?部门A的应用已经运行得很好了,部门B的应用会不会对部门A的应用造成影响(包括性能和数据安全的影响)?如果影响了,谁来负责?比较简单且快速见效的方法是直接安装厂商Y提供的端到端的解决方案。照此下去,每个解决方案都会安装一个新的大数据系统。还有一个问题是,厂商X和厂商Y底层的数据结构可能不是对外公开的,因而它们各自解决自己的问题,虽然开始互不干扰,但是后来就造成了数据孤岛和烟囱。这个时候,由于各个子系统的数据标准不一、数据格式不同,各部门之间数据无法互联互通,很难根据数据做出全局决策。
解决上面的问题,正是数据中台方法论和架构的任务。TotalPlatform保证所有数据应用的统一管理,OneID、OneModel确保各子系统中数据的互联互通,OneService负责数据能力的共享,TotalInsight确保全局数据运营的高效和价值量化。
4.3.1 全局的数据治理
必须有全局的数据治理系统来管理所有子系统的数据,确保它们能互联互通。例如,OneID要求所有关于用户的数据都必须使用同一个ID,OneModel要求所有数据仓库的模型都必须符合同样的标准。
但是这里要指出,解决数据孤岛和应用孤岛的问题,除了技术方案以外,明确责权利也很重要。出现孤岛的原因之一就是各部门的责权利不明晰。如何在使用数据中台解决孤岛问题的同时保证责权利的明晰,是一个非常重要的问题,我们将在第6章中详细描述。
4.3.2 数据能力的复用和共享
在进行全局的数据治理的同时,治理的结果必须能为公司创造价值。这个时候就类似于OneService的功能,既要求能进行全局的数据能力的复用和共享,也需要类似TotalInsight的功能,管理全局的数据资产,量化数据能力的投入产出。主要的工作如下:
·建立数据能力共享的责权利机制;
·提供全局的数据能力目录和访问机制;
·提供数据能力共享的工具、机制和流程;
·对共享的数据能力的管控和审计;
·确保共享的数据能力的高效运行。
4.3.3 云原生架构的支撑
在这个阶段随着业务的不断增长,越来越多的应用程序被添加到大数据系统中。先有Spark、Kafka,后有Flink、TensorFlow,现在又有各种新的大数据和人工智能组件。
这些就是在云基础架构上运行大数据系统的根本原因。而云平台为分析工作负载和一般工作负载提供了极大支持,并提供了云计算技术的所有好处:易于配置和部署、弹性扩展、资源隔离、高资源利用率、高弹性、自动恢复。
在云计算环境中运行大数据系统的另一个原因是大数据工具的发展。传统的分布式系统(如MySQL集群、Hadoop和MongoDB集群)倾向于处理自己的资源管理和分布式协调,但是现在由于Kubernetes、Mesos、YARN等分布式资源管理器和调度程序的出现,越来越多的分布式系统(如Spark)将依赖底层分布式框架来提供这些资源分配和程序协调调度的分布式操作原语。在这样的统一框架(见图4-5)中运行它们将大大降低复杂性并提高运行效率。
图4-5 云原生架构
第8章将详细介绍云原生架构如何帮助我们简化数据中台的运营与管理以及真正实现TotalPlatform。