2011-03-25

我只能说我最近被比较深的震惊了。

前几天回了一趟W公司,我说我前几天去听百度的讲座,讲他们在mysql server和client之间架了一个proxy做水平切分,以处理那些单表几十亿条的大表。没想到被嗤之以鼻,几十亿条算多吗,分什么分?然后了解了一下那边的情况,我发现我实在是太out了。有一个项目已经做了差不多有3年,可是当它刚开始做的时候,和现在相比,公司所采购的那些服务器,硬件处理能力已经提升了至少8倍以上。这还不是最可怕的,我觉得最可怕的是硬件技术对软件行业所带来的一些革命性的更新。

网游行业有个陋习,一帮水平奇菜无比的人特别喜欢用C/C++并且喜欢自己写内存池,自己搞一套malloc/free替代原来的。我记得在W公司的论坛上有人还拿他写的malloc/free出来show过,我没回复。我只想说,你从一开始,方向就是错的。如果你打算自己搞一套高效的malloc/free方案,至少得先明白什么是NUMA,否则一切都是扯淡。

而现在存储技术已经有极大的提升。在Flash尚未普及的时候,下一代存储已经准备商用了。总之我们需要的是更低的访问延迟、更高的带宽。而现在的情况是,我们惊讶的发现,哇撒,数据库的瓶颈居然不是在硬件上,居然大部分时间都是花在了CPU计算和等待上? kernel的IO scheduler必须被重写,bdb的mpool和logs都可以砍掉了?

可惜我现在所处的公司,硬件非常匮乏,我只能看看paper发发牢骚。处于目前这样的情况,我觉得我还是不要去研究数据库。就像中医一样,没前途的。倒是FAST-11的有几篇paper我觉得我该转给攀攀看看,如果他有兴趣做dbv2.h的话。

此博客中的热门博文

在windows下使用llvm+clang

少写代码,多读别人写的代码

tensorflow distributed runtime初窥