旗下导航:搜·么
当前位置:网站首页 > MySQL教程 > 正文

SQL和NoSQL之间的区分【MySQL教程】,SQL和NoSQL之间的区别

作者:搜教程发布时间:2019-12-01分类:MySQL教程浏览:41评论:0


导读:在挑选数据库时,最大的决议计划是挑选关联(SQL)或非关联(NoSQL)数据构造。虽然这两个数据库都是可行的挑选,但是在用户做决定时必需记着这两个数据库之间的某些症结差别。...
在挑选数据库时,最大的决议计划是挑选关联(SQL)或非关联(NoSQL)数据构造。虽然这两个数据库都是可行的挑选,但是在用户做决定时必需记着这两个数据库之间的某些症结差别。

重要差别:

1.范例

SQL数据库重要称为关联数据库(RDBMS); 而NoSQL数据库重要称为非关联数据库或分布式数据库。

2.言语

SQL数据库定义和操纵基于数据的构造化查询言语(SQL)。从正面看这类言语是异常壮大的。SQL是最通用和最普遍运用的选项之一,使其成为平安的挑选,特别适用于庞杂的查询。但从另一方面来讲,它多是限制性的。SQL请求您在运用之前运用预定义形式来肯定数据的构造。另外,您的一切数据都必需遵照雷同的构造。这能够须要大批的前期预备,这意味着构造的变化既难题又对全部体系形成损坏。

NoSQL数据库具有非构造化数据的动态形式。数据以多种体式格局存储,这意味着它可所以面向文档,面向列,基于图形或构造为KeyValue存储。这类灵活性意味着能够在没有起首定义构造的情况下建立文档。每一个文档也能够有本身奇特的构造。语法因数据库而异,您能够随时增添字段。

3.可伸缩性

在险些一切情况下,SQL数据库都是可垂直扩大的。这意味着您能够经由过程增添RAM,CPU或SSD等功能来增添单个服务器的负载。但另一方面,NoSQL数据库能够横向扩大。这意味着您能够经由过程分片或在NoSQL数据库中增添更多服务器来处置惩罚更多流量。它类似于在统一建筑物中增添更多楼层,而不是在四周增添更多建筑物。因而NoSQL终究能够变得更大,更壮大,使这些数据库成为大型或不停变化的数据集的首选。

4.构造

SQL数据库是基于表的,另一方面NoSQL数据库是键值对,基于文档的,图形数据库或宽列存储。这使得关联SQL数据库成为须要多行事件的应用程序(如管帐体系)或为关联构造构建的遗留体系的更好挑选。

5.遵照的属性

SQL数据库遵照ACID属性(原子性,一致性,断绝性和持久性),而NoSQL数据库遵照Brewers CAP定理(一致性,可用性和分区容差)。

6.支撑

来自其供应商的一切SQL数据库都供应了很好的支撑。另外,另有许多自力征询能够帮助您运用SQL数据库举行大规模布置,但关于某些NoSQL数据库,您依然须要依靠社区支撑,而且只要有限的外部专家可用于设置和布置大规模NoSQL布置。

SQL数据库的一些示例包含PostgreSQL,MySQL,Oracle和Microsoft SQL Server。NoSQL数据库示例包含Redis,RavenDB Cassandra,MongoDB,BigTable,HBase,Neo4j和CouchDB。

SQL vs NoSQL的重要区分:

SQL NOSQL
关联数据库治理体系(RDBMS) 非关联或分布式数据库体系。
这些数据库具有牢固或静态或预定义的架构 他们有动态架构
这些数据库不适用于分层数据存储。 这些数据库最合适分层数据存储。
这些数据库最合适庞杂查询 这些数据库不太合适庞杂的查询
Verticlly可扩大 Horizontally可扩大

相干引荐:《mysql教程》http://www.ki4.cn/course/list/51.html

以上就是SQL和NoSQL之间的区分的细致内容,更多请关注ki4网别的相干文章!

标签:SQL和NoSQL之间的区别


欢迎 发表评论: