猜你喜欢
图数据库:理论与实践

图数据库:理论与实践

书籍作者:张晨 ISBN:9787121470431
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:2619
创建日期:2024-05-14 发布日期:2024-05-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

本书系统论述了图数据库的理论知识与行业应用实践。本书分为理论篇和实践篇,共15章。其中,理论篇包括第1~8章,由浅入深地介绍了图数据库的概念和底层技术原理,涵盖主流图数据库的内核原理与架构设计、图查询语言、图算法 、图数据库客户端编程、图数据库服务端编程、图可视化、图数据库选型等内容;实践篇包括第9~15章,介绍了图数据库的行业应用案例,涵盖知识图谱、金融、泛政府、零售、制造业供应链管理、企业资产管理、生命科学等内容,通过这些案例,进一步启发读者深入思考和挖掘潜在的应用场景。针对行业案例,本书免费提供详尽的源代码,以便读者动手实践。

作者简介

张晨

创邻科技创始人兼CEO,中国计算机学会(CCF)信息系统专委会执委,北京理工大学校外博导,香港科技大学(广州)实践副教授、图数据实验室联席主任,正高级工程师,浙江大学竺可桢学院计算机科学与技术学士、加拿大滑铁卢大学计算机科学博士、麦吉尔大学博士后,图数据库、分布式系统及并行计算领域专家,近20年分布式并行系统研发经历。曾任美国运通大数据科学家、硅谷初创Splice Machine软件架构师、加拿大初创Graph Intelligence联合创始人。


吴菁

麦吉尔大学管理信息系统博士,荷兰莱顿大学ICT in Business硕士,浙江大学竺可桢学院计算机科学与技术学士。图分析领域专家,现任浙江创邻科技有限公司联合创始人兼COO,加拿大初创Graph Intelligence联合创始人兼执行董事,近10年图技术商业转化及解决方案咨询落地经验,曾获评创业邦2022最值得关注的女性创业者。


周研

本科毕业于浙江大学竺可桢学院混合班,博士毕业于浙江大学计算机学院,师从陈纯院士。曾为Apache开源项目贡献者,具有10余年大型软件项目的研发和管理经历。图数据库和分布式系统领域的专家,现浙江创邻科技有限公司联合创始人兼CTO,承担多个图计算领域省级、市级重大研发专项项目,是图数据库、知识图谱领域国内外多个标准化委员会成员,主导/参与制定多项行业标准。


编辑推荐
适读人群 :本书适合数据库应用开发人员、数据库管理人员、数据科学家以及负责数据库选型的技术专家阅读,也适合高等院校数据库专业的高年级本科生和研究生参考。

揭秘数字经济时代与知识经济时代的技术引擎与思维引擎,打造数据互联网思维!

理论全面,体系完整——图技术领域独角兽企业多年研发与市场经验的分享,全面揭示图数据库核心内容。

领先视角,深入洞察——从架构设计,到技术选型,分15章深入描绘图数据库技术全景。

跨界应用,举一反三——涉及20个应用场景,涵盖7大领域,轻松迈入落地之门。

经典案例,代码完备——提供案例的配套代码,可在线下载,便于实操学习。


前言

前言

图数据库(Graph Database)是近年来新兴的先进数据库技术。随着大数据和物联网产业的蓬勃发展、数据类型的日益丰富以及数据间关联度的爆发式增长,传统分析方法针对小数据量、单维度、静态化数据已无法满足日趋VUCA 的数字经济时代下大数据处理与分析的需求。对于数量剧增的数据以及蕴含其间复杂关联关系的有效分析和高效处理已成为行业痛点。传统的关系数据库(Relational Database)对于数据间复杂关系的处理能力有所欠缺,而图数据库能高效处理海量、复杂互联、动态多变的网络拓扑结构数据,其性能比关系数据库提升了数个数量级。

