关闭

大话NoSql

标签: 大数据nosql数据库mongodb
2452人阅读 评论(0) 收藏 举报
分类:

   之前看过一本名叫<<大数据挑战的书>>,里面主要讲了NOSQL的内容,感觉讲得确实不错,今天来重新温习一下,我们大话NOSQL。说道NOSQL,我们肯定联想到的内容就是BigData大数据了,不错,当今的时代就是大数据的时代了。如果放在前几年,互联网还没有这么发达的情况下,也许谁也不会听过这个名词。在讲正题的时候,我做了张图来看看一般服务端架构在面对业务发展的需要时候,一般的演变趋势:


所以如果公司的数据量发展到一定规模的话,可以采用NoSql.好了终于引出了NoSql这个今天的主题了。NoSql可以理解为Not Only Sql,主要指的是非关系型,分布式,不提供ACID的数据库设计模式,强调的是类似于Map的“键值存储”,和”文档存储“。面对海量数据,NoSql 采用了一种弱类型的数据,采用更加简单的数据模型,一般都是用字符串表示所有的数据类型。但是他可能不会像关系型数据库一样有那么好的强一致性,应该nosql是一种最终一致性。NoSql也避免了许多诸如联表查询等复杂操作,基本就是简单的赋值,取值等,

可以实现比较难高的吞吐量。现在的数据库系统可谓是五彩缤纷,来张图看看:


在介绍nosql之前,要知道的一些海量数据的理论性知识,CAP理论,C,Consistency)强一致性,A(Available)可用性,P(Partition Tolerance)分区容忍性,可以理解为系统在存在网络分区的情况下仍然可以接受请求。自然这让我们联系到了另一个理论ACIDA(Atomic)原子性,C(Consistent)一致性, I(Isolation)隔离性, D(Durablitity)持续性。还有一个比较重要的协议2PC两阶段提交协议,许多分布式关系数据库采用此协议来完成分布式事务。下面我们来真正了解一下具体的NOSQL

    K-V数据库

首先我们来了解是Redis,Redis是一个开源的,高级key-value的数据库。他的value不仅支持String类型,而且还有listset等结构,Redis采用的是内存进行数据存储,等数据到达一定规模后,在持久化到文件或磁盘中。基于Redis的特点,新浪微博采用的就是Redis,对于微博这样的结构清晰,数据规模庞大的应用来说,Redis当然最适合不过了。

Column-Oriented列式数据库

说到列式数据库,我们不得不提到他的始祖,Bigtable数据库,在后来衍射出的很多数据库都能看到他的影子,列式数据库强调的是一种面向列的稀疏存储,还有一个列族的概念,跟关系型数据库的单行单列,不一样,比较典型的Hadoop采用的HBase数据库。

文档型数据库

文档型数据,我这里说的有2种,MongoDB,还有一个CouchDB,两者有很多共同点存储的都是JSON类型数据类型,在文档数据库中文档成为了数据存储的一个基本单位,因此,所存储的数据,甚至可以要求是无结构的,文档可长,可短,每一个都以类似于{“”id: 200, msg:haha}这样的json格式保存在数据库中。我们重点关注一下MongoDB,在MongoDB中存在着类似于SQL查询语句的操作,但是又不是跟SQL语句完全相同,比如db,user,find(),MongoDB支持Map/Reduce模型,CouchDB具体RestFul API,可以实现用Http请求实现操作。二者数据库都借助了Map/Reduce,技术提高了数据处理的效率,这对于与存储非结构化,和半结构化的数据都有很大的帮助。

图存数据库

图存数据库我刚刚听说这个名词的时候,也是觉得难以理解,官方给出的定义:图存数据库使用基础的数据结构,来存储代表一个图形的数据,能够通过非常方便的方式优雅的呈现任何类型的数据。图存数据库现在一般有3类,Neo4j数据库,GraphDB图存数据库,OrientDB,图存数据库的查询会模仿图的遍历实现查找,通过朋友找到朋友的朋友,最终找到目标。

NoSql就是分为上述的4种类型,突然心血来潮,相到一个比较重要的知识点,数据处理,数据处理平常也总是有人在提起,我就提提,我说的数据处理指的是传统的压缩算法的实现,一般有2种,一个哈弗曼编码,学过计算机的,数据结构都上过的吧,另一个L.Z算法系列的,现在应该已经很多版本了吧,是基于窗口互动的,核心思想就是复用相同的字符串,如果后面的字符串出现了前面重复,用一个标记代替,可以大大节省压缩数量。

好了,花了1000多字,理了理思路,也起到了复习的效果了。

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

