目前,在基于大数据技术的数据中台建设过程中,由于缺乏完备的架构参考和类似于“脚手架”的原型项目,很多IT团队会在工程技术层面上感到无从下手。开发人员迫切地需要设计良好的架构参考和简单易用的原型项目帮助他们快速启动自己的数据中台建设,本书就是为这一目标而写作的。
本书以大数据平台的架构设计为主题,围绕一个2万行源代码的原型项目讲解和演示如何在工程技术层面构建当下流行的数据中台。全书涵盖建设一个企业数据平台所需的各个重要环节,包括基础设施建设、数据采集、主数据管理、实时计算、批处理与数据仓库、数据存储及作业调度,每个环节独立成章,每一章介绍对应主题的架构方案和技术选型,然后结合原型项目讲解具体的实现细节。
如果你是一位架构师,本书可以帮助你提升对大数据平台的整体把控力;如果你是中高级开发人员,建议你选择自己感兴趣的章节深入学习原型项目的代码;如果你是企业的CIO或数据团队的负责人,本书的第1、2、4章对于你定制企业数据中台战略、规划数据平台蓝图及组建数据团队都有重要的参考价值。
★ 数据中台建设工程实战 首著
★ 大数据平台建设脚手架 首著
★ 涵盖建设一个企业数据平台所需各个重要环节
★ 不仅有架构方案、技术选型,还有实现细节
★ 更有作者14年相关从业经验的总结
★ 以及长达3年的对本书内容的雕琢
★ 书中的知识和见解可以复用于很多企业
★ 丰富翔实的原型系统代码是一份宝贵的“礼物”
★ 这是一本多年大数据平台建设的总结之作
★ 也是一本数据中台工程建设实践指导之作
★ 可以说是整个数据行业的“宝贵财富”
★ 不同的读者都将从本书中获益匪浅
★ 架构师:可提升对大数据平台的整体把控力
★ 中高级开发人员:可深入学习原型项目代码
★ CIO或数据团队的负责人:可参考数据中台战略、规划数据平台蓝图及组建数据团队
序
在当今如火如荼的企业数字化进程中,信息技术发挥的作用越来越重要,IT部门在企业中肩负的责任越来越重大。过去,IT部门通常被归入企业的成本中心,从硬件资源到软件许可,从项目研发到产品采购,企业一直被动地在信息化建设上进行投入。而伴随着数字化浪潮和大数据时代的来临,信息技术已经逐渐转变为驱动企业运营和创新的核心动力之一,在业务流程优化、面向终端消费者的数字化转型,以及提升服务质量、改善用户体验方面都发挥着不可替代的作用。作为企业中唯一兼具技术背景和业务知识的团队,IT部门正从以往的业务支持与技术咨询的角色向业务战略合作伙伴的角色转变,凭借自身独特的优势,IT部门在未来将转变为企业的业务价值创造中心,在电子商务、互联网营销和新零售等新兴业态和商业模式中扮演更加主动的角色。
现代企业的IT生态大体上可以分为应用和数据两大组成部分。过去,核心的业务系统几乎无一例外都是应用系统,这些系统帮助企业维持日常运营,一直是IT部门的工作重心,而数据系统往往处于“后端”的位置上。一方面数据系统需要依赖应用系统生成的业务数据,另一方面传统数据系统主要提供报表服务,并不直接参与业务流程。然而最近几年,随着企业数据的爆炸式增长,以及大数据与人工智能的普及和推广,越来越多的企业意识到“数据”对企业的重要性。一方面,企业领导者和业务部门越来越需要准确、及时甚至带有预见性的数据分析帮助他们做出业务决策;另一方面,以大数据和人工智能为代表的新兴技术正在向业务领域深度融合,将从数据中汲取的重要业务价值直接反哺到业务运营中(用户画像系统就是这一趋势的典型案例)。这些因素促使很多决策者将建设“数据驱动型”企业作为企业的战略目标之一,进而加大在数据领域的投入,也促使IT部门开启了新一代数据平台的建设工作。
目前,新一代数据平台均以大数据和人工智能作为核心技术支撑,在方法论上,数据中台理论则是现在行业内讨论最为热烈的话题,这些理论和技术体系庞大而复杂,需要专业的人才和团队进行建设和管理,其中很多工作充满挑战,对IT部门和企业来讲都是开创性的,很难找到先例借鉴和参考,也正因为如此,在这一过程中积累的经验和最佳实践才是非常宝贵的。这本书的架构理论、方案和一些重要建议都经过了实践的检验,并取得了良好的效果,我相信书中的知识和见解可以复用于很多企业,帮助他们打破信息孤岛,将线上与线下渠道连接在一起,为消费者提供更佳的用户体验,并帮助企业在激烈的市场竞争中迅速而敏捷地捕捉商机。
欧莱雅集团亚太区首席信息官
Rita Lau
前 言
2008年,Hadoop成为Apache的顶级项目,以此为开端,大数据技术迎来了十多年的持续发展,其间随着Spark的异军突起,整个大数据生态圈又经历了一次“装备升级”,变得更加完善和强大。在这一进程中,企业数据平台的设计理念也在不断进化,从最初的“数据仓库”到后来的“数据湖”,再到今天的“数据中台”,方法论革新的背后是大数据技术的强力支撑。今天,很多企业已经完成了早期对大数据技术的尝试和探索转而进入应用阶段,在实际的工程建设中,IT团队遇到了很多问题和挑战,有的团队在摸索中积累了一些有价值的经验,有的则走了一些弯路,付出了或大或小的代价。
总的来说,大数据的整体架构和工程方案在业界还没有锤炼到像Java社区的企业级应用那样成熟,在Java社区不但有完备的架构理论和模型,更有基于这些理论沉淀下来的标准工程模板,以前有Appfuse,后来有Spring Boot,这些被称为“脚手架”的原型工具极大地方便了Java的企业级应用开发,促进了行业技术架构和工程标准的统一。在大数据领域,开发者们也在迫切地寻求成熟的架构方案和类似于“脚手架”的原型项目帮助他们快速构建自己的企业数据平台,本书就是为这一目标而写作的。
作为本书的作者,我曾经参与过多个大数据平台的设计和开发工作,在长期的工作中积累了一些值得分享的宝贵经验。同时,作为一名坚持在一线编写代码的架构师,我还会在项目初期为团队搭建工程原型,在经过多个项目的优化和提炼之后积累了一套成熟通用的原型方案,本书讲解的原型系统正是由此而来的。它不仅仅是这本书的示例代码,更是一个能应用于实际项目中的“脚手架”,其源代码具有很高的参考性和可移植性,将虚拟的业务逻辑抽离之后能很容易地应用到实际项目中,以帮助团队快速启动开发工作。在本书中我会把大数据平台的架构设计和原型系统的具体实现结合在一起讲解,希望能帮助读者有效地学习大数据平台的设计方法和各项技术。
本书涵盖大数据平台建设的各个重要环节,包括基础设施建设、数据采集、主数据管理、实时计算、批处理与数据仓库、数据存储和作业调度等,每个环节独立成章,每一章会介绍相应主题的架构方案和技术选型,然后结合原型项目讲解具体的实现细节。由于大数据涉及的技术众多,而本书讨论的又是平台级的架构和实现,无法就每一项技术都深入展开,所以本书的读者需要具备一定的大数据知识和技术背景。如果你是一位架构师,这本书可以帮助你提升对大数据平台的整体把控力;如果你是中高级开发人员,建议你选择自己感兴趣的章节深入学习原型项目代码;如果你是企业的CIO或数据团队的负责人,本书的第1、2、4章对于你定制企业数据战略、规划数据平台蓝图及组建数据团队都有重要的参考价值。
本书讲解使用的原型项目已经在GitHub上开源(购买本书后可查看)。它是一个基于Maven构建的多模块项目,每个模块对应大数据平台上的一个重要环节,同时对应本书的一个具体章节,但与很多计算机图书不同的是,这些模块不是琐碎示例代码的集合,而是在一个统一业务背景下分工协作的标准项目,是一个完备的大数据平台原型系统。
最后,给购买本书的读者一条诚恳的建议:“Get your hands dirty!代码先行!”这是能学到本书精髓最好的方法。