图数据库系列初识图数据库

01

关系型数据库的不适应在众多不同的数据模型里,关系数据模型自20世纪80年代就处于统治地位,而且出现了不少巨头,如Oracle、MySQL等,它们也被称为:关系数据库管理系统(RDBMS)。然而,随着关系数据库使用范围的不断扩大,也暴露出一些它始终无法解决问题,其中最主要的是数据建模中的一些缺陷和问题,以及在大数据量和多服务器之上进行水平伸缩的限制。

同时,互联网发展也产生了一些新的趋势变化:

1.用户、系统和传感器产生的数据量呈指数增长,对大数据的存储和处理带来新的挑战;

2.新时代互联网形势下的问题急迫性,这一问题因互联网+、社交网络,智能推荐等的大规模兴起和繁荣而变得越加紧迫。

关系型数据库应用受限于SQL的五大征兆:

1.有大量的连接JOIN操作

当查询中包含了过多的表连接时,复杂性和计算资源消耗呈爆炸性增长,相应增加了查询执行时间。

2.有大量的自连接Self-JOIN操作(递归连接)

自连接查询在层次和树状结构中非常常见,但是重复连接表自身以达到遍历关系的目的是非常低效的。

3.频繁变更的数据模式

当今时代,业务的灵活可变性是在激烈竞争中致胜的关键。然而实际情况是,业务部门要求作出变化的意愿经常被DBA们泼上冷水,因为关系型数据库并非为适应频繁变化的数据库模式和视图而建立的。

4.运行缓慢的查询

虽然有很多加速查询运行的诀窍,但是许多SQL的执行速度仍然无法达到预期。另外,为提高查询性能而采用的“去范式化”,或称“扁平化”(denormalizing)的数据模型会对数据质量和更新方式带来负面影响。

5.预先计算查询结果

因为查询的速度太慢,许多应用不得不用历史数据库事先计算好结果,这实际上是用昨天的数据来获得原本需要用实时数据获得的查询结果。更糟的是,系统往往不得不计算全部数据,即便只有1-2%的数据是真正需要的。

02

NoSQL数据库的数据模型

而在应对这些问题时,关系数据库产生了更多的不适应性,从而导致大量解决这些问题中某些特定方面的不同技术出现,它们可以与现有RDBMS相互配合或代替它们。过去的几年间,出现了大量新型数据库,它们被统称为NoSQL数据库。

NoSQL(NotOnlySQL,不限于SQL)是一类范围非常广泛的持久化解决方案,它们不遵循关系数据库模型,也不使用SQL作为查询语言。其数据存储可以不需要固定的表格模式,也经常会避免使用SQL的JOIN操作,一般有水平可扩展的特征。

简言之,NoSQL数据库可以按照它们的数据模型分成4类:

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

这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key-value模型对于IT系统来说的优势在于简单、易部署。但是如果DBA只对部分值进行查询或更新的时候,Key-value就显得效率低下了。举例如:TokyoCabinet/Tyrant,Redis,Voldemort,OracleBDB。

2.列存储数据库

这部分数据库通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列,这些列是由列家族来安排的。如:Cassandra,HBase,Riak。

3.文档型数据库

文档型数据库的灵感是来自于LotusNotes办公软件的,而且它同第一种键值存储相类似。该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储,比如JSON。文档型数据库可以看作是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。如:CouchDB,MongoDb。国内也有文档型数据库SequoiaDB,已经开源。

4.图数据库(Graph)

图形结构的数据库同其他行列以及刚性结构的SQL数据库不同,它是使用灵活的图形模型,并且能够扩展到多个服务器上。如:Neo4J,InfoGrid,InfiniteGraph。

03

什么是图数据库

图数据库定义:adatabasethatusesgraphstructuresforsemanticquerieswithnodes,edgesandpropertiestorepresentandstoredata–independentofthewaythedataisstoredinternally.It’sreallythemodelandtheimplementedalgorithmsthatmatter.(使用图形结构进行语义查询的数据库,包含节点、边和属性来表示和存储数据——与数据在内部存储的方式无关。真正重要的是模型和实现的算法。)

注意,这里只是说数据模型是图结构的,没有说数据的存储也一定要是图结构的。

在一个图形数据库中,数据库的最主要组成主要有两种,结点集和连接结点的关系。结点集就是图中一系列结点的集合,比较接近于关系数据库中所最常使用的表。而关系则是图形数据库所特有的组成,描述了结点之间的连接关系,也就是边。

可以看出,图数据库是基于数学理论中的图计算理论而设计的一种数据结构。相对于关系型数据库,图数据库不再需要用关联表这种辅助数据结构来描述实体之间的关系,而是以一种更自然的方式描述了现实世界中事物之间的普遍关系。

对于图数据库技术而言,有两个重要特征:

1.本地(Native)图存储

有些图数据库使用本地图存储,也就是针对图的特征而专门设计的存储模式,而其他数据库则使用关系型或面向对象型数据库来存储图数据库。非本地的图存储在处理大规模和高复杂度图计算时可能有很大的潜在性能瓶颈。

2.图处理引擎

本地图处理,称之为“无需索引的邻接关系”(index-freeadjacency),是处理图数据库最有效的手段,因为数据的连接在图数据库中物理的被保存下来。其他类型数据库以其他方法处理,无法针对图数据库结构而优化CRUD操作。

04

图数据库有哪些应用场景

虽然图数据库首先应用在社交网络应用中,例如Facebook、Twitter等,但实际上图数据库的应用场景远远超出了社交空间。

当今图数据库技术最常见的应用场景包括:

l欺诈监测:例如智能反欺诈、反洗钱监控,资金流监控等

l实时推荐系统

l主数据管理:对企业的组织结构、客户、产品等进行管理

l网络和IT营运:例如网络故障定位、变更影响分析等

l身份和访问管理

l基于知识图谱的智能搜索

风信相随

智慧相伴

长按扫码







































北京中科白殿风医院怎样
北京专业的白癜风医院



转载请注明:http://www.xcqg58.com/xxzl/xxzl/9330.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了