尽管图数据库在2007 年前后才开始商业化,但根据数据库领域权威统计机构DB-Engines 基于公开数据的分析,自2013 年起,全球对图数据库的技术关注度增长已远超其他数据库类型。著名IT 技术顾问咨询机构Gartner 于2020 年将图数据库列入企业亟须优先配置的技术矩阵,并评估其为该矩阵中不可或缺的重要底层技术,预测图数据库将在未来2 至4 年成为企业IT 架构的主流配置之一。Gartner 在2022 年进一步预测,到2025 年,图技术将用于80% 的数据分析,图分析能力将成为数字化企业最核心的竞争优势。在亚马逊官方发布的技术矩阵中,图数据库已成为与关系数据库并列的核心技术组成部分。在数据库领域的三大顶级学术会议之一ICDE 2022 中,图技术相关论文占比高达34.6%。至今,图数据库已在金融、能源、电信、物流、零售、航空和互联网等多个行业中得到应用,创造出巨大的商业价值和社会价值。

工信部发布的《“十四五”软件和信息技术服务业发展规划》中明确指出了“关键基础软件补短板”,加速分布式数据库产品研发和应用,突破分布式数据处理与任务调度架构、大规模并行图数据处理等关键技术,推动高性能数据库在金融、电信、能源等重点行业关键业务系统应用。2022 年6 月,中国计算机学会数据库专委会与工信部重点实验室发布的《数据库分类图谱(2022 版)》明确将图数据库置于非关系数据库的首要位置。

可以说,不论是学术界的创新探索、工业界的规模创造,还是国家社会经济发展的整体规划,以图数据库为核心的图技术已登上技术发展史的主流舞台,成了一颗冉冉升起的新星。

为什么撰写本书

时间回到2013 年,当时我在硅谷的一家初创公司担任软件架构师。我们开发了世界上第一款基于Hadoop 的分布式关系数据库,其底层核心的分布式数据一致性技术正是基于我的一篇博士论文《如何在HBase 上实现分布式事务》。我们的目标是有效地存储企业每天收集的海量数据,并支持高效的分布式查询。然而,在产品实际落地的过程中,我们面临了一个巨大的挑战:一些金融客户和数字营销公司经常需要进行二三十个数据表的连接操作以支持实时分析决策的需求。即使是我们当时倾尽全力打造的分布式关系型数据库,也很难解决这个问题。

偶然的机会,我与我的太太吴菁女士,也是本书的第二作者,讨论了长期以来困扰我的技术问题。她是社交网络分析领域的专家,认为我遇到了一个非常有意义的问题。然而,这可能不是一个仅仅通过优化关系数据库就能解决的工程问题,而是需要从数据建模甚至底层数据存储结构上进行处理的问题。在她看来,这些多表连接操作实质上是在解决对事物对象的关联关系分析问题。在未来的世界中,关系将无处不在:大到社会经济发展、科学技术研究,小到企业商业活动、个人日常社交、出行和购物。连接只会越来越多、越来越广、越来越深,而记录这些连接的数据也必然会展现出复杂关联的特性。然而,我们如今还缺乏一项能够高效处理和分析如此庞大关联数据的技术。她鼓励我利用我所学和所长,打造一项具有划时代意义的大数据处理技术。

本着这样的初心,我与太太于2015 年共同创立了Graph Intelligence Inc,位于加拿大多伦多,并得到了多伦多大学旗下的著名硬科技创业加速器之一“创新颠覆实验室”(Creative Destruction Lab,CDL)的孵化支持。我们致力于研发世界上第一款深度集成于Hadoop 的分布式图数据库。在CDL 导师的指导下,我们意识到中国拥有全球最活跃的经济和商业活动,人口规模也最大,必然产生海量数据和丰富的应用场景,成为图数据库技术发展和应用的最佳市场。同年,恰逢浙大竺可桢学院校友会,师兄宋宏伟博士也强烈呼吁我们回国投身大数据技术创新事业。因此,2016 年8 月,我们回国,与同为技术梦想所感召的周研博士共同创立了创邻科技(CreatelinkTechnology) 寓意“创造连接”, 将我们的初心和梦想延续在这个更广阔的领域中。

