数据库资讯

MySQL vs NoSQL 效率与成本之争

最近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)
4: PHP + MySQL (Sharding + Master + Slaves) + Memcached (Middleware)
5: PHP + MySQL (Sharding + Master + Slaves) + Memcached (Middleware) + NoSQL

  从上面的发展历程可以看出,随着复杂度的增加,开发难度和复杂性也随之提升,数据量增加之后每次重构需要的人力成本急剧增加,因此为了控制成 本,增长重构的周期,将一些数据量庞大,增长快速的业务迁移至NoSQL上存储。
因此大家不必要言必NoSQL,NoSQL也不会取代MySQL,不同的业务有它最适合的低成本存储方式,最终选择什么数据库是由系统成本决定的。

希望看到您的想法,请您发表评论x