SQL VS NOSQL

SQL和NoSQL该怎么选?

其实如果是Single Machine, 一般NoSQL处理QPS水平更强

但是通过多台机器的Sharding,SQL和NOSQL其实差不多。


所以主要看数据相关性。

如果没什么关联的,Data非常不relational (require no join or few joins),这时用SQL 就有点浪费,可能会有不必要的overhead。【比如说我们查找一个东西还要去join, 联合多个表的查找是最慢的】

如果关联性高:

这时用CF NoSQL可能要处理大量的de-normalization,虽然disk便宜,但duplicated data太多的话可能也会爆容量。而且update时要处理de-norm data间consistency的问题。

e.g. 一个data可能属于(row_key_A, column_key_A)同时也属于(row_key_B, column_key_B),这样更新这data时就要同时更新这两个row。感觉这种情况选用SQL会较佳。


NOSQL有一些可能会不支持ACID,但是SQL是支持的, 可以各种commit, Rollback等等。所以SQL keep一大堆的commited versions/ migrations, 以便rollback。






深度分析几款NOSQL的好帖

http://www.cnblogs.com/vajoy/p/5471308.html


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容