300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > mysql查询分片 非关系型数据库和关系型数据库区别 – 数据库 – 前端 aws ec2 安装mysql

mysql查询分片 非关系型数据库和关系型数据库区别 – 数据库 – 前端 aws ec2 安装mysql

时间:2022-08-30 16:02:19

相关推荐

mysql查询分片 非关系型数据库和关系型数据库区别 – 数据库 – 前端 aws ec2 安装mysql

概念的解释

关系型数据库:指采用了关系模型来组织数据的数据库。这边关系可以理解为表,所以

系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。

非关系型数据库:指非关系型的,分布式的,且一般不保证遵循ACID原则的数据存储系统。非关系型数据库以键值对存储,且结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,不局限于固定的结构,可以减少一些时间和空间的开销。

两者优缺点分析

关系型数据库的优点:

容易理解,它的逻辑类似常见的表格使用方便,都使用sql语句,sql语句非常的成熟数据一致性高,冗余低,数据完整性好,便于操作技术成熟,功能强大,支持很多复杂操作

缺点:

每次操作都要进行sql语句的解析,消耗较大不能很好的满足并发需求,特别是海量数据爆发,关系型数据库读写能力会显得不足关系型数据库往往每一步都要进行加锁的操作,也造成了数据库的负担数据一致性高,有时也会使数据的存储不灵活

非关系数据库优点:

用户可以根据需要去添加自己需要的字段,为了获取用户的不同信息,不像关系型数据库中,要对多表进行关联查询。仅需要根据id取出相应的value就可以完成查询。高并发,读写能力强,分布式计算低成本,架构的灵活性;没有复杂的关系。弱化数据结构一致性,使用更加灵活,有良好的可扩展性

缺点:

没有标准化;查询功能有限。操作灵活导致容易出错和混乱常见的关系型数据库和非关系型数据库

关系型的常见的有

Oracle,Microsoft SQL Server,MySQL,PostgreSQL,DB2,Microsoft Access, SQLite,Teradata,MariaDB(MySQL的一个分支),SAP

常见的非关系型数据库

NoSql、Cloudant、MongoDB、redis、HBase

区别的总结

首先一般非关系型数据库是基于CAP模型,而传统的关系型数据库是基于ACID模型的

1. 数据存储结构:

首先关系型数据库一般都有固定的表结构,并且需要通过DDL语句来修改表结构,不是很容易进行扩展,而非关系型数据库的存储机制就有很多了,比如基于文档的,K-V键值对的,还有基于图的等,对于数据的格式十分灵活没有固定的表结构,方便扩展,因此如果业务的数据结构并不是固定的或者经常变动比较大的,那么非关系型数据库是个好的选择

2. 可扩展性

传统的关系型数据库给人一种横向扩展难,不好对数据进行分片等,而一些非关系型数据库则原生就支持数据的水平扩展(比如mongodb的sharding机制),并且这可能也是很多NoSQL的一大卖点,其实象Mysql这种关系型数据库的水平扩展也并不是难,即使NoSQL水平扩展容易但对于向跨分片进行joins这种场景都没有什么太好的解决办法,不管是关系型还是非关系型数据库,解决水平扩展或者跨分片Joins这种场景,在应用层和数据库层中间加一层中间件来做数据处理也许是个好的办法

3. 数据一致性

非关系型数据库一般强调的是数据最终一致性,而不没有像ACID一样强调数据的强一致性,从非关系型数据库中读到的有可能还是处于一个中间态的数据,因此如果你的业务对于数据的一致性要求很高,那么非关系型数据库并不一个很好的选择,非关系型数据库可能更多的偏向于OLAP场景,而关系型数据库更多偏向于OLTP场景。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。