redis_NoSql数据库四杀分类

发布时间:2018-11-15  栏目:NoSQL  评论:0 Comments

  前面简单介绍了呀是NoSql,以及NoSql的用场景,今天简短来上一下NoSql的分类



一、KV键值对

        NoSQL(NoSQL = Not Only SQL
),意即“不仅仅是SQL”,是相同项全新的数据库革命性运动,早期就有人提出,发展至2009年势头愈加高涨。NoSQL的拥护者们发起用非关系型的数据存储,相对于星罗棋布之干项目数据库用,这同样概念的是一模一样栽全新的想的流入。

  典型的牵线:新浪(BerkeleyDB+redis)、美团(redis+tair)、阿里,百度(memcache+redis)

        NoSQL数据库分四大接近:

  BerkeleyDB是一个开源的文本数据库,介于关系数据库与内存数据库里,使用办法与内存数据库类似,它提供的是平雨后春笋直接访问数据库的函数,而未是比如说关系数据库那样需要网络通讯、SQL解析等手续。

键值(Key-Value)存储数据库

  Tair是一个Key/Value结构数据的化解方案,它默认支持因内存和文件的简单种植存储方,分别跟缓存和持久化存储对应。TAIR的效用是get、put、delete以及批量接口。

马上无异看似数据库重点会以及一个哈希表,这个发明中发出一个特定的键和一个指南针指为特定的数额。Key/value模型对于IT系统来说的优势在于简单、易部署。但是若DBA才针对片值进行询问或更新的时,Key/value就显得效率低下了。\[3\] 举例如:Tokyo
Cabinet/Tyrant, Redis, Voldemort, Oracle BDB.

  memcache是千篇一律效仿分布式的高速缓存系统,由LiveJournal的Brad
Fitzpatrick开发,但当下深受广大网站使用以提升网站的访问速度,尤其对有些大型的、需要数造访数据库的网站访问速度提升效果好眼看 
。这是一律拟开源代码软件,以BSD license授权发布。

排存储数据库。

亚、文档型数据库(BSON格式比较多)

立刻有些数据库一般是为此来应针对分布式存储的雅量数据。键仍然在,但是其的特性是因于了差不多单列。这些列是由列家族来布局的。如:Cassandra,
HBase, Riak.

  CouchDB是用Erlang开发之面向文档的数据库系统。CouchDB不是一个风俗习惯的关系数据库,而是面向文档的数据库,其数额存储方有些类似lucene的index文件格式,CouchDB最要命的意义在于她是一个面向web应用的新一替存储系统,事实上,CouchDB的口号就是是:下一代之Web应用存储系统。

文档型数据库

  MongoDB是一个基于分布式文件之数据库。由C++语言编写。旨在为WEB应用提供可扩大的胜性能数据存储解决方案。是一个在乎关系项目数据库暨非关系型数据库中的活,是非数据库中作用最好丰富,最像关系数据库的。

文档型数据库的灵感是缘于于Lotus
Notes办公软件的,而且它们跟第一栽键值存储相近似。该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储,比如JSON。文档型数据库可
以当是键值数据库的晋级版本,允许之间嵌套键值。而且文档型数据库比键值数据库的询问效率还强。如:CouchDB,
MongoDb. 国内也闹文档型数据库SequoiaDB,目前都开源。

其三、列存储数据库

图形(Graph)数据库

  Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其重大功能比Dynamo
(分布式的Key-Value存储系统)更丰富,但支撑度却不如文档存储MongoDB。Cassandra最初由Facebook开发,后转成为了开源项目。它是一个网络社交云计算方面佳的数据库。以Amazon专有的一点一滴分布式的Dynamo为根基,结合了Google
BigTable基于列族(Column
Family)的数据模型。P2P去中心化的囤积。很多点都可称之为Dynamo
2.0。

