前言
本书是继《Neo4j权威指南》之后第二本由中国人原创的图数据库专业书籍。
图数据库的发展日新月异,短短三年时间,国内外涌现出多款图数据库系统,然而在DBEngine排名中,Neo4j依然稳居第一。本书将陪伴你漫步“图”的世界,领略“图”的风采,玩转大数据时代新的利器——图数据库Neo4j。
“图数据库”即便对业内人士而言,也是一个陌生的词汇。单这个“图”字,便会使人联想到图形、图片或图像。正如,最近一位朋友得知我在玩图数据库,就邀我去做一个用语音控制图像的产品。我解释了半天,才让他明白:此“图”非彼“图”。误解就在这个“图”字上。
那么,图数据库究竟是什么?优势在哪儿?可以用它来干什么?
图数据库定义、优势与应用领域
图数据库是一个新型的数据库系统。大家以前可能听到过MySQL、Oracle等数据库,但随着社交、金融、零售等行业的发展,亟需一种新型的数据库来支撑这些新的业务。现实社会织起了一个庞大而复杂的关系网,比如天天有人给你打电话要你买房子,他们是通过什么技术来找到你的呢?就是通过一些关系运算。如果使用传统的数据库会很难处理,而采用图数据库来处理它,会更高效、更方便。在科技领域里有一个六度空间理论,简单地说,就是世界上任何两个人最多只需通过6个关系就一定能够找到对方。用图数据库就可以把这个理论变成现实。所以,称它为一种新型的数据库完全不为过,它能支持海量、复杂、多变数据的关系运算,而且运算性能非常高。
和传统数据库比起来,图数据库的优势在哪儿呢?
首先,图数据库可以说是应专门处理这种复杂关系网的“运”而生的。虽然传统的数据库也能处理,但其效率极其低下,功能扩展也很困难,要花的时间将很长,而用图数据库就能方便、高效地解决这个问题;更重要的是,就连非技术人员都能看得懂。如果用传统数据库来构建,其模型非常复杂、烦琐,相比而言,用图数据库,就非常直观、浅显、简单。
图数据库的应用领域非常广,在社交、零售、金融等领域都有广泛的应用案例。比如说社交,一个最典型的应用就是领英。领英在国际上的知名度和应用的广度相当于我们中国的微信。领英一个最重要的功能就是能够把你朋友的朋友的朋友推荐给你,这是进行了关系运算的结果。另外一个就是零售商品的实时推荐,比如沃尔玛,你在它的网站上点击了几个商品后,它就能揣测出你可能对哪些商品感兴趣,就会立马把你感兴趣的商品推荐给你。用图数据库来计算这种推荐会更快捷。现在国外用得很多,但是在我们国内才刚刚开始。随着图数据库的应用,不久的将来我们就可以享受到更为实时、准确、方便的推荐。
总之,图数据库能高效地处理各种复杂的关系网络,在许多领域有着广泛的应用。它是基于图论而实现的新型数据库系统,擅长处理大量的、复杂的、互联的、多变的网状数据,其效率远远高于传统的关系数据库。
本书背景
世界上很多著名的公司都在使用图数据库。比如,领英用它来管理社交关系,实现朋友推荐,构建了一个非常强大的人脉网络;沃尔玛用它连接“商品关联”和“买家习惯”两个子网,实现了零售商品的实时推荐,给买家带来更好的购物体验;思科用它做主数据管理,将企业内部的组织架构、产品订购、社交网络、IT网络等有效地管理起来;惠普用它管理复杂的IT网络;全美排名前三的金融公司,都在用图数据库进行风控业务管理。此外,物流、交通、电信、制造业、广告、打印、文化传媒和医疗等领域的公司也在使用图数据库。
反观我国的情况又如何呢?我是从2015年开始研究图数据库的,当时国内知道图数据库的人还寥寥无几。令人意想不到的是,才短短一年多时间,国内竟然有很多领域都用上了图数据库,涉及的领域包括金融、社交、商务、知识管理等。毋庸置疑,其发展速度将远超我们的想象。
然而遗憾的是,目前市面上有关图数据库的中文书籍屈指可数,即便有也是直接从英文原版翻译而成。随着图数据库在中国的推广和普及,大家都渴求有一本国人原创的权威指南,能系统、全面地涵盖图数据库的原理和使用方法等方方面面内容。因此,我们决定集中组织国内对图数据库有深入研究的专家,共同编写一套原创的中文版图数据库技术丛书。
本书内容
本书基于Neo4j 4.4版本编写,共分10章,涵盖基本概念、基础入门、查询语言、开发技术、管理运维、集群技术、应用案例、高级应用、中文扩展、配置设置、内建过程、GDS、Fabric等内容。各章简要介绍如下:
第1章 Neo4j图数据库基础。介绍图数据库概念以及Neo4j的体系结构。本章可以作为初学者的入门部分。有经验者可以略过,直接阅读后续章节。
第2章 Neo4j基础入门。引导读者初步使用Neo4j,包括Neo4j的安装部署、操控平台的使用、引导实例。
第3章 Neo4j之Cypher。详细介绍Cypher语法,它是Neo4j引擎的接口语言,掌握好它是用好Neo4j的关键,也是使用中常备的参考资料。
第4章 Neo4j程序开发。详细讨论如何将Neo4j与开发平台、编程语言之间进行集成,并提供相应的开发实例。
第5章 Neo4j数据库管理。介绍Neo4j数据库管理相关的内容,主要包括:部署、监控、安全管理、运维与优化、备份与恢复、数据库管理相关工具等基本知识和基本操作。
第6章 存储过程库APOC。主要介绍Neo4j存储过程基本原理以及多个常用存储过程的使用方法。
第7章 图数据科学库GDS。主要介绍Neo4j图形数据科学库中的主要概念。该库的目标是:“为Neo4j提供高效实现的并行通用图形算法版本,以Cypher过程的形式公开”。
第8章 集群技术与Fabric。对Neo4j集群的概念进行讲解以及如何去搭建各种类型的集群,还有Fabric新特性的讲解。
第9章 Neo4j应用案例。介绍Neo4j在多个业务场景中的应用实例,包括每个实例的业务分析、图建模、查询分析,并提供了实例源码。
第10章 Neo4j高级应用。介绍高级索引、Docker环境部署、与大数据平台的数据交互、消息总线应用、区块链应用、Neo4j与自然语言处理等高级话题。
本书源码下载与技术支持
本书配套的源码,需要用微信扫描下面二维码获取,可按扫描出来的页面提示,填入你的邮箱,把链接转发到邮箱中下载。如果有问题或建议,请联系booksaga@163.com,邮件主题务必写“精通Neo4j”。
创作团队与致谢
《精通Neo4j》是继《Neo4j权威指南》之后又一本倾注了编委团队大量心血的好书。本书的编写历经了一些波折,但最终还是在编委团队的齐心协力下图稿。在此,除了要感谢本书编委团队成员外,更需要感谢本书上一版本编委们打下的良好基础,他们是:张帜(张老师)、庞国明(小明)、胡佳辉(家辉)、苏亮(小亮)、杨志(大志)、于松林(松林)。
然而,Neo4j实在发展太快了,我们的书怎么也跟不上它的新版本。在你看到本书时候,相信Neo4j又有了不少新的版本。好在Neo4j已经比较成熟,书中介绍的语法及例子绝大部分不会过时,在Neo4j新版本下大部分情况下本书介绍的语法和示例都能使用。
希望本书能对你有所帮助。
张帜
2022年9月