文档章节

NoSQL介绍

 行人吉卜力
发布于 2018/10/05 23:58
字数 974
阅读 3
收藏 0

NoSQL,指的是非关系型的数据库。

RDBMS (关系型数据库)1)高度组织化结构化数据2) 结构化查询语言(SQL) (SQL)3) 数据和关系都存储在单独的表中。4)数据操纵语言,数据定义语言5) 严格的一致性6)基础事务

NoSQL 1)代表着不仅仅是SQL2)没有声明性查询语言3)没有预定义的模式4)键 - 值对存储,列存储,文档存储,图形数据库5)最终一致性,而非ACID属性6)非结构化和不可预知的数据7)CAP定理8)高性能,高可用性和可伸缩性

CAP定理(CAP theorem), 又被称作 布鲁尔定理(Brewer's theorem), 它指出对于一个分布式计算系统来说,不可能同时满足以下三点:

  • 一致性(Consistency) (所有节点在同一时间具有相同的数据)
  • 可用性(Availability) (保证每个请求不管成功或者失败都有响应)
  • 分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作)

CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个。因此,根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则和满足 AP 原则三 大类:

  • CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。
  • CP - 满足一致性,分区容忍性的系统,通常性能不是特别高。
  • AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。

NoSQL的优点/缺点

优点:1,高可扩展性2,分布式计算3,低成本4, 架构的灵活性,半结构化数据5,没有复杂的关系

缺点:1,没有标准化2,有限的查询功能(到目前为止)3,最终一致是不直观的程序

BASE是NoSQL数据库通常对可用性及一致性的弱要求原则:

1,Basically Availble --基本可用

2,Soft-state --软状态/柔性事务。 "Soft state" 可以理解为"无连接"的, 而 "Hard state" 是"面向连接"的

3,Eventual Consistency -- 最终一致性, 也是是 ACID 的最终目的。

NoSQL 数据库分类

列存储 顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的IO优势。 如:Hbase,Cassandra,Hypertable

文档存储 文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有机会对某些字段建立索引,实现关系数据库的某些功能。如:MongoDB,CouchDB

key-value存储 可以通过key快速查询到其value。一般来说,存储不管value的格式,照单全收。(Redis包含了其他功能) 如:Tokyo Cabinet / Tyrant,Berkeley DB,MemcacheDB,Redis

图存储:图形关系的最佳存储。使用传统关系数据库来解决的话性能低下,而且设计使用不方便。如:Neo4J,FlockDB

对象存储:通过类似面向对象语言的语法操作数据库,通过对象的方式存取数据。 如:db4o,Versant

xml数据库:高效的存储XML数据,并支持XML的内部查询语法,比如XQuery,Xpath。 Berkeley DB XML,BaseX

 

 

 

 

 

© 著作权归作者所有

下一篇: 数据库简介
粉丝 0
博文 11
码字总数 20745
作品 0
私信 提问
聚焦NOSQL数据库实战分享

NOSQL正在被更多的公司所接受,在选型时如何考虑关系型数据库和NOSQL数据库的差异?在迁移及NOSQL应用过程中有哪些利弊、陷阱与挑战?NOSQL如何运用于大型管理系统的开发和使用,人人游戏如何...

CSDN云计算俱乐部
2013/08/16
727
1
《NoSQL数据库入门》书评赠书活动,国内首本NoSQL书

图灵教育&开源中国联合举办读样章赠图书活动,免费赠送《NoSQL数据库入门》10册! 本书核心:了解当今最炙手可热的NoSQL新型数据库技术;介绍memcached、Tokyo Tyrant、Redis、MongoDB;如何...

生气的散人
2012/06/19
5.2K
44
【新书推荐】《NoSQL数据库入门 》国内第一本NoSQL书

【介绍memcached、Tokyo Tyrant、Redis、MongoDB】【如何基于MySQL应用NoSQL技术特性】 内容简介: 在云计算时代,传统的关系型数据库的不足凸显出来,尤其是它无法应对大数据量的处理需求。...

生气的散人
2012/05/11
933
0
Martin Fowler对于nosql的看法

The rise of NoSQL databases marks the end of the era of relational database dominance NoSQL数据库的崛起标志这个关系型数据库统治时代的终结。 But NoSQL databases will not become ......

PaperHY
2014/03/18
96
0
关系型数据库和NoSQL数据库

关系型数据库和NoSQL数据库 什么是NoSQL 大家有没有听说过“NoSQL”呢?近年,这个词极受关注。看到“NoSQL”这个词,大家可能会误以为是“No!SQL”的缩写,并深感愤怒:“SQL怎么会没有必要...

丈量大地
2014/03/11
335
1

没有更多内容

加载失败,请刷新页面

加载更多

《JAVA核心知识》学习笔记 (19. 数据库)

19.1.1. 存储引擎 19.1.1.1. 概念 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、 更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧...

Shingfi
12分钟前
2
0
三分钟手操自己的yum源

本文章原创首发公众号:编程三分钟 上次就想手操yum源了,考虑到有的朋友没接触过,直接写成了yum源的科普,活活憋了我一个星期,现在我们快快开始。 什么情况下我们需要搭建一个仓库呢? 记...

编程三分钟
16分钟前
4
0
一起来学Java8(二)——Lambda表达式

Lambda简介 什么是Lambda表达式,简单的说是一种匿名函数表达方式。因此Lambda表达式本质是个函数,只不过没有函数名称。 Lambda表达式具有以下特点: 匿名,它没有函数名称 本质是个函数,除...

猿敲月下码
18分钟前
3
0
排序算法之希尔排序

1、介绍。 希尔排序(Shell's Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因D...

daxiongdi
26分钟前
3
0
log4j2入门hello world

1.什么是log4j2 (1)log4j log4j是apache的一个开源项目,表示log for java.是一个日志工具,可以将日志信息输出到文件,控制台等其他地方 ,还可以定义日志的输出格式,另外还有日志级别的区分,可...

Blueeeeeee
28分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部