阿里P8架构师谈:NoSQL和SQL的区别,NoSQL的使用场景和选型比较
9月15日技能沙龙 | 怎样将智能化和运维事变相团结,实现智能运维!
什么是NoSQL NoSQL,指的长短相关型的数据库。NoSQL偶然也称作Not Only SQL的缩写,是对差异于传统的相关型数据库的数据库打点体系的统称,它具有非相关型、漫衍式、不提供ACID的数据库计划模式等特性。 NoSQL用于超大局限数据的存储。(譬喻谷歌或Facebook天天为他们的用户网络万亿比特的数据)。这些范例的数据存储不必要牢靠的模式,无需多余操纵就可以横向扩展。 SQL 和 NoSQL 的区别SQL数据库得当那些需求确定和对数据完备性要去严酷的项目。NoSQL数据库合用于那些对速率和可扩展性较量垂青的那些不相干的,不确定和不绝成长的需求。简朴来说就是:
1.相关型数据库和非相关型数据库 SQL (Structured Query Language) 数据库,指相关型数据库。首要代表:SQL Server,Oracle,MySQL等。 NoSQL(Not Only SQL)泛指非相关型数据库,首要代表:MongoDB,Redis等。 2.相关型数据库得当存储布局化数据 如用户的帐号、地点等: 1)这些数据凡是必要做布局化查询,好比join,这时辰,相关型数据库就要胜出一筹 2)这些数据的局限、增添的速率凡是是可以预期的 3)担保数据的事宜性、同等性要求。 3.NoSQL得当存储非布局化数据 如发微博、文章、评述: 1)这些数据凡是用于恍惚处理赏罚,如全文搜刮、呆板进修 2)这些数据是海量的,并且增添的速率是难以预期的, 3)按照数据的特点,NoSQL数据库凡是具有无穷(至少靠近)伸缩性 4)按key获取数据服从很高,可是对join或其他布局化查询的支持就较量差 今朝很多大型互联网项目城市选用MySQL(或任何关系型数据库) + NoSQL的组合方案。 NoSQL的常见范例和较量有四种常见的 NoSQL 数据库范例:列式、文档、图形和内存键值。 1.列式数据 顾名思义,是按列存储数据的。最大的特点是利便存储布局化和半布局化数据,利便做数据压缩,对针对某一列可能某几列的查询有很是大的IO上风。 1)对应的nosql: HBase,BigTable等。 2)典范应用场景:按列存储,针对某一列可能某几列的查询有很是大的IO上风。 3)利益:查找速率快,可扩展性强,更轻易举办漫衍式扩展。 4)弱点:成果相对范围。 2.文档数据库 旨在将半布局化数据存储为文档,凡是回收 JSON 或 XML 名目。与传统相关数据库差异的是,每个 NoSQL 文档的架构是差异的,可让您越发机动地清算和存储应用措施数据并镌汰可选值所需的存储。 1)对应的nosql:CouchDB, MongoDb 2)典范应用场景:存储相同JSON名目标内容,可对某些字段成立索引成果,是最像相关型的数据库。 3)利益:数据布局要求不严酷,表布局可变,不必要像相关型数据库一样必要预先界说表布局。 4)弱点:查询机能不高,并且缺乏同一的查询语法。 3.图形数据库 可存储极点以及称为边沿的直接链路。图形数据库可以在 SQL 和 NoSQL 数据库上构建。极点和边沿可以拥有各自的相干属性。 1)数据模子:图布局 2)典范应用场景:交际收集,保举体系等。专注于构建相关图谱,擅甜头理赏罚大量伟大、互毗连、低布局化的数据,数据每每变革敏捷,且查询频仍。 3)利益:操作图布局相干算法。好比最短路径寻址,N度相关查找等。 4)弱点:许多时辰必要对整个图做计较才气得出必要的信息,并且这种布局不太好做漫衍式的集群方案。 4.内存键值存储 可以通过key快速查询到其value。一样平常来说,存储不管value的名目,照单全收,是针对读取麋集型应用措施事变负载(譬喻交际收集、游戏、媒体共享和 Q&A 派别)。内存缓存可将重要数据存储在内存中以实现低耽误会见,从而进步应用措施机能。 1)对应的nosql:Redis,Memcached等 2)典范应用场景:内容缓存,首要用于处理赏罚大量数据的高会见负载,也用于一些日记体系等等。 3)利益:查找速率快。 4)弱点:数据无布局化,凡是只被看成字符串可能二进制数据。 【编辑保举】
点赞 0 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |