关系型数据库和非关系型在成本、查询速率、储存格式、可扩展性、数据一致性、事务处理上有区别。
1、 成本:Nosql数据库易部署,不用像Oracle那般花费较高成本选购。
2、 查询速率:Nosql数据库将数据储存于缓存当中,不用历经SQL层的分析;关系型数据库将数据储存在电脑硬盘中,查询速率远不如Nosql数据库。
3、 储存格式:Nosql的储存文件格式是keyvalue方式、文本文档方式、照片方式这些,能储存的对象种类灵活;关系数据库则只适用基础类型。
4、 可扩展性:关系型数据库有join那样的多表查询机制限定造成拓展性较差。Nosql依据键值对,数据中间没有耦合度,因此容易水平拓展。
5、 数据一致性:非关系型数据库注重最终一致性;关系型数据库注重数据整个生命周期的强一致性。
6、 事务处理:SQL数据库支持事务原子性粒度控制,且方便进行事务回滚;NoSQL也支持事务处理,但可靠性不足,其价值在于可扩展性和大数据量处理。
1/7 分步阅读1.实质。非关系型数据库的实质:非关系型数据库产品是传统关系型数据库的功能阉割版本,通过减少用不到或很少用的功能,来大幅度提高产品性能。
2/7
2.价格。目前基本上大部分主流的非关系型数据库都是免费的。而比较有名气的关系型数据库,比如Oracle、DB2、MSSQL是收费的。虽然Mysql免费,但它需要做很多工作才能正式用于生产。
3/7
3.功能。实际开发中,有很多业务需求,其实并不需要完整的关系型数据库功能,非关系型数据库的功能就足够使用了。这种情况下,使用性能更高、成本更低的非关系型数据库当然是更明智的选择。
4/7
传统的SQL数据库有3个缺点
许可费用昂贵
不能自动Sharding
严格的Schema
互联网公司一般都是技术密集型的,就自己根据自己的需求搞了一套数据存储,牺牲了严格一致性,满足互联网伸缩性的要求。
5/7
nosql 当年是为了处理 杂乱的非结构化数据来设计的 比如 网页访问信息 那就如楼上说的 阉割了sql 的 acid 特性 这样当然快了啊 比如插入数据
相反如果是一些 交易数据 数据的安全稳定 压倒一切的时候 rdbms 就显现威力了 但是rdbms 在面对nosql的 一些挑战之后 大力优化了 对于一些 非结构化数据的支持 比如json 数据 同时rdbms 对于 olap and oltp 的支持 也要比 nosql快的你是一点半点
6/7
非关系型数据库的优势:1. 性能NOSQL是基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL层的解析,所以性能非常高。2. 可扩展性同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。
7/7
关系型数据库的优势:1. 复杂查询可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。2. 事务支持使得对于安全性能很高的数据访问要求得以实现。对于这两类数据库,对方的优势就是自己的弱势,反之亦然。
图数据库是基于图模型的数据库。相比较于关系型数据库,图数据库是真正注重“关系”的数据库。图数据库的功能是传统关系型数据库的一个拓展。简单来说图数据库比起关系型数据库多了许多数据间的联系,这些联系的发现又要基于图数据库里面的图计算来发现和展示,前段时间云栖大会里面提到的GraphScope,就是阿里开发的做图计算图分析的一站式平台。您的采纳是我的动力欢迎分享,转载请注明来源:内存溢出
评论列表(0条)