NoSQL不是为取代关系数据库而设计的,而且是在某些场景下使用NoSQL更加合适,两者应该算是并列关系
另外附图一张,基本可以看出关系型数据库和各种非关系数据库各自的特点
大概从中可以得到各自适合的场景
(1)应用场景不同,各有优缺点。可以参考下 CAP 理论。
能做到海量数据的产品并不多,所以大部分产品并没有这个必要去使用 NoSQL。
(2)
现在已经有了一些尝试结合两者的数据库,典型的比如 MongoDb。
而传统数据库也在尝试加入 NoSQL 相关特性。
NoSQL的大部分非关系模型,在关系型数据库出现之前,就已经存在了。如果非关系型数据库真的能非常完美的解决问题,后来也就不需要发明关系型数据库,然后让关系型数据库一统江湖了。
关系数据库很重要
E.F.Codd同时也因为发明了关系数据库模型而获得图灵奖,间接的反应了关系数据库的重要性。那些很古老的非关系数据库的重新出现和使用,只是更适合某一些应用场景罢了。
nosql与关系数据库互补
每一种新的技术出现,都是为了填补一片空白,而不是为了推翻或完全替代其他技术
NoSQL数据库设计的目标就确定了它在海量数据存储查询方面的优势,但相应的它也要为此舍弃部分能力,譬如数据一致性以及事务管理上。
NoSQL只是为我们在不同业务场景下,提供了更多的选择,而不是对关系型数据库取而代之!
NoSQL和关系型数据库更像是从南坡和北坡攀登珠峰,各自有各自擅长的东西,然而又都有各自不擅长的东西,二者之间不存在取代关系,而更多值得我们关注的是二者在峰顶聚合时的情景,那个时候,似乎可以认为我们目前存在的数据问题有了比较好的平台级解决方案。
来自群组: Hadoop技术组 |
|