【大话NoSQL】——什么是NoSQL?

转自:http://blog.csdn.net/jiuqiyuliang/article/details/41879145   因为觉得不错,且能勾起我对数据库新认识的兴趣 开始之前,先说说写这篇博文的背景,本来是想写MongoDB的内容,但是MongoDB又是非关系...
  • knockheart
  • knockheart
  • 2014-12-15 11:35
  • 527

【大话NoSQL】——什么是NoSQL?

学习,要先有全局观,再着眼于微观,否则,就像手中的一把沙,抓的越紧,剩下的越少。
  • jiuqiyuliang
  • jiuqiyuliang
  • 2014-12-15 08:11
  • 6677

详解NoSQL数据库使用实例

一、NoSQL基础知识 1.关于NoSQL 在“NoSQL”一词,实际上是一个叫Racker的同事创造的,当约翰埃文斯埃里克要组织一次活动来讨论开源的分布式数据库。这个名称和概念都由此而来。 有些人反对NoSQL术语,因为它听起来像我们定义自己是什么.在一定程度,但长期仍然是有价值...
  • u011225629
  • u011225629
  • 2015-07-24 22:48
  • 1599

大话数据结构与算法:基础篇

1.数据结构的重要性         数据结构是计算机软件相关专业的基础课程,几乎可以说,要想从事编程工作,无论是否是科班出身(比如我,标准的非科班人员,我是学医的,哈哈)都不可以绕过数据结构与算法这部分知识。       &...
  • shenziheng1
  • shenziheng1
  • 2016-05-26 13:52
  • 1269

大话无线通信与大话移动通信

这两本是写的风趣幽默,浅显易懂,看完后可以对整个无线通信有个大概的了解,不错!不错! 一。大话无线通信: 2013.4.16 1. 频域的概念?是不是将方波分解为正弦波? 2. 傅里叶级数: 每个周期性的信号都可以分解为谐波关系的正弦级数来表示 3. 傅里叶级数的伟大之处就在于,把一个看上...
  • yazhouren
  • yazhouren
  • 2013-04-16 16:24
  • 1055

10017---NoSQL的三大基石(CAP、BASE和最终一致性)

原文 CAP,BASE和最终一致性是NoSQL数据库存在的三大基石。而五分钟法则是内存数据存储了理论依据。这个是一切的源头。 CAP  C: Consistency 一致性  A: Availability 可用性(指的是快速获...
  • xxxcyzyy
  • xxxcyzyy
  • 2016-07-30 00:21
  • 503

大话机器学习(一)--Go for it!

本系列教程适合对机器学习一无所知,甚至文科森哦。反正不会有数学公式,I promise!教程基于sklearn的python机器学习库。 打开机器学习的面纱,就是这样。 首先要有利器。工欲善其事必先利其器。看我下面这个文章吧,下载一下这个软件,然后我们就可以开始了。 http://blog.csdn...
  • qtlyx
  • qtlyx
  • 2016-01-22 11:25
  • 1401

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

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

NoSQL开篇——为什么要使用NoSQL

【编者按】NoSQL在2010年风生水起,大大小小的Web站点在追求高性能高可靠性方面,不由自主都选择了NoSQL技术作为优先考虑的方面。今年伊始,InfoQ中文站有幸邀请到凤凰网的孙立先生,为大家分享他之于NoSQL方面的经验和体会。 非常荣幸能受邀在InfoQ开辟这样一个关于NoSQL...
  • u011628250
  • u011628250
  • 2015-02-28 10:33
  • 844

[数据结构]程杰《大话数据结构》单链表代码

#include "stdio.h" #include "string.h" #include "ctype.h" #include "stdlib.h" #include "math.h" #inc...
  • ilikeprograming
  • ilikeprograming
  • 2013-10-01 23:56
  • 2032
    个人资料
    • 访问:1327035次
    • 积分:12595
    • 等级:
    • 排名:第1298名
    • 原创:266篇
    • 转载:0篇
    • 译文:2篇
    • 评论:306条
    博主介绍
      Apache Hadoop Committer,其中主要专注于HDFS模块。毕业于HDU计算机系,研究领域分布式存储。曾就职于国内女性电商平台蘑菇街,目前就职于唯品会上海研发中心,数据平台与应用部门。
    新书发布
      新书<<深度剖析Hadoop HDFS>>发布上市,此书源自于笔者博客,重新经过整理,完善而成,此书的定位并不是一本纯源码分析的书籍,其中有许多笔者在工作和学习中对于HDFS的一些有趣的看法和理解。 链接:
    博客专栏
    最新评论