NoSql与RDBMS的对比

NoSql出现的原因是因为有很多应用不需要使用RDBMS的特性(强一致性以及join查询),而这些特性还成为了阻碍(如join限制了分片等),以下对比了两种数据库的特性,以便于更好地进行技术选型。

特性 RDBMS NoSql
强一致事务 支持,ACID特性 不支持,BASE特性
SQL语句(跨表join) 支持 不支持
水平扩展(分片) 较难支持,但也有proxy等方案可以支持 较容易支持,MongoDB天然支持分片
数据结构 按照关联关系设计表,便于多表join查询,表结构确定。 将有较多关联的数据放到一个文档中,只支持单文档查询。文档的结构可以灵活增删。
业务场景 数据实体之间存在的关联较多,每个实体之间有自己的生命周期eg: 顾客与订单。 数据实体之间存在的关联较少,实体之间的关系更多的是类似于值属性之间的关系,即某些‘实体’实际上没有自己的生命周期,可以嵌入到它的主实体中。eg: 顾客与联系方式。

考资料:https://markedaspertinent.wordpress.com/2009/08/04/nosql-if-only-it-was-that-easy/

你可能感兴趣的:(new,db)