微博私信用MySQL好,还是MongoDB好


现在要实现一个类似微博中的私信功能,为每一个用户设置收件箱和发件箱。相互独立。客户端调用服务端接口检查收件箱来进行提醒。
用MySQL,需要有建立表、字段的操作,比较复杂。
MongoDB操作简单,PHP的接口按照BSON来实现集合的增加,也不需要预定义结构。但是可能耗费内存大。各位有什么经验和见解?
目前项目中已经是MongoDB和MySQL混合使用。新的功能放到哪里合适?

mysql mongodb

冬瓜烂在春风里 12 years ago

分析:
1.mysql和mongodb都是可以存储你所要求的数据的,而且mongodb是最接近关系数据库的nosql;
2.mongodb不支持事务,你的数据是彼此独立的,应该不会有事务操作;
3.相比之下mysql从响应性能上要差于mongodb,毕竟mongodb是内存操作,但是也可以利用mysql之上的缓存层;
4.你也提到了相比mysql,mongodb操作更简单(这点因人而异吧),但是mongodb数据的扩展性强应该是一定的,毕竟是bson;

见解:
从上面的分析中我觉得你不应该把你考虑的重点放在内存消耗上,因为mysql操作频繁了其实也是个吃内存的怪兽。我觉得你应该把重点放在以上分析的3,4点上
针对3,既然mongodb首先是内存操作,你就要考虑你在更新数据时,如果出现宕机的情况你如何能保证数据一致性?
针对4,mongodb数据的可扩展性确实很吸引人。

鱼和熊掌不可兼得,你要仔细根据自己的业务进行衡量。

打破沙锅闻到底 answered 12 years ago

Your Answer