就爱来小说网

第165章 拉倒吧(1/5)

最新网址:m.kushuxs.net
    电话那头的背景音乱成了一锅粥。

    有人在扯着嗓子喊网管,C区三号机加十块钱,还有人在拍桌子骂你丢雷啊,闪到我了,夹杂着一连串的咳嗽声和打火机点菸的声音。陈拙把座机的话筒稍微拿远了一点。

    「你等会。」

    楚戈在那头喊了一声,紧接着是一阵拖拽椅子的摩擦声,声音稍微小了些,似乎是换了个角落。「行了,你说,我找着笔了。」

    楚戈咬着根糖,左手死死把话筒夹在肩膀和耳朵之间,右手在一堆乱七八糟的键盘线里摸索出了一根原子笔。桌上没有纸,他四下看了一眼,顺手把旁边吃剩的康师傅红烧牛肉面桶拉过来,把那层沾着几滴红油的硬纸盖撕了下来,翻到背面。纸盖背面有些潮湿,但不影响写字。

    陈拙站在客厅的窗户边,看着玻璃上那层薄薄的霜花,伸手在上面划了一道。

    「京城那边的资料库是怎麽建的?」陈拙问。

    「关系型,典型的树状结构。」

    楚戈使劲咬了两口糖。

    「他们想做一个六度空间的社交网,底层逻辑很简单,我是A,我认识B,资料库就建一条边,查询我的好友,速度很快,查询我好友的好友,也勉强能跑。」楚戈的声音透着一股熬夜过後的乾涩感。

    「但是只要往下查三度,四度,一旦并发量超过两百人,资料库就要做无限的嵌套联合查询,一张几十万用户的表,瞬间交叉出几千万条冗余数据。」「京城那哥们说,刚才他们做压力测试,两百个虚拟帐号同时点开可能认识的人这个功能,伺服器的风扇转得像直升机,CPU直接飙到百分之百,三秒钟後资料库就锁死了。」

    楚戈叹了口气。

    「现在这就成了一个死结,要想快,就得把所有关系提前算好存进缓存,但这需要海量的内存,他们买不起那麽多伺服器,如果不提前算,实时查,只要稍微有几个人同时访问,资料库就得崩。」

    陈拙听完,没有立刻说话。

    他走到沙发边坐下,拿起果盘里的一颗带壳花生,在手里轻轻捏开。

    「你们学计算机的,是不是有点轴?」

    陈拙把花生衣搓掉,语气里带着一点笑意。

    「什麽意思?」

    楚戈愣了一下。

    「这是个纯粹的图论问题,你们为什麽要用查户口的办法去解?」

    陈拙把花生扔进嘴里。

    「丢掉你们的嵌套查询,把所有的用户,看成高维空间里的点,用户之间的关系,是一条线。」楚戈没吭声,笔尖停在泡面盖子上。

    「建立一个邻接矩阵。」

    陈拙的声音很平稳,像是在大学自习室里给人讲一道大一的微积分课後题。

    「假设有十万个用户,就是一个十万乘十万的矩阵A,用户i和用户j是好友,矩阵中(i,j)的值就是1,否则就是0。」「等一下。」

    楚戈打断了他。

    「十万乘十万,那是一百亿个数据点,你算过这要占多大内存吗?伺服器当场就得炸。」

    「楚戈。」

    陈拙在电话这头轻笑了一声。

    「你在现实里,有十万个朋友吗?」

    「没有,我连十个都没有。」

    楚戈老老实实地回答。

    「正常人都没有。」

    陈拙说。

    「所以,这个矩阵里百分之九十九点九九的值,都是0,这是一个极度稀疏的稀疏矩阵。」楚戈拿着笔的手指猛地一紧。

    「在内存里,你不需要存那一百亿个点,你只需要存那些是1的坐标就行了。」-->>

本章未完,点击下一页继续阅读

最新网址:m.kushuxs.net