西西河

主题:【半原创】Flickr 网站架构研究(1) -- 西电鲁丁

共:💬69 🌺366 新:
全看分页树展 · 主题 跟帖
家园 1。这个原因我已经写了

Memcached作为数据库缓存的作用主要在于减轻甚至消除高负载数据库情况下频繁读取所带来的Disk I/O瓶颈,相对于数据库自身的缓存来说,具有以下优点:1)Memecached的缓存是分布式的,而数据库的缓存只限于本机;2)Memcached 缓存的是对象,可以是经过复杂运算和查询的最终结果,并且不限于数据,可以是任何小于1MB的对象,比如html文件等;而数据库缓存是以"row"为单位的,一旦"row"中的任何数据更新,整个“row"将进行可能是对应用来说不必要的更新;3)Memcached的存取是轻量的,而数据库的则相对较重,在低负载的情况下,一对一的比较,Memcached的性能未必能超过数据库,而在高负载的情况下则优势明显。
 一般来说内存访问是要快过disk的;

Memcached更多的是扩展了数据库的”读“操作,这一点上它和Slave的作用有重叠
 事实上,网上关于应用memcached还是Slave,一直是有争议的。

一个更激进的想法是所谓的"内存数据库",即所有数据都放入内存,数据库只是作为persist store, 参见http://natishalom.typepad.com/nati_shaloms_blog/2008/03/scaling-out-mys.html

2。 这个Cal Henderson自己也承认是很麻烦,是不是一定要这样做,有没有更好的办法,也许只有身在其中才知道。

这个cache根据我的理解是memcached,不过不敢肯定。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河