如果要给 2013 年的技术圈选一个最高频的词,我会毫不犹豫地投给”大数据”。这一年,从运营商的机房到互联网公司的会议室,再到各种行业展会的背景板,”大数据”三个字几乎无处可躲。有人把它捧成下一代石油,有人把它贬为营销噱头。作为一个真正在生产环境里跟 Hadoop 打过几年交道的人,我想在这个 11 月,把这个词掰开揉碎,说说它到底是什么、不是什么,以及它对普通工程师意味着什么。
一、大数据不是”数据多”那么简单
外行一听”大数据”,直觉反应就是”数据量大”。这个理解只摸到了皮毛。行业里讲大数据,通常绕不开三个 V:Volume(量大)、Velocity(产生得快)、Variety(类型杂)。真正难的,往往不是第一个 V。
我见过太多团队,一上来就把”我们有几个 TB 的数据”挂在嘴边,仿佛数据大了就自动高级。可当你追问这些数据怎么进来、怎么清洗、怎么变成一条业务上能用的结论时,往往就答不上来了。数据量本身不产生价值,产生价值的是你有没有一套能在合理时间里,把这些杂乱、高速涌入的数据处理成答案的系统。这才是大数据工程的真问题。
二、Hadoop:这套东西为什么是它唱主角

过去十年,处理海量数据的传统思路是买更大的机器——纵向扩展,纵向再纵向。可机器总有上限,价格还贵得离谱。Hadoop 走的是另一条路:横向扩展。它假设你手上是一堆便宜的、会坏的普通服务器,然后用软件在上面堆出一个看起来像一台超级计算机的东西。
核心其实就两块。一块叫 HDFS,分布式文件系统,把一份数据切成块、分散存到成百上千台机器上,并且自动备份。另一块叫 MapReduce,一种编程模型:把一个大任务拆成无数个小任务,丢到存着对应数据的机器上就地计算,最后再把结果汇总。数据不动,计算动——这是它和传统数据库最根本的分野。
到 2013 年,这套东西已经在互联网巨头内部跑了多年。搜索公司拿它建网页索引,电商公司拿它做日志分析和推荐,社交公司拿它做用户行为画像。它不性感,甚至有点笨重,但它便宜、可靠、能扛。
三、2013 年这股热潮,热在哪里
这一年大数据突然变得全民皆知,有几个现实推手。第一,移动端爆发。智能手机普及之后,用户每一次点击、每一次滑动、每一次定位,都在产生此前根本不存在的数据。数据的来源一下子从”人主动录入”变成了”设备自动记录”,量级跳了一个数量级。
第二,存储和计算的成本在下降。磁盘越来越便宜,开源软件免费,中小企业第一次有了玩得起大规模数据处理的条件。第三,资本和舆论一起加温。各种大数据创业公司拿到融资,媒体把”用数据说话”抬到了前所未有的高度。一时间,仿佛不挂个大数据的牌子,都不好意思开公司。
作为一线从业者,我的态度是:方向是真的,泡沫也是真的。数据确实在成为一种生产资料,但”拥有数据”和”用好数据”之间,隔着一整个工程团队的距离。
四、别被工具绑架:先想清楚问题
我最怕看到的一种项目,是”为了大数据而大数据”。业务方连自己想解决什么问题都没想清楚,听说 Hadoop 火,就先买一堆服务器把集群搭起来。半年之后,集群上跑着几个没人看的报表,机器空转,钱花了不少。
我的建议永远是反过来:先从业务问题出发。你是要做实时推荐,还是要做离线的用户分群?是要监测系统异常,还是要算清楚每一笔钱花在了哪里?不同的问题,对应完全不同的技术选型。很多时候,你根本不需要 Hadoop——一个设计良好的关系型数据库加上一点点索引优化,就够你用很久了。工具是为问题服务的,不是反过来。
五、给工程师的几句实在话
如果你是这个行当的新人,想在这波浪潮里找到自己的位置,我有三点建议。其一,把 Linux 和 shell 命令练扎实。大数据平台九成的时间,你是在命令行里和日志、进程、配置文件打交道,不是在写漂亮的界面。其二,理解分布式系统的基本矛盾:网络会断、机器会坏、数据会不一致。别把单机世界的直觉直接搬到分布式环境里。其三,学会讲故事。技术做出来,最后要能用人话讲清楚它给业务带来了什么。
大数据不会像当年某些概念那样一吹就破,因为数据确实在越积越多,处理数据的需求是真实的。但它也不会像宣传里那样,让每家公司一夜之间变成智能公司。它是一场需要沉下心的慢功夫。2013 年只是这场长跑的发令枪响而已。
六、一个真实的日志处理场景
我用一个自己经手过的例子,把这套东西串起来。某电商网站每天要处理几十亿条用户访问日志,存在一堆应用服务器的本地磁盘上。过去想知道”昨天哪款商品被点得最多”,工程师得写脚本去每台机器上捞日志、再慢慢汇总,等结果出来,业务早变天了。
上了 Hadoop 之后,流程变成这样:日志先被统一采集到 HDFS 上,一份数据在集群里存了好几份副本;然后每天凌晨跑一个 MapReduce 作业,按商品维度把点击数累加。这个作业被自动调度到那些存着相关日志的机器上就近计算,几十亿行数据几个小时就跑完,结果直接写进一张供查询的表里。业务方第二天早上打开报表,看到的就是最新的数字。
这件事的意义在于:它把一个过去需要专门团队、跑一整晚的活儿,变成了一套每天自动运转的流水线。数据的价值不是在某个深夜被一次性榨干,而是被持续地、低成本地反复使用。这才是大数据平台真正改变的东西。
当然,代价也不轻。这套系统的运维复杂度远不是单机数据库能比的:副本要不要一致、任务失败怎么重试、集群节点挂了谁来顶、资源怎么在多个作业之间分配。一个成熟的大数据平台,背后是一支默默填坑的工程师队伍。
七、冷静看待这场热潮
站在这个时间点往回看,Hadoop 这类技术真正的价值,不在于它有多新潮,而在于它把”处理海量数据”这件从前只有巨头才玩得起的事,变成了一种可以被更多人掌握的公共能力。潮水会退去一部分,但被冲上岸的那些真正有用的东西,会留下来。对于愿意沉下心的工程师来说,这是一个值得长期投入的方向,而不是一场追逐风口的短期投机。
0 条评论
还没有评论,快来抢沙发吧!
发表评论