31 | 模块答疑:为什么大数据平台至关重要?

前面说过,软件大体可以分为两种,一种是为最终用户开发的,实现用户需要的业务功能;另一种是为软件工程师开发的,供软件工程师使用。我在专栏前三个模块讲到的各种大数据产品,都属于后一种,最终用户不可能自己提交一个 Hadoop 程序去执行大数据计算,这是软件工程师的工作,因此大数据产品也是为软件工程师开发的。而如何让软件工程师能够便捷地提交各类大数据计算程序给大数据计算引擎去执行,如何将用户实时数据转化为大数据产品的数据源,如何利用好大数据的计算结果,这些都是大数据平台的职责范围。

大数据平台将互联网应用和大数据产品整合起来,构建成一个完整的系统,将实时数据和离线数据打通,使数据可以实现更大规模的关联计算,挖掘出数据更大的价值,从而实现数据驱动业务,通过数据统计发现业务规律(也就是机器学习模型)。而利用这个规律对未来的数据进行分类和预测,使系统呈现出智能的特性,也为互联网未来发展和人类的生产生活创造了无限可能。

大数据平台将互联网应用和大数据产品整合起来,一方面使互联网应用变得更加智能、强大;一方面也使得大数据产品实现技术落地。技术不同于科学,科学拓展人类的认知边界,而技术是人们改造世界的工具,科学的成果可以转化为技术;而技术真正能够改造世界,需要技术落地,真正应用到生产过程中。用我们熟知的 Hadoop 为例,即使它的技术再厉害,如果没有具体应用,没有被广泛使用,同样也很难说明它有多大的价值。所以技术落地使技术产品实现真正价值,也正是大数据平台使得大数据技术产品可以落地应用,实现了自身价值。

所以,大数据平台不但对应用至关重要,对各种大数据技术产品也至关重要。事实上,大数据平台对大数据工程师的技术进阶也非常重要。

这些年来,多次有同学咨询如何成为软件架构师。软件架构师,顾名思义,就是从事软件架构设计的那个人。而关于软件架构,其定义是“关于软件各个组成部分及其关系的描述”,所以软件架构师就是对软件各个组成部分及其关系进行设计和描述的那个人。软件的各个组成部分包括业务组件模块,比如用户管理模块、订单处理模块,也包括技术组件,比如缓存组件、消息队列组件,当然还有大数据技术组件。

软件架构师要想设计出一个符合业务场景,便于开发维护的软件架构,必须要对业务很熟悉,还要对技术很精通。要将复杂的业务拆分成较小的、低耦合高内聚的、便于开发维护的模块;还要对各种技术组件的功能特性、技术原理、使用和调优方法很熟悉。软件架构师需要选择合适的技术组件应用到自己的软件架构中,并在将来的开发使用过程中指导工程师正确使用这些技术组件,还要能根据业务需要对这些技术组件进行适当的调优甚至改造。

所以,我的观点是,从按照需求进行业务功能开发的程序员进阶到软件架构师,并不是随着经验积累、工作年限的增加就能自动完成的。如果你一直按照别人给定的技术架构和业务需求开发代码,你很难从更高的层面去思考软件的架构是如何设计出来的,也缺乏明确的目标去掌握那些真正有难度的、底层的技术。

因此帮助你实现技术进阶,同样也是这个专栏当初设计的一个初衷。专栏前面三个模块希望你能了解、掌握大数据技术产品组件的原理,然后通过模块四,将各种大数据技术产品融会贯通,应用到自己的开发实践中,构建一个大数据平台。而通过专栏系统的学习,一方面可以实现大数据的业务价值,另一方面也可以使自己从业务开发者的角色,逐步进阶成为软件架构设计者的角色。

专栏确实不需要你有任何大数据背景就可以跟着专栏开始学习大数据,但是并不希望你学完专栏后,还只是打了一个大数据的基础,更希望能掌握构建大数据系统大厦的能力。这当然会有难度,学习过程中也会有挫折感,但是依然希望能坚持学习,即使有些技术不能完全掌握,但是至少可以让视野达到一个更高的高度,去感受架构师如何思考架构设计,并可以把收获应用到未来的学习工作中,让自己有不断进步的目标和动力。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值