在创业的过程中,我们经历了风风雨雨。在过去的8 年里,我们不断探索和钻研,对创邻科技的核心产品Galaxybase 原生分布式图数据库进行了多次存储内核和产品架构的设计迭代。2017 年,受到客户对万亿级实时数据分析需求的推动,我们完全摒弃了对笨重第三方开源系统Hadoop 的依赖,选择了自主研发存储内核的道路。这个决定困难重重,但我们坚定地走了下去。曾经有投资者质疑我们的选择,认为我们选择了一条“赚钱慢”的商业路线,甚至有人认为“中国人做不出自己的数据库”。然而,我们坚信只有放弃对第三方开源系统的依赖,我们才能不受其技术实现的制约;只有在存储内核上真正实现自主可控,我们才能降低系统间的黑盒通信成本,实现分布式系统的极致技术性能。当时,我们没有预料到后来美国对中国的技术脱钩风险,而我们早年的技术路线选择成为公司商业竞争上的关键壁垒。如今,创邻科技已经成长为一家多次被评为“未来独角兽”的科技创新企业,获得了百度、高瓴、腾讯、同创伟业和达晨等一流投资机构的青睐和支持,与腾讯、百度、华为、中国电子、科大讯飞等行业巨头进行了深度的产品合作。我们的核心产品Galaxybase 多次打破了扩展性和查询性能的世界纪录,作为图数据库的代表产品被列入了Gartner、IDC、Forrester、CBInsights 等国际知名机构的研究报告中,客户遍布金融、互联网、能源、电信、政府等各行业领域,获得了广泛的认可。在今年国内首份问世的图数据库市场厂商评估报告中,IDC 将创邻科技列为了中国图数据库市场领导者象限的头部企业,企业战略与产品能力维度双双领先行业。同时,我们与香港科技大学、浙江大学、北京理工大学等校级和院级合作伙伴进行了产学研合作。

在服务客户和与生态伙伴合作的过程中,我们发现国内的图数据库应用广度和深度整体落后于海外数年,市场对图技术的认知普遍匮乏,导致很多用户不清楚如何使用图数据库以及如何发挥其作用,对技术供应商的技术咨询服务有很高的依赖性。尤其近年来,出现了许多不同技术路线的开源和闭源产品,厂家之间的观点也不一致。一些客户即使业务部门非常期待推动图技术赋能业务创新,技术部门在产品选择和使用上也常常感到无所适从。

造成这种局面主要有两个方面的原因。一方面,相对于已经发展了40 多年的关系数据库,图数据库技术本身仍然是一个新兴的事物,处于技术发展早期阶段。在全球范围内看图数据库市场,还没有统一的数据库查询语言,并且缺乏共识的统一评估标准。尽管图数据库在技术原理和使用方法上与传统关系数据库有很大的区别,但目前市场上还没有形成一套成熟完备的图数据库系统的理论框架,国内的大学里也缺乏一本类似《数据库系统》的图数据库领域的经典教材。另一方面,与图数据库不断增加的应用需求所对应的,是图技术的开发和应用人才也变得紧缺。作为一种深度分析业务内在关系的技术,图技术的应用人才需要高度综合素质:既需要了解业务、数据分析和建模,又需要了解数据库技术、数据库查询语言,甚至需要了解图算法的设计和开发。然而在市场上,我们没有找到一本能够帮助图技术爱好者从入门到精通的实践手册。

我们发现市场急需一本具备系统化理论深度、涵盖广泛应用场景和丰富案例、兼顾理论与实践的图数据库书籍。这启发我们和团队将创邻多年的研究成果和实践总结下来,以推动图数据库这项新技术在国内市场的普及和发展。作为行业的主要参与者和技术开拓者,我们深感有责任和义务,分享我们在各个领域顶尖客户落地过程中积累的经验和场景认知。

本书主要内容

本书包括理论篇和实践篇两部分,其中理论篇包含8 章,实践篇包含7 章。理论篇从图数据库的发展历史、定义、分类等基础知识开始,涵盖了图数据库的内核和架构设计原理、图查询语言、图数据库编程方法、图算法、可视化图分析、图数据库测试和技术选型等理论内容。此外,还提供了一套多家大型客户在实践中采用的技术选型和测试方法供参考。无论是软件开发人员、业务分析师、学生还是技术选型决策者,都可以通过理论篇快速、全面地了解图数据库技术的全貌,掌握其核心知识体系。

