为什么需要图数据库
这篇文章给大家介绍为什么需要图数据库,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
当前,互联网数据呈指数级增长,但是以更快速度增加的是数据之间的关系。企业的 CIO 和 CTO 不仅要管理大量数据,还要从现有的数据中挖掘商业价值,在这种情况下处理数据之间的关系比处理单个数据更为重要。
传统的关系型数据库,在处理复杂数据关系运算上表现很差,随着数据量和深度的增加,关系型数据库无法在有效的时间内计算出结果。所以,为了更好的利用数据间的连接,企业需要一种——将关系信息存储为实体、灵活拓展数据模型的数据库技术,这项技术就是图数据库(Graph Database)。
图数据库具有天然可解释性
图数据库是基于图模型,对图数据进行存储、操作和访问的一项技术,即使没有专业的图论知识储备,也能轻松理解。它可以接受比实时查询更为复杂的分析需求,来挖掘图数据中的潜在价值。从分类上来说,图数据库属于 NoSQL 的一种。
图模型是图数据库中的重要概念。图模型由两个要素组成:节点和边。每个节点代表一个实体(一个人,地方,事物或其他数据),每条边代表两个节点之间的连接,这种通用结构可以对各种场景进行建模,如社交网络以及由关系定义的任何其他事物。
例如:下面这个图模型中包含 3 个节点:中国、四川、大熊猫。其中他们的两条边分别是:大熊猫是四川的特色、四川属于中国。
图模型的基础要素:节点和边
从上面的图模型可以看出,图数据库的目标就是基于图模型以一种直观的方式模拟这些关系。因为是基于事物关系的模型表达,图因此也具有天然的可解释性。
图数据库在处理关联数据时的优势
与关系型数据库相比,图数据库在处理关联数据时有三个非常突出的技术优势:
高性能:随着数据量的增多和关联深度的增加,传统关系型数据库受制于检索时需要多个表之间连接操作,数据写入时也需考虑外键约束,从而导致较大的额外开销,产生严重的性能问题。而图模型固有的数据索引结构,使得它的数据查询与分析速度更快。
灵活:图数据库有非常灵活的数据模型,使用者可以根据业务变化随时调整数据模型,比如任意添加或删除顶点、边,扩充或者缩小图模型这些都可以轻松实现,这种频繁的 Schema 更改在关系型数据库上不能到很好的支持。
敏捷:图数据库的图模型非常直观,支持测试驱动开发模式,每次构建时可进行功能测试和性能测试,符合当今比较流行的敏捷开发需求,对于提高生产和交付效率也有一定帮助。
我们可以继续扩展前面介绍到的图模型用例,来展示图数据库的优势。北京也属于中国,长城位于北京,Tom 去过长城,火锅店张师傅出生于四川,Tom 出生在中国喜欢大熊猫,张师傅在北京开店,Tom 是张师傅的顾客。
拓展后的图模型
如果你是业务 / 产品工作人员,你一定希望你的产品或业务拓展到用户的方方面面。如果你是开发人员你一定希望能够简单高效地描述这个纷繁复杂的世界。
在传统的关系型数据库中,要想进行关联查询,我们需要建立多少张表呢?国家、省 / 市、人、动物、地标、动物与省 / 市的关系、国家与省 / 市的关系、人与省 / 市的关系、人与人..... 粗算一下 至少十几张表。
构建这些表倒没什么。但如果,现在我们需要查询:在哪些城市上班的人最喜欢大熊猫?
首先需要关联动物表、人员表、人喜欢的动物表,关联这三张表就可以查到 Tom 喜欢大熊猫。但是接下来你还需要再关联两张表,找到他们在哪个地标工作,然后再关联两张表找到这些地标在哪个城市。等等,还没完,你还得 group by 一下,再排个序。
你会发现这个查询实在太难了!但这恰恰是数据分析师最基本的工作,也是大数据时代海量信息处理的一个缩影。而使用图数据库,我们可以轻易的描述和查询上图所示的关系。在处理复杂数据关系运算上,图数据库查询效率远高于关系型数据库。
图数据库的应用场景
图数据库技术已经应用于现实生活中的方方面面,诸如 Google、Facebook 等科技巨头已经开始使用图数据库的力量来蓬勃发展业务。据 Gartner 在《十大数据分析技术趋势》预测,2012 年至 2022 年,全球图处理及图数据库的应用都将以每年 100% 的速度迅猛增长。
如果说知识图谱是图数据库的底层应用场景,充分利用了图模型在存储和查询的优势为多行业提供知识服务。那么金融风控则是具有行业特点的高阶应用场景。
知识图谱
知识图谱作为图数据库的底层应用,已服务于多种行业,包括:智能问答、搜索、个性化推荐等。以智能问答为例,产品主要分为聊天机器人、行业智能问答系统两种。开放领域的知识图谱能为聊天机器人提供广泛知识,机器不仅能和使用者聊天还能提供日常知识。行业智能问答系统则使用行业知识图谱,能够为用户有针对性的提供专业领域知识,在法律、医疗行业已得到运用。
在知识图谱的应用落地上,主要有两点因素影响着知识图谱的质量和实现 -NLP 自然语言处理引擎、算法库。NLP 自然语言处理引擎决定了 NLP 爬虫平台获取数据的质量和数量,而这些原始数据作为知识图谱的知识原料又决定了知识图谱的水平。算法库中的图算法决定了图构建、图存储和图操作的能力,知识原料丰富而图算法落后,依然不能构建出强大的知识图谱。
金融反欺诈
图数据库通过利用多维交叉关联信息深度刻画申请和交易行为,可以有效识别规模化、隐蔽性的欺诈网络和洗钱网络;结合机器学习、聚类分析、风险传播等相关算法,可以实时计算用户的风险评分,在风险行为发生前预先识别,有效帮助金融机构提升效率、降低风险。应用图数据库的金融风控场景很多,例如个人信贷、洗钱路径追踪、个人 / 企业征信等
基于图数据库在金融风控的优异表现,很多企业表示对这项技术的看好,在这之中也有一些前瞻性的企业已率先使用此技术并取得竞争性优势。图技术发展多年,这项技术仍然有很多企业没有使用,是什么原因阻碍了技术的推进?
首先是数据存储的问题,在反洗钱的场景中,需对用户的借记卡和信用卡数据存储分析。在存储时发现,仅 10 个月借记卡数据 +1 个月信用卡数据规模就有 5 个 T,这样的数据量是过去图数据库无法支持的。
第二点是多步分析问题。在反洗钱应用场景中需要做到 3-10 步以上的分析,而目前的图数据库在企业级场景下,2 度到 3 度查询时就会出现超时或者内存溢出的问题。这样的性能对于欺诈甄别的帮助很小。
针对这些问题,图数据库厂商正在积极构建成熟的解决方案来满足这两点要求,市面上有越来越多高性能图数据库出现。目前,部分企业采取的替代方案是通过图数据库 + 大数据平台的方式实现大数据量的效果,但是这样的解决方案由于技术门槛较高无法轻易掌握。
工业领域
图模型具有强大的表现力对于快速更新的事物有很强的适应性,在工业领域用来管理快速变化的库存、供应链关系。目前已有沃尔沃等汽车制造商,依靠图数据库优化生产流程和供应链管理。
在制造业,供应链的管理涉及到多人协作和实时库存信息的反馈,包括汇总后的信息和明细数据的查询,查询过程涉及实体很多且关系复杂。此时图数据库在面对这类深度关联的场景时,优势就显现出来了,因为只需要通过边的查询就能找到相关联的数据,而无需对某一顶点做全局扫描,图数据库能够做到对于流入数据的实时更新和数据深度遍历。
图数据库技术的架构
图数据库的技术架构如下图所示,整体上采用分层架构的模式,由上至下分别是:接口层、计算层、存储层。
图数据库的系统架构
(1)接口层:接口层对外提供服务,有如下几种方式:
查询语言接口:提供除该图数据库原有查询语言之外的语言查询,例如 Cypher、Gremlin 等主流图查询语言接口。
API:提供 ODBC、JDBC、RPC、RESTful 等接口与应用端交互。
SDK:在 Python、Java、C++ 等编程语言中通过库函数的方式调用图数据库的接口。
可视化组件:通过图形化界面的形式展示和实现用户的交互。
(2)计算层:提供对操作的处理和计算,包括语法解析、查询引擎、优化器、事务管理、任务调度和图算法实现等。其中,图算法可能是由图数据库本身提供,也可能是提供接口与图处理引擎对接
(3)存储层:图数据库有原生和非原生存储两种存储方式,图存储引擎提供了图数据结构、索引逻辑上的管理。
图查询语言标准统一代表市场认可度提升
与关系型数据库不同,图数据库领域目前没有统一的查询语言,大多数查询语言与产品紧密关联。当企业需要使用新的图数据时需要重新学习语法,这带来了不必要的学习成本。是否拥有一个统一的查询语言标准,也标志着图数据库市场的成熟度。
在 2019 年 9 月 17 日,SQL 标准国际委员会投票决定,将 GQL 作为一种新的图数据查询标准语言。目前还无法确定 GQL 的第一个可实现版本,但很有可能在 2020 下半年会推出 GQL 图查询语言的完备草案。
查询语言统一带来的好处:
降低企业学习成本—前期的学习成果是能够积累在将来发挥作用的。新的查询语言不只是简单的语法,还是一种新的语言使用思考方式。统一语言后,使用不同的图数据库将只意味工具不同,但是语言基础是相通的。
提升技术成熟度—企业不只担心学习成本,更担心的是整个技术的成熟程度。如果业界有一门统一的查询语言,也就是当企业认为这种分析方式是稳定而成熟的,才会认可它。
云让数据查询和分析变得简单易用
目前将图数据库上云的厂商并不多,少数图数据库厂商提供云上图数据库部署,供数据科学家,开发人员,业务分析师,学生和其他爱好者使用。开发者可以在短时间里通过简单的步骤开启基于图的解决方案配置。
大数据时代时代的业务增长带来了数据量的剧增和数据关联的复杂化,与此同时企业对数据价值的期望也越来越高。根据 DB Engines 近 7 年数据库流行趋势显示,图数据库相较其他主流数据库受欢迎程度遥遥领先,目前,国内越来越多的厂商进入图数据库领域,开始构建自己的图数据库,图数据库的建设既需要全面的大数据技术又需要图数据库工程师和业务专家的持续协作,是一项长期持续的工作,未来,图数据库技术必将成为最为热点的技术之一。
关于为什么需要图数据库就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
评论