图结构的数据库与其它队以及刚性结构的SQL数据库不同,它是运灵活的图纸模型,并且能壮大及大半只服务器上。NoSQL数据库没有正经的询问语言(SQL),因此开展数据库查询需要制订数据模型。许多NoSQL数据库都有REST式的数目接口或者查询API。\[2\] 如:Neo4J,
InfoGrid, Infinite Graph.

  HBase是一个分布式的、面向列的开源数据库,该技术自
Fay Chang
所撰写之Google论文“Bigtable:一个结构化数据的分布式存储系统”。就如Bigtable利用了Google文件系统(File
System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了接近于Bigtable的力。HBase是Apache的Hadoop项目之子项目。HBase不同为一般的关系数据库,它是一个相符为不结构化数据存储的数据库。另一个见仁见智的凡HBase基于列的假设非是依据行的模式。

就此,我们总结NoSQL数据库在以下的就几种植状况下比较适用:1、数据模型比较简单;2、需要灵活性更胜似的IT系统;3、对数据库性能要求比较高;4、不欲高度的数码一致性;5、对于被一定key,比较便于映射复杂值的条件。

季、图关系数据库

NoSQL数据库的季良分类表分析

  图关系数据库它不是放图形的,放之凡涉:朋友圈社交网络,广告推荐系统,社交网推荐系统
。用于构建关系图谱。

分类 Examples举例 典型应用场景 数据模型 优点 缺点
键值(key-value)[3]  Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB 内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等。[3]  Key 指向 Value 的键值对,通常用hash table来实现[3]  查找速度快 数据无结构化,通常只被当作字符串或者二进制数据[3] 
列存储数据库[3]  Cassandra, HBase, Riak 分布式的文件系统 以列簇式存储,将同一列数据存在一起 查找速度快,可扩展性强,更容易进行分布式扩展 功能相对局限
文档型数据库[3]  CouchDB, MongoDb Web应用(与Key-Value类似,Value是结构化的,不同的是数据库能够了解Value的内容) Key-Value对应的键值对,Value为结构化数据 数据结构要求不严格,表结构可变,不需要像关系型数据库一样需要预先定义表结构 查询性能不高,而且缺乏统一的查询语法。
图形(Graph)数据库[3]  Neo4J, InfoGrid, Infinite Graph 社交网络,推荐系统等。专注于构建关系图谱 图结构 利用图结构相关算法。比如最短路径寻址,N度关系查找等 很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群方案。[3] 

  Neo4j是一个胜性能的,NOSQL图形数据库,它将结构化数据存储在网达到一旦不是表中。它是一个嵌入式的、基于磁盘的、具备完全的工作特性的Java持久化引擎,但是她将结构化数据存储在网(从数学角度叫做图)上而非是表中。Neo4j也足以吃看成是一个大性能的图引擎,该引擎具有成熟数据库的具备特性。程序员工作在一个面向对象的、灵活的网络布局下而未是严、静态的表中——但是她们可大快朵颐到持有全的政工特性、企业级的数据库的有好处。因该嵌入式、高性能、轻量级等优势,越来越被关注。

以上内容选择自网上

五、四栽档次数据库对比

分类

Examples举例

典型应用场景

数据模型

优点

缺点

键值(key-value) 

Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB

内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等。 

Key 指向Value 的键值对,通常用hash table来实现 

查找速度快

数据无结构化,通常只被当作字符串或者二进制数据 

列存储数据库

Cassandra, HBase, Riak

分布式的文件系统

以列簇式存储,将同一列数据存在一起

查找速度快,可扩展性强,更容易进行分布式扩展

功能相对局限

文档型数据库

CouchDB, MongoDb

Web应用(与Key-Value类似,Value是结构化的,不同的是数据库能够了解Value的内容)

Key-Value对应的键值对,Value为结构化数据

数据结构要求不严格,表结构可变,不需要像关系型数据库一样需要预先定义表结构

查询性能不高,而且缺乏统一的查询语法。

图形(Graph)数据库[3] 

Neo4J, InfoGrid, Infinite Graph

社交网络,推荐系统等。专注于构建关系图谱

图结构

利用图结构相关算法。比如最短路径寻址,N度关系查找等

很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群方案。[3] 

 

留下评论

网站地图xml地图