Topology,Calcuation和Management(刘西拉讲座听后感3)

      大师的语言总是高屋建瓴,Topology,Managment在建筑结构设计中的内容本文不展开,仅对Calculation进行讨论。

 

      昨天人人网的副总裁和技术总监来给我们作报告,提到了搜索引擎和这种社交网站内容推荐的区别,其中有一点我也曾有参与,因此我对这个内容比较了解,问题是这样的:

      搜索引擎是很容易做缓存的,而社交网站的内容推荐缓存是受限的,我们搜索“姚明”,大家的搜索出的结果都一样,只要第一个搜索了,后面的人就直接share第一个人的结果了,但社交内容推荐,例如新鲜事,每个人都不同,不同的时刻也不同,因此作缓存是很复杂的。

      进一步抽象这个问题,假定我们要做面向个体的信息推荐,我们需要记录这个个体的信息,社会网络关系,感兴趣的内容,站点,关键词。那么我们定义:用户ID,信息点这两个对象。每个用户都有这两个对象,被前期的计算后存储在支持随机访问的文件上(非搜索引擎业内人士可以理解成存储在类似mysql的数据库表上),而每个用户每天可能只来1次,但因为用户太多,不可能把每个用户的信息点都“上浮”到内存中,这有个专业术语叫cache warming。假定信息点在磁盘上大约20ms每次访问,而在内存中1ms每次访问,因此提前warm up进内存是有意义的。下面我们将会展开这样的一个计算过程。

      假定用户集合时U(U大约一亿),单机可用内存6G,用户id和用户信息点字节数为X,每天的活跃用户总数Y1,两天内活跃用户数Y2,依次类推。

      现在我们的设计需要作出决定,warm up多少用户信息进内存?

      如果是只warm up昨天来访的全部用户,可以存储多少用户信息点?

      如果warm up最近7天的全部用户,可以存储多少用户信息点?

      如果用户信息点设定为100个字节,warm up最近7天来访的全部用户,需要多少台这样的单机?

 

      用户增长的趋势是怎样的?Y1,Y2在扩大后,扩容得方案是什么?机器的配置如何升级?机房是否能够支持,是否需要更换机房?

      这些都是需要进行准确计算的。

 

      这只是一个思路,我想大家拿到这些数据都会算,这应该和刘西拉老师提出的建筑设计上的计算应该是一致的,我们需要从理性上去认识一个系统,一个被证明可用的系统,同时它还应该是一个具有社会属性的系统,计算不是全部,需要感性的设计,如果我们做出的系统是理性和感性兼备的,那么一定是一个伟大的系统。

 

      如果你做的系统是危害人类的,技术可能是了不起的,但影响是罪恶的。

      如果你做的系统是非理性的,只能是走一步看一步,盲目的系统往往是不可控的。

 

     Topology相关内容我以向刘老师索要课件PPT,希望能够更准确的阐述这个观点。下图为刘西拉教授风采。

     Topology,Calcuation和Management(刘西拉讲座听后感3)_第1张图片

                    刘西拉教授

 

你可能感兴趣的:(数据库,mysql,搜索引擎,cache,存储,UP)