NoSQL与关系型数据库的区别
传统的关系型数据库采用表格的储存方式,而非关系型数据通常以数据集的方式,大量的数据集中存储在一起,类似于键值对、图结构或者文档。
2、 存储结构不同
关系型数据库按照结构化的方法存储数据。而NoSQL数据库采用的是动态结构,对于数据类型和结构的改变非常的适应,可以根据数据存储的需要灵活的改变数据库的结构。
3、 存储规范不同
关系型数据库为了避免重复、规范化数据以及充分利用好存储空间,把数据按照小关系表的形式进行存储。而NoSQL数据库的数据存储方式是用平面数据集的方式集中存放。
4、 扩展方式不同
这是NoSQL数据库与关系型数据库差别大的地方。关系型数据库为缓解多张数据表的操作中数据操作的瓶颈只能提高处理能力,关系型数据库只具备纵向扩展能力。而NoSQL数据库由于使用的是数据集的存储方式,它的存储方式一定是分布式的,它可以采用横向的方式来开展数据库,也就是可以添加更多数据库服务器到资源池,然后由这些增加的服务器来负担数据量增加的开销。
5、 查询方式不同
关系型数据库采用结构化查询语言(即SQL)来对数据库进行查询。NoSQL数据库使用的是非结构化查询语言(UnQL),它以数据集(像文档)为单位来管理和操作数据,由于它没有一个统一的标准。
6、 规范化不同
关系型数据库必须进行数据规范化处理这个过程实现复杂。对于NoSQL数据库则没有这方面的问题,它不需要规范化数据,它通常是在一个单独的存储单元中存入一个复杂的数据实体。
7、 事务性不同
关系型数据库强调ACID规则(原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)),可以满足对事务性要求较高或者需要进行复杂数据查询的数据操作。NoSQL数据库的性能和优点更多的体现在大数据的处理和数据库的扩展方面。
8、 读写性能不同
关系型数据库十分强调数据的一致性,并为此降低读写性能付出了巨大的代价。而NoSQL数据库在应对大数据方面无论是扩展还是读写都非常容易并且NoSQL数据库大数据管理、检索、读写、分析以及可视化方面具有关系型数据库不可比拟的优势。
9、 授权方式不同
关系型数据库常见的有Oracle、SQL Server、DB2、MySQL,除了MySQL大多数的关系型数据库如果要使用都需要支付一笔价格高昂的费用,即使是免费的MySQL性能也受到了诸多的限制。而对于NoSQL数据库,比较主流的有redis、HBase、MongoDb、memcache等产品,通常都采用开源的方式,不需要像关系型数据库那样,需要一笔高昂的花费。
来源 https://zhuanlan.zhihu.com/p/456007823
相关文章