17611538698
webmaster@21cto.com

开发者要了解的图形数据库知识

资讯 0 2968 2018-12-01 11:57:06

21CTO导读:为什么图形数据库对我们开发者来说很重要,本文一探究竟。


focus.jpg

 
业务架构师应该了解什么
 
我们可以在Google 上获得图形数据库都是学术性的内容,比如关于图形数据库的描述,比如Koigsberg的七座桥梁,还有万维网的发明者Berners-Lee。
 
一些理论和愿景很好,但对我来讲,我认为引导相关性非常重要。
 
那么,为什么图形数据库对我们如此重要?
 

db-table.jpg

 
 
联想一下保存本地连锁餐厅的数据。比如我们想要追踪客户信息,则可以把TA们的信息存储在一个数据表里,销售数据放在一张表中,如果想了解销售的产品情况,订购库弯路,以及最忠实的客户是谁,可以很方便的查询。
 
但是关系数据库里缺少组织结构以及项目之间的连接关系等,图形数据库存储了相同类型的数据,还能够存储事物之间的链接。比如老王购买了不少可乐,老张和小丽结婚买了红酒饮料。我不需要使用JOIN来查询应该向每个客户推送什么产品,通过数据中的关系,就不用做出假设来对其进行测试。
 
这个新的连接信息层为帮我们做很多,这不仅仅是与购买客户意向有关,也会和很多用例提供价值,特别是在机器学习或者希望机器进行分析或推理时非常有用。
 

tb2.jpg

 
 
由于传统数据库是用表格而不是用数据链接设计的,SQL将不能再使用,图形数据库提供了类似SQL的语言,比如SparQL,Gremlin和Cypher等。
 
一个主要区别是需要对链接数据采用分析功能。比如想找到在网站上购买某种最热门的商品,如果我们想对某个项目的受欢迎程度进行排名,那么我们得使用一种新语法,需要学习连接数据的语言才能最大化利用它。
 
不能用RDBMS做到这一点吗
 
当然可以,在传统的关系数据库管理系统(RDBMS)中创建这些关系链接。但是,想要在传统数据库中执行任务,DBA要认真设计唯一键与JOIN的关系。如果我们使用图形数据库,那么主题及其关系(称为主语和谓词)都是已知的,不用再重建连接。
 
比如定义马丽是小婉的妈妈,那么就可以抢断出小婉是马丽的例子。我们不用需要再专门定两种关系,图形数据库对该方面很智能。相比之下,RDBMS无法理解任何未定义的内容。因此,在查看兴趣、家庭和社区时,这种推理能力具有明显的价值。
 
图形数据库的专长
 
与RDBMS一样,图形数据库可以是事务性也可以是分析性的。图形数据库有不同的侧重点。比如流行的Neo4j专注于事务(OLTP)图形数据库,而AnzoGraph是分析型(OLAP)图形数据库。我们第一次使用图形数据库,会感觉有一些区别。所以,我们可能需要一个不同的引擎来运行涉及单个实体的快速查询,比如Susan有什么车,以及轮询整个数据库的查询分析,例如Susan等人买车的平均价格是多少。
 
随着机器学习和人工智能的发展,图形数据库OLAP变得越来越重要,许多机器学习算法本质上图形算发,因此在图形OLAP数据库上运行比RDBMS上运行会更有效。
 
 
 

编译:老夏
来源:21CTO


评论