技术有两种
作者:郑凯
第一种,做目前还做不了或者说极困难的事,即老余说的“用现在的技术做未来的事情”。这种问题要考虑的是能做什么不能做什么
第二种,已经能做的,怎么能让软成本极度缩减,甚至跑赢硬成本上的摩尔定律,那你获得的收益就是双倍的。这类问题关键是如何做
比如 memcache,这个 06 年下半年才开始出现的词,怎么强调它的重要性都不过分,我甚至觉得 LAMP 这个词应该改改,把 memcache 也加进去,比方说叫 LAM2P 什么的。
MySQL 也是,我专指的是 MyISAM 引擎。7 年前我觉得 MySQL 真简陋,到了寒碜的程度,跟那些全面的数据库解决方案比,简直不叫个东西。但用到现在了,我的看法完全改变了,我觉得那些臃肿累赘的解决方案才不叫个东西。我绝对不认为 MySQL 今天的流行程度仅仅是因为免费。事实上即使免费给我 Oracle 我也不乐意用,因为我要花额外的时间去裁减那些不必要却浪费资源的功能,除非免费送我 Oracle 的同时再免费送我服务器。
memcache、MyISAM 都是那种最为简单纯粹的东西,就像 TCP 一样,是构建一个世界的基础
或者说这个世界也变了,不是那个冷战时期的军用网络,也不在只有依靠大型机才能完成全国人口普查的时代。机器如此廉价,我们出售用机器提供的服务,就像从可口可乐机里打杯糖水递给顾客一样
看到 Fenng 说手机之家的 Cache,想起半年前,还曾有一次在和老刘争执缓存是用硬盘还是用内存做缓存,我起初是轻率的认为老刘还没完全理解 memcache 的种种好处,之后才发现老刘关注的还是成本,纵然现在内存条(还得是 NECC 的)再便宜,价格跟硬盘相比还有百倍以上的差距,因此如何选择缓存方式还是值得仔细衡量的问题。起码就目前我所能见到的规模而言,内存缓存和硬盘缓存(所代表的快/慢和昂贵/廉价)还是像显微镜的目镜和物镜一样,是相辅相成的
经过计算,我也不觉得 伪 namespace 是多好的方法,对于频繁更新的内容,对内存的消耗量要增大几倍,如果实际内存增加的不到位,后果就是 evictions 剧增,命中比下降。