图数据库适用于具有网络关联关系、关系动态变化、需要实时决策分析的场景。实践篇旨在为图技术的创新应用提供帮助和指引,涵盖了图数据库在知识图谱、金融、泛政府、零售、制造、企业资产管理和生命科学7 大领域近20 个场景的应用案例。每个案例都详细分享了场景背景、行业痛点、图技术解决方案、图模型设计和图分析代码示例。各行业从业者和解决方案供应商可以直接阅读相关章节,并将书中的图模型作为应用图数据库的入门指南。其他读者也可以通过了解不同场景下的图建模和图分析过程,系统学习使用图思维发现问题、分析问题和解决问题的方法和思路,做到活学活用、举一反三。

致谢

我首先要特别感谢本书的另外两位作者,也是创邻科技的两位联合创始人——吴菁博士和周研博士。他们为本书提供了大量的素材、做了大量编纂及修订工作。我也要感谢为本书编写提供帮助的创邻科技的小伙伴们——冯鼎、杨蕾红、徐骥龙、唐泽鹏、杨万秋、童冰、陶源、詹志龙、丁涵炜、林曼武、吕富林、刘施展、叶纪坤、夏方星晨、赵亮羽、马超、陈一杰、黄孟云、李欢、徐文龙、王子夫、王楠、佘珊、文焱贝和张旺。无论是创邻科技的Galaxybase 图数据库,还是这本书的内容,都是团队集体智慧的结晶,没有创邻万众一心的小伙伴们,就不会有这本书的问世。

感谢电子工业出版社博文视点宋亚东编辑对于本书的支持和重视。在审稿过程中,他的专业意见对书稿的修改完善起到了重要作用。得益于他的耐心和专业指导,我们顺利完成了撰写工作,再次感谢宋亚东编辑为本书出版所做的一切。

由于作者水平有限,时间紧迫,书中可能存在不足和欠妥之处。此外,由于图数据库技术涉及的知识面广、领域知识艰深,难免有所纰漏。敬请各位专家和读者海涵,给予批评和指正。

张晨

2023年11月


目录

理 论 篇

第1 章 初识图数据库 / 3

1.1 图数据库的发展背景 / 3

1.1.1 什么是图 / 5

1.1.2 理解图的手段:图分析 / 7

1.2 图技术 / 10

1.2.1 图计算引擎 / 10

1.2.2 图数据库 / 11

1.2.3 图可视化 / 13

1.3 图数据库技术的优势 / 15

1.4 图数据库的分类 / 22

1.5 图数据库的应用场景 / 25

1.6 图数据库与知识图谱 / 32

1.7 图技术的发展趋势 / 32

1.8 本章小结 / 35

第2 章  主流图数据库的内核原理与架构设计 / 37

2.1  图数据库内核设计的关键目标 / 37

2.1.1 免索引邻接 / 38

2.1.2 图数据库内核的分类 / 38

2.2  实现免索引邻接的技术方案 / 40

2.2.1 使用数组结构存储 / 40

2.2.2 使用链表结构存储 / 41

2.2.3  使用LSM 树或其他键值形式存储 / 42

2.2.4 优化之路 / 44

2.3 Neo4j / 45

2.3.1 Neo4j 存储结构 / 45

2.3.2 Neo4j 事务 / 47

2.3.3 Neo4j 集群 / 48

2.4 JanusGraph / 50

2.4.1 JanusGraph 存储结构 / 50

2.4.2 JanusGraph 事务 / 53

2.4.3 JanusGraph 架构 / 53

2.5 Galaxybase / 54

2.5.1 Galaxybase 系统架构 / 55

2.5.2 Galaxybase 分布式图存储 / 56

2.5.3 Galaxybase 分布式图计算 / 58

2.5.4 Galaxybase 高性能图展示 / 61

2.6 本章小结 / 62

第3 章 图查询语言 / 63

3.1 图查询语言一览 / 63

3.2 Cypher / 65

3.2.1 Cypher 简介 / 65

3.2.2 Cypher 使用场景 / 66

3.2.3 Cypher 高级特性 / 75

3.3 本章小结 / 81

第4 章 图算法 / 82

4.1 图算法概述 / 82

4.2 寻路算法 / 83

4.2.1 数据准备 / 84

4.2.2 算法介绍 / 85

4.3 中心性算法 / 97

4.3.1 数据准备 / 97

4.3.2 算法介绍 / 98

4.4 社区检测算法 / 110

4.4.1 数据准备 / 111

4.4.2 算法介绍 / 112

4.5 相似度算法 / 122

4.5.1 数据准备 / 123

