2011年06月13日 21:33 "@fugees"的内容
数据库难道就不能可伸缩吗? ...

SQL数据库创始的年代还没有什么伸缩的概念,所以没有也不足为奇。他的设计基础就定义好了这种缺陷。

如果可以那么多大型的应用就不用那么头痛了。

infoQ:Twitter Shifting More Code to JVM, Citing Performance and Encapsulation As Primary Drivers
最新一篇InfoQ文章,迁移理由是性能和封装。注意是JVM,现在JVM已经不太等同于Java了,Scala等都运行在JVM上。Twitter使用Scala重写了Tweet 存储系统。

这篇文章语言选择中谈到:
我们是真正最开始大量使用Rails应用, 他们是世界上最大的Rails网站, 但是随着发展,现在性能和封装已经成为瓶颈,有两个原因:

首先,Ruby runtime是慢的,见这里比较图 特别是和JVM相比,当我们把精力花在垃圾回收机制上后能够获得相应的性能。(说明垃圾回收机制需要work hard 驯服,不是随随便便能搞定的,见这篇文章如何驯服java GC导致暂停)

Rails其实体现的是LAMP模型,每个层只会和上层或下层捆绑,没有垂直的封装,这显然不符合我们这样一个大型系统。

所以,我们重点在性能和封装,我们使用缓存或VM上工作等来解决了性能。