主题:【半原创】Flickr 网站架构研究(1) -- 西电鲁丁
共:💬69 🌺366
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,不过不敢肯定。
- 相关回复 上下关系8
压缩 3 层
🙂深入浅出,写得真好,一个小疑问。 1 邓侃 字1023 2009-09-20 20:07:11
🙂嗯,欢迎拍砖。 3 西电鲁丁 字924 2009-09-20 22:24:26
🙂关于MemCache与Slave的比较 1 邓侃 字815 2009-08-27 21:31:35
🙂1。这个原因我已经写了
🙂我的问题应该这样表述 邓侃 字249 2009-08-27 22:15:16
🙂不完全是Flickr网站一家的问题 1 西电鲁丁 字372 2009-08-27 22:44:05
🙂这个观点有说服力 邓侃 字147 2009-08-27 22:52:46
🙂这也是我才想到的,所以说要大家一起讨论 西电鲁丁 字62 2009-08-28 06:59:17