4.5.2 算法介绍 / 124

4.6 图模式匹配算法 / 132

4.6.1 环路匹配 / 133

4.6.2 路径匹配 / 134

4.6.3 复杂子图 / 136

4.7 图嵌入算法 / 138

4.8 图神经网络算法 / 144

4.9 分布式并行图计算 / 153

4.9.1 分布式图计算框架 / 153

4.9.2 分布式图计算面临的挑战 / 155

4.10 图算法的综合应用 / 157

4.10.1 标准图算法的应用 / 158

4.10.2 定制化图算法的应用 / 161

4.11 本章小结 / 163

参考文献 / 164

第5 章  图数据库客户端编程 / 166

5.1 概述 / 167

5.2 驱动模式 / 168

5.2.1 Java / 169

5.2.2 Python / 175

5.2.3 Go / 180

5.3 RESTful API / 185

5.3.1 登录 / 185

5.3.2 图列表查询 / 186

5.3.3 图模型操作 / 187

5.3.4 点操作 / 192

5.3.5 边操作 / 198

5.3.6 遍历操作 / 201

5.3.7 执行Cypher 语句 / 203

5.4 本章小结 / 204

第6 章  图数据库服务端编程 / 205

6.1 概述 / 205

6.2  Galaxybase PAR API

简介 / 207

6.3 PAR 的使用方法 / 208

6.4 PAR 的自定义函数 / 209

6.4.1 自定义非聚合函数 / 209

6.4.2 自定义聚合函数 / 210

6.5 PAR 的自定义过程 / 212

6.5.1 自定义本机过程示例 / 212

6.5.2 自定义集群过程示例 / 213

6.6 PAR 的自定义过程封装 / 215

6.6.1 PARKit / 215

6.6.2 Traversal API / 222

6.7 PAR 管理接口 / 226

6.7.1 查询 / 226

6.7.2 删除 / 227

6.8 本章小结 / 228

第7 章 图可视化 / 229

7.1  图可视化在不同领域的应用 / 229

7.2 通用图可视化工具 / 230

7.3 图可视化框架 / 236

7.4  基于图数据库的可视化平台 / 242

7.5  Galaxybase Studio 图可视化平台 / 243

7.5.1 创建图项目 / 243

7.5.2 图项目管理 / 250

7.5.3 数据源管理 / 252

7.5.4 图可视化分析 / 253

7.5.5 用户管理 / 273

7.5.6 图挖掘 / 274

7.6 本章小结 / 275

第8 章 图数据库选型 / 276

8.1 图数据库的应用场景 / 276

8.1.1  图分析需求:OLTP 还是OLAP / 276

8.1.2 图数据特点 / 278

8.2 图数据库的存储架构 / 280

8.3 图数据库的性能 / 280

8.3.1 导入性能 / 281

8.3.2 查询性能 / 282

8.3.3 图算法性能 / 283

8.3.4 正确性验证 / 285

8.4 图数据库的功能 / 286

8.4.1 基础图数据库功能 / 286

8.4.2 高阶图数据库功能 / 289

8.4.3 可视化分析与查询 / 290

8.5 图数据库选型基准测试 / 291

8.6  图数据库选型测试方案样例 / 296

8.6.1 测试说明 / 296

8.6.2 测试用例 / 297

8.7 本章小结 / 320

实 践 篇

第9 章 知识图谱 / 323

9.1 背景 / 323

9.2 影视知识图谱 / 324

第10 章 金融 / 333

10.1 信用卡申请反欺诈 / 333

10.2 小微信贷风控 / 339

10.3 反洗钱 / 346

第11 章 泛政府 / 353

11.1 社会治安 / 353

11.2 疫情防控 / 359

11.3 电力调度 / 362

11.4 武器设备管理 / 365

第12 章 零售 / 369

12.1 商品推荐 / 369

12.2 社交网络营销 / 376

第13 章  制造业供应链管理 / 382

13.1 供应链风险管理 / 382

13.2 物流管理 / 393

第14 章 企业资产管理 / 400

14.1 网络安全 / 400

14.2 权限管理 / 404

14.3  设备资产管理之智能运维 / 409

第15 章 生命科学 / 414

15.1 农业育种 / 414

15.2 新药研发 / 418


产品特色