{eval=Array;=+count(Array);}
非关系型数据库的出现,是为了解决关系型数据库方便无法解决的事情。这两者之间应该是互为补充的一种关系,不存在取代的关系。而且在当前的环境下,关系型数据库还有长足的发展空间。
不会取代。因为关系型数据库和非关系型数据库的各有优点。并且主要的使用场景不同。关系型数据库支持ACID,保证了数据的准确性,如取款等流程都是非常需要数据的一致性的。非关系型数据库主要是支持分布式且不保证ACID。
关系型数据库产生于上世纪70年代IBM公司,IBM的主要业务是银行和大型企业的财务账本,关系型数据数据库很好的解决了财务类数据的处理。但是关系性数据库难于处理树形结构或者图式数据,以社交网络为例,关系性数据库就难于处理,甚至大型企业的组织架构图对关系性数据库而言都是困难的场景。随着服务器成本的迅速下降,越来越多的非财务需求,要求更基础更灵活的KV键值对的数据结构,通过编程,自由处理数据。比如人际网络,互联网社区,都是大量非财务数据的处理。随着区块链技术的产生,它会成为价值的载体,逐步取代关系型数据库账本技术,个人观点,未来关系型数据库将逐步没落,这也意味着,人类处理数据能力的手段更加丰富,从关系型数据演变到结构化数据,半结构化数据。甚至是完全的非结构化数据,声音,图像,视频等,但是这个方向就离传统数据库技术太远。就被抽象过的数据而言,超越关系型数据,对更丰富的结构化数据处理是发展方向
非关系型数据库是否可以取代关系型数据库?这个问题要看当时数据的结构和存储方式。
现在多数的数据还是传统的结构化数据,而存储方式还是以传统结构去构造,例如:数组,链表,树等。在无法脱离这些机制的前提下是无法彻底替换掉现有关系型数据库的。
非关系型数据库现已逐渐发展并流行起来。但要起到替代的作用,并不是当前这种非关系型数据库所能达到的。甚至要用完全变革的思路去设计新型数据库才会可能。
两者不是替代关系,是对不同数据类型的适配存储方式。
关系型数据库的存储结构用来存储非关系型数据会非常吃力,同样的非关系型数据结构存储关系型数据也会导致操作十分复杂,
不存在的啊,他们之间不是父与子,一个对另外一个升级的关系,完全有着不同的优缺点,适用范围也不同,不同的场合选用不同的方式就对了
关系型数据库有事务,并且保证强一致性(nosql 强调最终一致性)
复杂查询 关系型数据库动不动一个sql多少行,各种子查询,嵌套什么的搞的飞起,相比nosql 显得更合适
容易理解 一张二维表,列名和对应行的值一眼就能看懂,而非关系型数据库,一般是key value 、文档类型、图片类型等,不那么容易理解
使用方便 通用的sql处理数据非常方便
易于维护 由于实体完整,容易理解,维护起来也更容易
所以,关系型数据库(sql) 和 非关系型数据库(nosql) 各有优势,可以根据不同需求做技术选型,不可互相取代(实现逻辑决定的)
希望对你有帮助