中华网财经 发表于:14年11月21日 14:31 [来稿] DOIT.com.cn
技术人攻略:你这种不迷信权威,独立思考的思维方式,是从什么时候形成的?这种思维方式给你带来了哪些益处?
从初中起,我就发现大人们有时也会做出不可理喻的决定,于是就开始有了独立思考的习惯。核心就是一句话:凡事都要问个为什么,要有打破沙锅问到底的精神,不可人云亦云。所以在学习的时候,我不喜欢简单地去记老师教的结论,而是用推演的方式,研究书上的公式和理论到底是怎么来的。
进大学之后,接触到《理论物理》这门课,学到拉普拉斯方程,能解高中所有物理问题。这个方程给了我很深的触动,牛顿经典力学几个公式看起来并没有推导关系,但其背后却原来有非常自然的内在关联。
另一门《现代数学》也让我受益很深,它对多维几何、群论、分形学、混沌理论比较现代化的数学分支都有涉猎。其中分形几何实际上是一面数学和计算机图形学的交叉学科,让我很想往深去挖,于是把图书馆所有关于分形和混沌的书都看了一遍,还写了一个程序,把接触过的分形模型都用计算机模拟了一遍。
这两门课让我看到了许多事物从不相关到相关的内在联系,也推动了我去思考和探究背后的原因。长此以往,我发现从某种意义上看,这个世界没有学科之分,计算机、代数、物理,并没有非常明显的边界。
这种思维方式对我后来的工作有很大影响,举个例子,蛮多人会认为,存储不就是把东西存到磁盘里吗,跟数学有什么关系呢?实际上往高深去做,存储系统和数学有非常紧密的关联。通常的存储服务要保证数据不丢,必须存多份,存多份就会增加存储成本,经典的3副本存储,冗余度是3。想用更低的成本去存,就要用到域代数。
域代数遵循自然代数的加减乘除规律,但数据值控制在有限区域,不管怎么算,结果都在0到255这个域里面,所以叫域代数。存储文件可以认为是0到255的一个序列,举个例子,一个100K的文件拆成10份,每份是10K,存在10个地方,但文件仍然是一份。这时候用域代数里的加法(其实就是计算机中的异或操作),从这10份数据里取出一份校验数据,数据变成了11份,它的冗余度是1.1。这是一种基于校验码的存储方式,成本比较低,但效果和双副本差不多,其中任何一个数据丢了,都能恢复回去。
利用域代数降低成本,在存储领域是发展的必然方向,七牛的存储2.0已经采用了这种方式。由此可以发现,任何一个方向的技术要做到顶峰,都必须横向地去理解,因为世界上所有的事情都有关联。想要对云存储理解得更透彻,你必须理解整个世界,而不光是云存储。所以学技术实际上是不能专精的,在专精的过程中遇到瓶颈,就要往广度方向去挖掘。
技术人攻略:除了用域代数降低存储成本,存储的未来还会有哪些趋势?
从降低存储成本的角度看,算数冗余已经在算法上做到了比较极致的状况,存储领域接下来的突破,应该发生在材料科学上。生活中各种东西都在电子化,现实世界会逐步映射到比特世界,如果以这种方式疯狂使用,必然会面临能源危机。如何能让存储系统在常温、不耗能的情况下运行,是接下来我们要面临的一个重要问题。
可能大家会觉得七牛谈这件事有点奇怪,但我却认为未必。创业是一个不断降低不确定性的过程,刚开始创业的时候,充满了各种不确定性和不可控性,但不能停滞不前。这个过程中最麻烦的,是不能把自己看成必须怎样做,要完全放空,不从各种可能性上去限制自己。至少走一步,大不了发现错了回头,其实也不晚。
如果七牛真要把存储做到极致,一定会往材料这个方向走,因为它关系到我们能不能把存储做长久。当然现阶段,材料不是我们首要的关注点,我们的重点是针对客户的诉求点,解决数据应用层面的问题。
之前网盘一直在打存储配额战,但都停留在把用户的数据存下来,没把它们用起来,所以网盘的用户粘性很低,这也是我放弃做网盘产品的其中一个原因。直到现在我仍然看好个人云存储的市场潜力,但我相信最后的产品形态不会是网盘,应该是更加垂直化的、由场景驱动的、让数据流动起来的一种形态。
存储领域真正的战争发生在应用层面,在数据量越来越大的情况下,所有公司都会面临数据管理的难题。数据一定要流动起来才会产生价值,如果仅仅解决存储,数据最终留在七牛的可能性不是特别高。七牛会对针对数据的使用场景,帮助客户做标准化处理,实现数据价值的最大化。例如目前存储最多的数据是图片,图片用户的典型使用场景,是需要不同尺寸的缩略图,我们提供了这样的功能,用户就省心多了,不用去重复去建设这个过程。
技术人攻略:回顾一下你的过往经历,毕业后仅用2年时间,就成为WPS的首席架构师,这个过程是如何实现的?
金山在管理上给员工较大的自由度,所以个人的成长空间也挺大。我2000年加入金山,实习期间参与了WPS Office 2001的开发。分配给我的任务,是软件的读盘和存盘模块。这个模块当时的重要性并不那么高,它看上去简单,但我发现其中有不少有意思的挑战。挑战之一,是要求你理解软件的所有功能,以及每个功能的数据表达方式。这让我无意中触及到一个软件系统最核心的东西——数据。顺着这条线索,我研究了微软Office各个功能模块的数据存储方式,并把一些有趣的实现方法分享给同事们,他们会吸收其中有益的部分,据此修改原有软件的设计。