谈谈你对NoSQL的理解

1.什么是NoSQL?

NoSQL呢常见的解释有Non-Relational SQL或者Not Only SQL,不过Not Only SQL被更多人接受,一般泛指非关系型数据库。它和关系型数据库不同的是,不保证关系数据的ACID特性。

创新互联公司-专业网站定制、快速模板网站建设、高性价比陕州网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式陕州网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖陕州地区。费用合理售后完善,10余年实体公司更值得信赖。

随着互联网的发展,NoSQL数据库的产生就是为了解决超大规模和高并发系统中多重数据种类带来的挑战,特别是大数据应用的难题。目前具有代表性的NoSQL数据库有Redis、HBase、ES、MongoDB等等。

NoSQL非常适合以下几个场景:

  • 数据模型比较简单;
  • 需要灵活性更强的数据库;
  • 对数据库性能要求较高;
  • 不需要高度的数据一致性;
  • 对于给定Key,比较容易映射复杂值的环境。

2.NoSQL分类

通常来说,现在主流的NoSQL数据库可以分为四大类:K-V键值数据库、列存储数据库、文档数据库和图形数据库。

首先来看,K-V键值数据库,主要应用于内容缓存、处理大量数据的高负载访问,也可以用于记录系统日志。比较有代表性的产品有Redis、Memcached等等。

其次是,列存储数据库,主要应用于布式数据的储存与管理,分布式可扩展性强,比较有代表性的产品有HBase、HadoopDB、BigTable等等。

然后就是,文档数据库,主要应用于管理半结构化数据或者面向文档的数据,比较有代表性的产品有MongoDB,ES等等,当然,ES不仅仅只是数据库,它还是一个分布式搜索引擎,是基于Lucene来开发的,现在已经发展成为一个自有生态Elastic Stack。

最后就是,图形数据库,主要应用于复杂、互连接但又低结构化的图结构场合,可以用来构建数据关系图谱,Neo4J、InfoGrid、GraphDB等等。

下面我把四种分类的NoSQL数据库整理成了一个表格,并总结了它们的优缺点。

3、主流NoSQL对比

对于NoSQL数据库对互联网开发的重要性就不多说了,在互联网分布式开发场景中,我认为掌握Redis、HBase、Elastic、MongoDB就能满足绝大部分需求。

如果对数据的读写要求极高,并且数据规模不大,也不需要长期存储,那就选Redis;

如果数据规模较大,对数据的读性能要求很高,数据表的结构需要经常变,有时还需要做一些聚合查询,那就选MongoDB;

如果要构造一个搜索引擎或者要完成一个高大上的数据可视化平台,并且数据本身也具有分析价值,就选ES;

如果你要存储海量数据,而且还不能预估数据规模将来会增长多么大,那么选HBase。

这里我也整理了一种表格,大家可以保存一下:

最后,再给大家来个更加形象的对比:

Redis就相当于开战斗机,MongoDB就相当于坐高铁,HBase就相当于航母,ES那就是帝国铁骑,山地装甲机器人。

文章标题:谈谈你对NoSQL的理解
本文网址:http://www.csdahua.cn/qtweb/news40/398240.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网