谭俊青:MySQL vs NoSQL 效率与成本之争,Memcached和MySQL

http://www.mysqlab.net/blog/2010/03/mysql-vs-nosql/ MySQL vs NoSQL 效率与成本之争
2010年3月17日谭俊青发表评论阅读评论
最近Twitter、DIGG等计划换用基于key-value的NoSQL数据库(e.g: Cassandra),之所以有如此动向是因为基于MySQL + sharding + cache的构架 随着数据量爆炸式增长,重构的人力成本太高,换用扩展性更好的NoSQL数据库,以达到控制人力成本的目的,从而减少总体成本
随着数据量和访问量的增长,网站构架大致有这么几个发展阶段(以PHP+MySQL+Memcached为例):
1: PHP + MySQL
2: PHP + MySQL (Master + Slaves)
3: PHP + MySQL (Master + Slaves) +  Memcached ( Middleware) 【 虎.无名:这里Middleware指什么?】
4: PHP + MySQL ( Sharding + Master + Slaves) + Memcached (Middleware)
5: PHP + MySQL (Sharding + Master + Slaves) + Memcached (Middleware) +  NoSQL
从上面的发展历程可以看出,随着复杂度的增加,开发难度和复杂性也随之提升,数据量增加之后每次重构需要的人力成本急剧增加,因此为了控制成本,增长重构的周期,将一些数据量庞大,增长快速的业务迁移至NoSQL上存储。
因此大家不必要言必NoSQL,NoSQL也不会取代MySQL, 不同的业务有它最适合的低成本存储方式,最终选择什么数据库是由系统成本决定的
http://www.mysqlab.net/blog/2010/03/memcached-and-mysql/ Memcached and MySQL
2010年3月1日谭俊青发表评论阅读评论
相信很多开发人员接触过memcached,而且我认识的朋友当中有的是经常使用。那么在结合数据库,在对数据库内容做缓存的时候什么情况下使用memcached却不甚了解。 有些朋友问到MySQL有自己的Query cache,为什么还要用memcached? –by  ivan@mysqlab.net
MySQL为了效率考虑,不太可能将数据粒度分那么细,所以在对表更新的时候将清空所有涉及到这张表的qcache,这样的话,在更新频繁或者表记录数很大的情况,qcache的效率将大打折扣。而 使用memcached一般都是针对单条记录,从而在更新的时候对表中其他记录的cache没有影响,相比qcache来说,cache效率极大提高。这也是为什么在MySQL有Query cache的情况下还要使用memcache来缓存数据。
不过 结合MySQL和memcached使用需要app层配合。不过当前也有 MySQL memcached UDFs结合MySQL触发器trigger,可是实现MySQL数据库的内容跟memcached同步,这样可以避免不同的应用程序需要实现对memcached的管理
MySQL memcached UDFs的下载地址: https://launchpad.net/memcached-udfs
shell> tar zxf memcached_functions_mysql-x.xx.tar.gz
shell> cd memcached_functions_mysql-x.xx
shell> ./configure –with-mysql=/usr/local/mysql/bin/mysql_config
shell> make
shell> make install
shell> cp /usr/local/lib/libmemcached_functions_mysql* /usr/local/mysql/lib/mysql/plugins/
mysql> CREATE FUNCTION memc_get RETURNS STRING SONAME "libmemcached_functions_mysql.so";
mysql> source /path/TO/install_functions.sql
详情请参考: http://dev.mysql.com/doc/refman/5.1/en/ha-memcached-interfaces-mysqludf.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值