写在2012年初,回顾与展望

来源:互联网 发布:idc网站源码 编辑:程序博客网 时间:2024/05/17 22:56
2011已经过去,2012开始了,谨以此文回顾过去展望未来:
到现在为止,工作已有半年,在网易杭研待的这半年收获良多,自己也成长了很多,作为一个技术人员,工程师在回顾过去的一年而思考下一年的时候想的更多是与业界,与技术相关的的东西,稍嫌乏味,稍嫌凌乱。
1.在过去的一年里实习两月,工作半年,在企业里体会到真正的开发(相对),网易杭研牛人很多(通过他们所了解到的东西比大学四年还多),对于自己职业体会成熟了很多,工作上主要内容完善分布式文件系统和修bug,我是在大学里就开始接触分布式,而且是大概在大二的时候就开始接触的,那时候就是做分布式文件系统,那时候觉得这个东西很难,可望而不可及,但是在这半年的时间里,我对整个文件系统有深入了解,并且也成为了自己的主要工作,也对它有了深入了解。现在看来当初在大学需要仰视敬畏的东西,已经成为了我生活的一部分,并且向着更深一步迈进,包括各种针对不同应用场景的文件系统实现,优劣都了然于心。而在自己足够把握它的时候,开始思考各种更进一步的东西:大数据量的访问,高并发低延迟,分布式,cap,nosql,rdbs等等这些。现在大数据已成为趋势,解决大数据情况下高并发访问,低延时要求的问题已经成为业界共同面临的难题,而这些问题的解决方法涵盖了几乎所有计算机的各个方面,数据量不断变大,ssd的出现彻底颠覆了传统磁盘io的特性,而将传统磁盘io发挥到极致的关系型数据库在过去的几十年里几乎支撑了整个计算机行业,它的内存页缓存,日志系统,checkpoint,B+树结构,索引等等设计,这一切都是围绕着传统的机械磁盘的io来设计来优化,但是ssd的出现完全颠覆了一切,再也没有让人无法忍耐的磁头一动,没有随机读写和顺序读写的巨大差距,而且在今年ssd价格会进一步降低,进一步普及,而全面的ssd应用将颠覆传统的RDBS,RDBS将要出现巨大的改变,而一直在实验室里面的PCM存储也取得了巨大突破,技术问题已经的到解决,量产可能很快了,它有着比ssd更低的成本,更长的寿命和接近内存的访问速度,ibm实验室称大概5年左右就能进入量产,这对传统的磁盘的颠覆无疑是巨大的。一句话:内存是磁盘,磁盘是磁带。其实内存更应该说是新一代的固体存储,我们正处在一个变革的时代,过去几十年计算机的定理将被打破,统治数据几十年的RDBS的地位在不断动摇(nosql),出现这些原因只有一个:计算机越来越融入我们的生活,时至今日,计算机融入到我们每个人的生活中,我们每天都在不断产生各种各样的数据,这些数据被计算机收集处理,现在我们每年产生的数据量相当于过去20年产生的数据的总和,在这种情况下RDBS面临的这么巨大且非格式化的数据量有点无力,所以nosql向雨后春笋一样的冒出。同时大数据量的产生也触动了存储设备的发展,低延时访问,高传输的速度的需求下诞生了ssd,和下一代的pcm。而在这样一个颠覆的时代,必然需要英雄也必然会产英雄,不知道谁能站在这数据的浪潮之巅,这是一个数据为王的时代。
2.在这里向google致敬,也许很多人并不喜欢google,因为提倡开放的他,实在没看到太多他将自己的核心系统开源,我们所能看到的只有那几篇空中楼阁的论文,但是这些论文是伟大的沦为,因为这几篇论文我想伟大的google致敬,也许他并没有开源什么自己的核心系统,但是他在2004年和接下来几年发布的几篇论文却掀起了数据的浪潮,也许最终站在数据浪潮上的不是他,但是这几篇论文将成为下一代数据的基石。在google之前,分布式系统对于大企业之外的人是一个神秘而令人畏惧的怪兽,但是随着最早的三大论文出现,其中基石般的分布式文件系统如雨后春笋一般冒出,人们跳出了对传统posix分布式文件系统的认识(比如NFS,这些系统应用广泛,确实也是伟大的,但是由于各种原因,让他们并不是那么美好),而mapreduce解决了人们在面临大数据处理的工具匮乏。而BigTable更是揭开了Nosql的序幕。这些论文在3,4年后由hadoop一一实现,让他们是如此贴近我们能够触摸到整个业界几乎都为此疯狂了。而在这些之中关于chuby很容易被人忽略,包括他们的hadoop版本ZooKeeper,因为上面所说到的东西可以说是后台,而ZooKeeper可以说是后台的后台,他隐藏在这些之后让人难以发现,但是真正了解他的人会知道他的伟大,他解决了在分布式环境下许多问题,为整个分布式系统的可用性和数据的一致性做出的贡献无法想象,并且让我们这些从事分布式开发解决大数据问题的开发人员带来了一把锋利的武器,ZooKeeper的代码很短,核心两个东西 Paxos和两阶段提交的变形,但是这么精炼的代码和他所解决的问题却散发着让人难以忘怀的香甜,向paxos和chuby以及ZooKeeper致敬!而这一切都是源于google的论文,让我无法自拔的崇拜着这个领先者。也许你会说真正的google最核心的那些算法都没有公布出来,但是那些是非常数学化的东西,接近于哲学,这些是工程性质的东西但是却给我们带来了巨大的反响,回溯过去,这些是现在这个数据时代的基石与源头,Google也许不是最终站在数据之巅的,但是在这场战争的开始,他就赢得了胜利,再次致敬。
3.在半年的工作中,由于工作的需求(这些工作涉及到方方面面),使我对更多的东西有这更深的了解:操作系统底层(文件系统,进程,内存,io等等),硬件的特性,复杂环境下的各种问题,编译原理(在做一个服务器内部元数据对sql的集成,也许大家对此嗤之以鼻。。。)等等,使我认识到真正系统的方方面面,和更多的不足,也使我真正了解到所谓计算机,语言是最次要的因素(js也能写jvm),重要的是你所从事的,在真正的系统中需要对方方面面的了解,磁盘io随机读写和顺序读写的巨大差距,由于Cpu缓存(多级cache)而使各种计算产生的与直觉结果的巨大差异,在大内存服务器上看到的占用巨大内存的操作系统缓存而使对文件读写带来的巨大优化,各种异步模型和无锁算法(主要是CAS,这个主要看应用,在一些系统(环境 软硬件)中能带来巨大的提升,但是又的系统却反而会拖累系统)带来的效率提升,由于硬件发展所引发的巨大变革,如COW(实际上nosql的核心想法就是COW,实际上在ssd里面也能看到COW)等。想起了eBay对于系统总结的几点:异步你所能见到的一切,尽可能减少所有不必要的操作,使系统尽量简单而清晰。
4.在明年将要做的,这半年所了解到的颠覆与震撼了我,知道的更多更感觉到了自己的无知,也许在接下来的一年里我的主题只有一个:去了解你所能看到的一切,学习,学习,学习。
5.在新的一年里痴迷于技术,有一个很好的而学习环境,能够继续紧跟着时代的潮流(技术),静心,沉思,多做。
不疯魔不成活!!!