关于NoSQL

原创 2013年12月05日 21:20:51

        大家都知道,最近一段时间里,NoSQL是比较热的技术,很多人也在讨论它。许多DBA在日常工作、聊天过程中,都会讨论到Hadoop或者MongoDB,仿佛不懂这些就已经out了一样。而我是程序员的忠实读者,在某一期的推荐书单里面看到了《NoSQL精粹》这本书,就买来看看。不说别的,就说一下看完之后的感受吧。


一、为何NoSQL


        目前,大数据是一个火得不能再火的热点。为了适应大数据及横向扩展的要求,集群是仿佛是当前最好的解决方案。之前并没有这种感觉,只是前一段时间在做一个国产化项目的解决方案的时候,忽然发现原系统中有好多应用是基于小型机的。于是乎就开始向我的供应商联系,想找一款性能相当的小型机。找了好多,只有浪潮有一款,而且价值不菲。供应商问我,为什么还要寻小型机?小型机的年代已经过去,现在都是用集群来做替代解决方案。这时的我如梦初醒,于是我也在问自己,平时总是在说手下那些做方案的人不知道创新,只知道沿续原来的东西。到自己去做方案的时候,还是会出现同样的总是。于是,不禁开始思考这些年所受的教育,所有的东西都是在叫我要中规中矩、按步就搬,一点创新都不能有。一旦有了不一样的声音,等待我的不是考试不及格就是叫家长。怪到我会有如此之举…


        仿佛有点跑题了,还是接着说为什么要使用NoSQL吧,虽然关系型数据库非常成熟、且深经百战,但关系型数据库不支持集群,这给横向扩展带来的困难,可能只有小型机这样的设备能够满足要求。而且一旦要进行扩展操作,停机、迁移数据库是必不可少的工作。而NoSQL最大的优势就在于它支持集群操作,可以轻松进行扩展。


二、何为NoSQL


        研究了几天,个人觉得,其实所谓的NoSQL就是将原来关系型数据库中的强约束去掉,使得程序员可以根据实际需要来进行个性化定制。无论是数据库实例、关系、事务等概念,在NoSQL数据库中均有相应的概念与之对应。在这种情况下,就将原来通用的、严谨的关系型数据库变成了现在的这种面向应用、较为个性的NoSQL,那么究竟这是不是一种好的方式呢?在某些情况下来看,NoSQL确实给我们提供了另外一种解决方案。但在实践过程中,还是要根据实际情况来确定究竟是使用哪种数据库更有优势。因为我们不是在实验室,而是在做工程,工程就要求我们能够看到使用新技术带来的价值,没有产出的投入是没有意义的。花了很多精力去实现NoSQL而实际收益却很少,这种方案是没有意义的。


三、如何NoSQL

        虽然传统的关系型数据库在集群计算、横向扩展等方面存在这样那样的总是,但它毕竟经过了很长时间的发展与应用,还是有相当的积淀的,也是非常有优势的。在实际工程中,关系型数据库与NoSQL并存的这种混合型数据库是一种非常好的解决方案。例如在电子商务系统中,涉及到用户订单、付款情况等核心方面的关键信息,应该用关系数据库去维护,因为系统对这方面信息的可靠性要求非常高,不能有错误出现。而购物车、推荐商品等方面的辅助信息,使用NoSQL数据库来维护则非常合适,因为这方面的信息需要系统地分析用户的社交网络信息,同时根据用户所在地将这些计算分布到集群上去进行是非常有意义的。


四、结论


        NoSQL是新兴的数据库技术,在某些方面确实为我们带来了新型解决方案,但还是要根据实际情况进行选择,而不是为了NoSQL而选用NoSQL,还是要根据工程需要制定方案。

SQL和NoSQL的认知

结构化查询语言(Structured Query Language)简称SQL(发音:/ˈɛs kjuː ˈɛl/ "S-Q-L"),结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询...
  • sc313121000
  • sc313121000
  • 2014年10月15日 10:10
  • 723

《NoSQL入门》关于NoSQL

关于NoSQL的专栏申请了可能快一年了,也没有填充一篇文章,今天看到,还是先写一篇放进去吧。现在应用NoSQL的人也非常多了,大家可能都不再陌生了,中文方面的资料已经漫天飞舞了。但是查看知乎中 NoS...
  • testcs_dn
  • testcs_dn
  • 2016年04月23日 17:59
  • 9806

NoSQL现状及发展趋势

3.1 NoSQL介绍 NoSQL是相对SQL数据库的说法,也就是非关系型数据库,由于互联网的迅速发展,云计算与Web2.0。这样大量的交互给数据库提出了更高的性能要求,传统的数据库(本文泛指SQL...
  • micro_hz
  • micro_hz
  • 2016年07月02日 13:36
  • 1455

数据库面试题(mysql,nosql)

//2015年5月1日 一、索引 聚集索引、非聚集索引 前者B树叶子节点包含数据,后者叶子节点包含数据地址 聚集索引优点:提升IO密集负载性能;缺点:插入代价高 索引缺点:维护索引耗时;占用...
  • u013599826
  • u013599826
  • 2015年05月01日 16:11
  • 1026

NoSQL入门------关于NoSQL

转载地址:http://blog.csdn.net/testcs_dn/article/details/51225843          关于NoSQL的专栏申请了可能快一年了,也没有填充一...
  • stpeace
  • stpeace
  • 2018年01月30日 22:51
  • 1053

关于NoSQL,你必须知道的九件事

本文提到的列表来源于一篇文章,文章标题是关系型数据库使用者必须知道的一些NoSQL知识。其中总结的九点NoSQL与RDBMS的区别联系非常不错。NoSQLFan为大家翻译在此。 原文链接:NOSQL...
  • u013045749
  • u013045749
  • 2016年02月23日 00:09
  • 759

主流NoSQL技术详解与比较

主流NoSQL分类1键值(Key-Value)存储数据库 键值对NoSQL是比较流行的一种NoSQL的解决方案,特点就是采用键值对来存储数据,它的优势在于容易部署和简单性,但是如果查询的部分只是整个...
  • micro_hz
  • micro_hz
  • 2016年07月21日 11:35
  • 3531

Nosql的实际应用场景

Nosql 实际应用场景。
  • chenfenggang
  • chenfenggang
  • 2015年03月30日 17:20
  • 2824

NoSQL:单服务器如何应付每秒75万次查询

大多数大规模Web应用程序都使用MySQL+Memcached架构,其中许多应用也同时使用了NoSQL数据库,如TokyoCabinet/Tyrant,也有一些人全部放弃MySQL,转投NoSQL的怀...
  • nightelve
  • nightelve
  • 2013年11月29日 04:02
  • 3130

NoSQL设计思想(从辅到主)

NoSQL架构实践(一)——以NoSQL为辅 本文为凤凰网负责底层组的研发工作的孙立同学在InfoQ上发表的NoSQL系列文章之一,本文探讨了使用NoSQL作存储的几种典型模式,对NoSQL的实...
  • caomiao2006
  • caomiao2006
  • 2015年03月25日 13:31
  • 3335
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于NoSQL
举报原因:
原因补充:

(最多只允许输入30个字)