近年来图数据库越来越火,探讨的话题也越来越多,但很多小伙伴还不分明图数据库到底是个啥?和传统关系型数据库有什么区别?具体又有什么特点?那明天小编将通过有个男人叫小帅的故事来给大家通俗易懂地介绍下什么是图数据库。
长话短说,故事正式开始
什么是图数据库
从前,有个男人叫小帅,他有个弟弟叫小强,他们有个丑陋的街坊叫小美,他们三个在同一所学校读书。小帅喜爱小美,小强也喜爱小美,但小美不喜爱小强,小美喜爱的人是小帅。
没关系,咱们画一张简略的图来帮大家理清一下关系。
看了下面这张图,有没有一种拨开云雾的赶脚,感觉整个世界都清晰了?
那其实这里咱们是用了图构造来表白数据。图是由节点和关系两个元素组成的,每个节点代表一个实体,例如人,地,事物,类别等,每个关系代表两个节点的关联形式。
那图数据库就是一种应用图构造进行存储和查问的数据库,其中节点和边用于对数据进行示意和存储。
罕用的图模型有 2 种,别离是属性图(Property Graph)和资源形容框架(RDF),当初较为出名的图数据库次要是基于属性图,也就是咱们下面画的那张图。
属性图由顶点(圆圈)、边(箭头)、属性(key:value)组成。以下面咱们画的图为例,三个顶点都有一个标签是 student,同时还有属性 name,属性值别离是小帅,小强,小美。顶点之间的边示意了他们的关系,哥哥,弟弟,喜爱。如果两人之间的边是双向的,阐明两人有互相关系,如果是单向的……
图数据库与传统关系型数据库的区别
小帅和小美两个人平时在学校都是离开上课,接触的机会不多。为了减少和小美相处的机会,小帅想和小美选一样的课,那他们就能够天天在一起了。但小帅又不想间接问小美选什么课,他想以偶遇的形式和小美在课堂上遇见。
为了理解小美选课状况,小帅首先想到的是用传统关系型数据库进行查问。
在关系型数据库中,咱们个别须要建设学生信息表,学生和课程对应关系表,课程信息表。
小帅想查问小美选了哪些课,须要分 3 步:
第一步 a,通过学生信息表找到小美对应的学号 18;
第二步 b,应用学号去学生和课程对应关系表中找到小美选课的课程 ID,如 118,123,145;
第三步 c,应用课程 ID 在课程信息表中找到对应的课程名称等信息,如大数据,计算机,云计算。
第一步 a 须要一次索引查找过程,第二步 b 也须要一次索引查找,第三步 c 须要 3 次索引查找。大学里有几万名学生,小美又是个学霸,选了很多很多的课,那么学生和课程对应关系表的记录会十分多,通过表与表之间的 JOIN 操作会带来大量零碎性能的损耗,同时会耗费很多工夫,查问效率比拟低,有时甚至无奈返回后果。
所以说,这种状况应用关系型数据库不是不行,只是表模式不善于形容数据之间的某些特定的简单关系。
于是,小帅又想到了最近比拟火的图数据库,那让咱们看看图数据是怎么查问的。
图数据库与关系型数据库的建模形式不同,所以在图数据库中查问就没那么简单了。在图数据库中,学生和课程都在同一张图中,小美和三门课程都是节点,别离带有标签 Student 和 Course,他们之间通过属性为选课的边建设关联关系。
小帅在查找小美选课状况时也是分为 3 步:
第一步 A,通过在学生标签 student 上建设的索引来找到小美对应的节点;
第二步 B,再通过节点保留的标签为选课的边来找到对应的课程;
第三步 C,读取选课课程信息。
尽管图数据库的查问也是分为 3 步,但效率却大大提高。第一步和传统关系型数据库一样,第二步无需进行索引查找,间接能够通过节点获取,尽管节点存在不同标签的边,但跟学生和课程对应关系表的记录数必定不是一个数量级的,尤其是在海量数据的状况下,图数据库体现出的性能更加优异,小帅通过图数据库进行数据查问与剖析的速度更快。
图数据库的劣势
小美有个闺蜜叫大丑陋,大丑陋喜爱小帅的弟弟小强。于是小帅和小美想撮合小强和大丑陋,他们给小强和大丑陋制作了很多相处的机会。通过一段时间的相处,小强逐步对大丑陋产生了好感。
咱们只需在之前的属性图上增加大丑陋这个节点和其与小美、小强的关联边就能够了。
那从下面的介绍你当初晓得图数据库有什么劣势了么?
与传统关系型数据库相比,图数据库有以下劣势:
人造解释性 :通过用属性图来表白小帅等人以及他们之间的关系,咱们能够发现图数据库具备人造解释性。用户能够很天然的表白事实世界中的实体及其关联关系(对应图的顶点及边)。
高性能 :从小帅通过传统关系型数据库和图数据库进行选课查问能够发现,图数据库在数据关联关系查问中具备更高的性能。传统关系型数据库多个表之间连贯操作、外键束缚,导致较大的额定开销。而图模型固有的数据索引构造,使得它的数据查问与剖析速度更快。
灵活性 :从大丑陋这个实体以及其关系很天然地融入以后数据中,咱们发现图数据灵便的数据模型能够适应一直变动的业务需要,任意增加或删除顶点、边,裁减或者放大图模型这些都能够轻松实现。
星环科技分布式图数据库 StellarDB
鉴于图数据库在数据关系查问方面的劣势,小帅决定采纳图数据库的形式来查问小美的选课信息,但市面上有那么多图数据库,到底用哪个让小帅很尴尬。
图数据库依据底层存储实现的不同,可分为原生图数据库和非原生图数据库。
原生图数据库:应用图模型进行数据存储,能够针对图数据做优化,从而带来更好的性能。
非原生图数据库:底层存储应用非图模型进行存储,在存储之上封装图的语义,进行图解决,其长处是易于开发,适宜产品泛滥的大型公司,造成相互配合的产品栈。
目前,国外图数据库市场上开源、商用图数据库并驾齐驱,其中开源图数据库有 Neo4j、JanusGraph、ArangoDB 等,商用图数据库有 Neptune(亚马逊)、Cosmos(微软)、TigerGraph 等。而国产图数据库产业也在蓬勃发展,其中一款优良的国产图数据库产品引起了小帅的留神,那就是星环科技图数据库 StellarDB。
Transwarp StellarDB 是星环科技自主研发的企业级分布式图数据库,兼容 openCypher 查询语言,提供海量图数据的存储和剖析能力,最大可反对百亿级点、万亿级边的存储,可存储的图数据量能够达到 PB 级别。此外,对点、边和属性的检索和查问延时能够做到毫秒级。StellarDB 还内置二十余种图剖析算法和深度图算法,可用于通用的图剖析业务场景。
StellarDB 能够帮忙用户疾速开发欺诈检测、举荐引擎、社交网络分析、常识图谱等利用,目前 StellarDB 在很多行业都有宽泛的利用,包含电商、金融、政府和社交网络畛域等。
小帅霎时被星环科技图数据库 StellarDB 弱小的性能所折服,并通过 StellarDB 疾速查到了小美的选课状况,胜利地和小美一起上课。
某个周末,小帅约小美一起去环球影城。事先小帅通过星环科技分布式图数据库 StellarDB 接入网络上海量的数据,并通过其可视化界面疾速挖掘出了各个主题人物之间,演员以及演员主演的其余电影等等多层以上的全副关系信息,例如哈利波特里各个人物以及其关联关系,小帅都一目了然。
哈利波特人物关系
在环球影城之旅中,小帅丰盛的学识给小美留下了粗浅的印象,同时也让两人的关系更近了一步。通过一段时间的相处,两人终于走到了一起!
Happy Ending