|
|
51CTO旗下网站
|
|
移动端

前言

《大数据平台基础架构指南》本书重点介绍大数据开发平台服务构建的整体思路和解决方案,内容涵盖一个成熟的大数据开发平台必不可少的各类核心组件:工作流调度系统、集成开发环境、元数据管理系统、数据交换服务、数据可视化服务、数据质量管理服务,以及测试环境的建设等。本节为前言。

作者:刘旭晖来源:电子工业出版社|2018-11-11 10:32

前言

Do the right thing first, then do the thing right ——先做正确的事,再把事情做对。

本书的目标定位

市面上介绍大数据具体技术组件的书很多,既有像《Hadoop权威指南》这种介绍Hadoop生态系中主要的几种存储计算组件的原理和使用的经典入门书籍,也有各种针对单一组件,譬如HBase/Hive/Spark/Storm,介绍其架构和代码实现的书籍。

但这些书籍多半是从各个组件自身内部技术实现的微观角度来展开内容,告诉读者的更多是怎么实现和怎么使用。很少有书籍从需求规划的角度来探讨该做什么和为什么要做的话题,而从大数据整体平台建设,以及产品和服务的宏观角度入手的书籍,就更加少了。

笔者从事大数据相关领域的工作,是从加入Intel开源技术中心为Hadoop社区贡献代码开始的,其间参与过Hadoop、HBase、Phoenix、Tachyon、Spark等相关项目的改进工作。大约三四年前,为了更贴近大数据的实际工作应用场景,笔者来到了蘑菇街,开始带领蘑菇街的大数据基础架构团队,构建体系化、服务化的大数据开发平台。

在几年的大数据开发平台建设过程中,笔者深切地体会到它与之前自己所从事的单个具体大数据开源项目组件的开发工作有着很大的不同。不同之处不在于具体的技术细节实现方面,而在于更加软性的目标、方向、思路、功能规划和产品实现方面。

在单个具体组件的开发工作中,特别是在笔者早年所处的开源项目开发环境中,开发人员大多时候是在一个问题非常明确、环境相对简单的场景下工作。比如,修复一个Bug、提升某个环节的性能、拓展一个具体的功能,开发人员权衡更多的是在单一系统内部,各种实现方案对性能和稳定性的影响等。

而对于大数据开发平台的建设工作来说,具体组件的相关实现工作固然也很需要,但整体解决方案的权衡把握才是更加关键也更加困难的地方。对于组件的实现,社区往往有比较成熟的基础可供借鉴,即使暂时没有,它所需要解决的问题和目标通常也比较客观和标准。而平台构建和整体服务解决方案相对来说就没有太多的现成经验可供借鉴,答案本身往往也没有绝对的好坏对错的衡量标准。有时候,甚至连需要解决的问题是什么,该往哪个方向走,都未必有明确的答案。更多的时候,平台建设者需要结合实际的业务场景和用户需求,不仅从技术架构,更要从代价、收益、业务价值、易用性和可维护性等众多角度进行综合评估和取舍,不仅需要纵向地在一个系统内部思考问题,还要横向地在多个系统之间权衡比较。

所以,平台建设工作往往更需要开发人员的实践经验积累,需要培养跳出现象看需求本质的习惯和思维能力。这些习惯和能力显然不是一两天就能够快速培养起来的,也不是简单通过看代码就能够领会的。但如果能有更多的他人经验总结和实践案例供学习参考,相信上手的速度可以加快很多。

笔者在开始构建大数据开发平台的工作之初,也面临着同样的问题。希望能找到这样的指导性资料和文档来加速学习,提高工作效率。但现实中能找到的书籍更多的是偏“务实”的技术细节介绍和分析的书籍,几乎没有书籍集中讨论笔者想寻找的内容,而且内容多半零散分布在各类博文、项目Wiki、会议分享之类的材料中,需要自行在实践中不断总结和归纳。

正因为对这类文档的缺乏深有体会,笔者从2017年开始在自己的公众号上,结合自己几年来平台建设的实践经验总结,开始撰写一些“务虚”的文章,希望能够给一些入行不久,同样面临上述问题困扰的同行一些经验参考,本书是对这些文章进行整理和总结的成果。希望能够系统化地介绍一下大数据开发平台服务构建的整体思路、目标、方针和可能的解决方案,最终目的不是告诉读者具体应该怎么做,而是期望起到引导方向、启发思路的作用,毕竟问题的解决方案不止一种,选择正确的问题去解决才是最重要的。欢迎读者能就本书的内容和笔者进行更多的交流探讨。

本书内容简介

本书的内容大致可以分为三部分。

工欲善其事,必先利其器。要想建设好大数据开发平台,首先要做好架构者和开发者自身的思想建设工作。***部分由前两章组成,探讨大数据平台的整体建设思路和目标,以及开发者如何培养正确的产品和服务意识。

第二部分具体介绍大数据开发平台的各种核心组件。在这一部分,笔者不会详细介绍Hadoop、Hive、Spark等相对成熟、标准的基本存储计算组件,深入了解这些组件更好的方式,是去阅读***的官方文档。

笔者会重点介绍各种并没有标准或尚未足够成熟的解决方案,从开发平台建设的角度来说,它们都是每个成熟的开发平台必不可少的核心组件,如工作流调度系统、集成开发环境、元数据管理系统、数据交换服务、数据可视化服务、数据质量管理服务、测试环境的建设等。

介绍这些系统和服务的重点,也不在于对某个具体实现方案的详细代码进行解析,大多首先介绍它们背后的基础原理和背景知识,然后从需求和功能定位的角度,分析各种实现方案的目标出发点,以及各种方案的优缺点,***再结合蘑菇街自身的实践经验,介绍一下蘑菇街在这些组件上具体的功能需求分析、产品目标定位,以及一些经验教训和将来的改进方向。目的还是让读者有一个完整的感性体验,进而找到最适合自己的解决方案,而非对我们的方案照搬照做,那样就违背笔者撰写本书的初衷了。

第三部分由***两章组成,其中第9章是蘑菇街大数据平台的跨机房迁移实践经验分享总结,对于业务正常发展的公司团队来说,这可能是迟早要遇上的问题,只是具体形式和规模不同而已。

第10章则是从大数据平台开发人员自身的能力建设、职业规划等角度入手,宽泛地谈谈工作乃至生活中会面对的价值取舍、方向选择,以及做事的行为准则、方式方法等问题。不敢上升到人生观、价值观的高度,更多的是就笔者十多年工作经历的一点个人感悟,以及对一些刚踏入工作不久的同学身上常见问题和困扰的一些观察体会,与大家一起交流探讨一下。

It's never wrong to do the right thing ——做正确的事永远不会有错。希望本书能够给各位读者带来一些有益的启发,以在大数据平台开发领域,去自主思考和选择正确的道路,去探寻自己的答案,哪怕***全盘推翻了笔者在本书中的相关经验总结,只要触发了这些动作,那笔者的目标也就算达到了。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书会第9群:808517103

【责任编辑:book TEL:(010)68476606】

回书目      下一节
点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

289人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

645人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

SQL应用与开发标准教程

本书主要介绍了SQL的数据库应用和开发技术,内容涉及关系数据库和SQL概述,SQL环境,SQL对于数据表的操作,数据库查询知识,SQL数据的修改...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客