新書推薦:
《
乐道文库·什么是秦汉史
》
售價:HK$
80.6
《
汉娜·阿伦特与以赛亚·伯林 : 自由、政治与人性
》
售價:HK$
109.8
《
女性与疯狂(女性主义里程碑式著作,全球售出300万册)
》
售價:HK$
109.8
《
药食同源中药鉴别图典
》
售價:HK$
67.0
《
设计中的比例密码:建筑与室内设计
》
售價:HK$
87.4
《
冯友兰和青年谈心系列:看似平淡的坚持
》
售價:HK$
55.8
《
汉字理论与汉字阐释概要 《说解汉字一百五十讲》作者李守奎新作
》
售價:HK$
76.2
《
汗青堂丛书144·决战地中海
》
售價:HK$
168.0
|
編輯推薦: |
图数据库是应大数据时代之运而产生的一种新型NoSQL数据库。它以图论为理论根基,用节点和关系所组成的图为真实世界直接建模,支持百亿乃至千亿量级规模的巨型图的高效关系运算,非常适合于高效、便捷、直观地分析和处理大数据中的复杂关系,已得到政商学界的广泛关注。目前市面上有关该领域的中文书籍非常匮乏,为加大推广和普及的力度,我们集中组织国内对图数据库有深入研究的行业领导者及专家,共同编写一套国人原创的图数据库技术丛书,开篇之作*全面深入地介绍目前*秀、市场占有率*的图数据库产品Neo4j。全书涵盖基本概念、基本操作和丰富的现实案例,尤为耀眼的是包含对团队原创的Neo4j简体中文版及其扩展功能的介绍。无论是入门还是高级进阶均具有极高的参考价值,大数据、图数据库爱好者更值得拥有!
|
內容簡介: |
图数据库是NoSQL类数据库的又一大典型代表,在国内图数据库属于新兴产物,其优异的复杂关系解决方案引起了国内众多大型互联网公司及IT开发者的关注,而Neo4j是目前图形化数据库中*为出色、*为成熟的产品。 本书基于Neo4j 3.1版本编写,共分9章,外加两个附录,涵盖基本概念、基础入门、查询语言、开发技术、管理运维、集群技术、应用案例、高级应用、中文扩展、配置设置、内建过程等内容。 本书内容已经涉及Neo4j的大部分知识,既可以作为Neo4j初学者的入门教材,也可以作为相关行业Neo4j技术专家的参考手册。
|
關於作者: |
张帜,中国IT界元老、中国图数据库先导者、大数据领域资深专家、WPS曲线汉字发明人。曾任Microsoft高级软件设计师及维纳斯计划技术主管,牵头研发中国移动139手机邮箱。于2017年两会期间做客CCTV,与著名主持人阿丘老师对话,畅谈《关于图数据库的梦想》
|
目錄:
|
第1章 Neo4j 图数据库基础 11.1 图数据库的产生背景 21.2 图数据库基础 71.2.1 图数据库介绍 71.2.2 图数据模型 71.2.3 图计算引擎 81.2.4 图数据库的历史 91.3 图数据库与关系数据库的对比 101.3.1 关系数据库的弊端 101.3.2 图数据模型的优势 101.4 图数据库与其他 NoSQL 数据库的对比 121.4.1 其他 NoSQL 数据库的弊端 121.4.2 将键值对存储与图数据库相关联 121.4.3 将文档存储与图数据库相关联 131.5 Neo4j 概述 131.6 Neo4j 的体系结构 151.6.1 免索引邻接 161.6.2 Neo4j 底层存储结构 171.6.3 Neo4j 的遍历方式 211.6.4 Neo4j 的存储优化 22第2章 Neo4j 基础入门 242.1 Neo4j 的安装部署 242.1.1 Neo4j安装包的下载 242.1.2 在各个操作系统上的安装 262.1.3 Neo4j的启动 322.2 Neo4j 管理平台的使用 332.2.1 Web管理平台的使用 332.2.2 neo4j-shell 的使用 372.3 Neo4j 图数据中基本元素与概念 412.3.1 节点 412.3.2 关系 412.3.3 属性 422.3.4 路径 422.3.5 遍历(Traversal) 432.4 官方入门实例介绍 432.4.1 创建图数据 442.4.2 检索节点 462.4.3 查询关系 492.4.4 思考与练习 522.4.5 清空数据库 542.5 批量导入工具的使用 542.5.1 获取CSV文件 542.5.2 使用 Load CSV 指令导入到 Neo4j 582.5.3 使用neo4j-import 工具导入到 Neo4j 61第3章 Neo4j 之 Cypher 633.1 Cypher 概述 633.1.1 Cypher 是什么 633.1.2 模式(Patterns) 653.1.3 查询和更新图 663.1.4 事务 673.1.5 唯一性 683.1.6 兼容性 693.2 基本语法 703.2.1 类型 703.2.2 表达式 703.2.3 变量 733.2.4 参数 733.2.5 运算符 773.2.6 注释 783.2.7 模式(Patterns) 783.2.8 列表 813.2.9 空值 873.3 语句 893.3.1 MATCH 893.3.2 OPTINAL MATCH 1013.3.3 WHERE 1023.3.4 START 1133.3.5 Aggregation 1143.3.6 LOAD CSV 1213.3.7 CREATE 1253.3.8 MERGE 1293.3.9 SET 1383.3.10 DELETE 1423.3.11 REMOVE 1433.3.12 FOREACH 1453.3.13 CREATE UNIQUE 1463.3.14 RETURN 1493.3.15 ORDER BY 1533.3.16 LIMIT 1553.3.17 SKIP 1563.3.18 WITH 1583.3.19 UNWIND 1603.3.20 UNION 1613.3.21 CALL 1633.4 函数 1673.4.1 断言(Predicate)函数 1673.4.2 标量(Scalar)函数 1703.4.3 列表(List)函数 1773.4.4 数学函数 1823.4.5 字符串函数 1933.4.6 自定义函数 1993.5 模式(Schema) 2003.5.1 索引 2003.5.2 约束 2033.5.3 统计 2093.6 查询调优 2103.6.1 查询如何执行 2103.6.2 查询性能分析 2113.6.3 查询调优举例 2113.6.4 USING 2133.7 执行计划 2203.7.1 开始点运算符 2213.7.2 Expand 运算符 2243.7.3 组合运算符 2263.7.4 行运算符 2343.7.5 更新运算符 2413.7.6 最短路径规划 243第4章 Neo4j 程序开发 2464.1 Neo4j 开发入门 2464.1.1 Java 嵌入式开发模式 2464.1.2 各语言驱动包开发模式 2464.2 Java API 嵌入式开发模式 2474.2.1 Java 开发前的准备工作 2484.2.2 创建 Neo4j 图实例 2534.2.3 图数据遍历功能 2574.2.4 数据索引 2644.2.5 过程 2734.2.6 事务管理 2804.2.7 使用Java在线备份Neo4j 2864.2.8 使用JMX监控Neo4j 2864.3 各语言驱动包开发模式 2884.3.1 驱动开发入门 2894.3.2 配置和连接 2924.3.3 执行 Cypher 语句 2974.3.4 返回结果 3014.3.5 数据类型 3084.3.6 异常 3104.3.7 其他语言驱动 3114.4 Neo4j HTTP API 3124.4.1 流 3124.4.2 认证和授权 3124.4.3 在一个请求中使用事务 3164.4.4 执行多条语句 3174.4.5 运行一个事务 3184.4.6 在打开的事务中执行语句 3194.4.7 重置超时事务 3194.4.8 提交事务 3204.4.9 回滚事务 3214.4.10 查询统计信息 3214.4.11 以图格式返回结果 3224.4.12 错误处理 3244.4.13 在事务中处理错误 3254.5 其他开发技术介绍 3264.5.1 Spring-Data-Neo4j 3264.5.2 Spring-Data-Neo4在项目中的部署 3264.5.3 使用 Neo4j-OGM 的对象图映射 3274.5.4 使用 JDBC 连接 Neo4j 3284.5.5 JCypher 3294.5.6 Groovy&Grails:Neo4j Grails 插件 3294.5.7 Clojure:Neocons 3294.5.8 Scala:AnormCypher 3304.5.9 JPA:Hibernate OGM 330第5章 Neo4j 数据库管理 3315.1 部署 3315.1.1 系统需求 3315.1.2 文件位置 3325.1.3 重要端口 3335.1.4 设置初始密码 3345.1.5 等待 Neo4j 启动 3345.1.6 使用数据收集器 3355.1.7 配置 Neo4j 连接器 3365.1.8 安装证书 3375.2 监控 3385.2.1 指标 3405.2.2 日志 3445.2.3 查询管理 3465.2.4 因果集群监控相关方法 3485.3 安全管理 3505.3.1 Neo4j社区版用户管理 3505.3.2 认证和授权 3525.3.3 与 LDAP 集成 3625.3.4 子图访问控制 3665.3.5 安全清单 3675.4 Neo4j 数据库运维与优化 3685.4.1 内存调优 3685.4.2 事务日志 3715.4.3 压缩存储 3715.4.4 Linux 文件系统调优 3735.4.5 磁盘、内存及相关提示 3735.5 Neo4j 数据库的备份与恢复 3745.5.1 备份简介 3745.5.2 执行备份 3755.5.3 恢复备份 3775.6 Neo4j 数据库管理相关工具 3785.6.1 导入工具 3785.6.2 Cypher Shell 3825.6.3 Neo4j 数据转储和加载 3845.6.4 一致性检查工具 385第6章 Neo4j 集群技术 3876.1 因果集群 3876.1.1 初识因果集群 3886.1.2 操作视图 3886.1.3 应用视图 3896.1.4 因果集群的生命周期 3906.1.5 创建一个新的因果集群 3956.1.6 数据中心灾难恢复 3986.1.7 因果集群的数据迁移和恢复 4006.1.8 因果集群的其他设置 4016.2 高可用性集群 4016.2.1 高可用性集群概述 4026.2.2 建立 Neo4j 高可用性集群 4046.2.3 状态信息端点 4066.2.4 HAProxy 用于负载均衡 4086.3 集群的备份与恢复 4106.4 Neo4j 单实例和高可用性集群版本升级 4116.4.1 单实例升级 4116.4.2 从高可用性集群升级 412第7章 Neo4j 应用案例 4137.1 应用案例概述 4137.2 欺诈检测 4167.2.1 第一方银行欺诈 4177.2.2 保险欺诈 4247.2.3 电子商务欺诈 4277.2.4 小结 4287.3 科研导图 4287.4 电子邮件监测 4377.5 工商企业图谱 4427.6 社交网络 449第8章 Neo4j 高级应用 4588.1 高级索引 4588.1.1 空间索引(Neo4j Spatial) 4588.1.2 自定义中文全文索引 4688.2 在 Docker 环境下部署 Neo4j 4718.2.1 概览 4728.2.2 Docker 配置 4728.2.3 Neo4j 配置 4738.3 自定义批量导入 4768.4 Neo4j 与图计算 4798.4.1 Neo4j-Spark-Connector 4808.4.2 Neo4j-Spark-Connector 提供的 API 4828.5 Neo4j与自然语言处理 4838.5.1 计算聚合相关性 4848.5.2 将文本数据建模为邻接图 4848.5.3 加载数据 4868.5.4 挖掘单词之间的关系 4888.6 其他高级应用 490第9章 Neo4j 简体中文版 4919.1 简介 4919.2 下载及安装 4969.3 启动及浏览 4979.4 指定节点图片 4999.5 指定节点尺寸 5019.6 指定节点颜色 5029.7 指定关系粗细 5039.8 指定关系颜色 5049.9 智能查询 5059.10 导入精灵 5089.10.1 安装导入精灵 5089.10.2 启动导入精灵 5099.10.3 准备Excel样本文件 5109.10.4 导入Excel样本文件 5119.10.5 准备MySQL样本数据库 5139.10.6 导入 MySQL 样本数据库 5159.10.7 查看导入结果 5169.10.8 导入精灵映射机制 517附录A Neo4j 配置设置 521附录B Neo4j 内建过程 550
|
內容試閱:
|
这是第一本由中国人原创的图数据库专业书籍。本书将陪伴您漫步图的世界,领略图的风采,玩转大数据时代新的利器图数据库Neo4j。图数据库即便对业内人士而言,也是一个陌生的词汇。单这个图字,便会使人联想到图形、图片或图像。正如,最近一位朋友得知我在玩图数据库,就邀我去做一个用语音控制图像的产品。我解释了半天,才让他明白:此图非彼图。误解就在这个图字上。那么,图数据库究竟是什么?可以用它来干什么呢?就在不久前的两会期间,CCTV《超越》栏目播出的阿丘老师对我的专访《关于图数据库的梦想》,恰好能解答上述疑惑。我们不妨一起来回顾这段对话。CCTV《超越》栏目:关于图数据库的梦想阿丘:大数据时代已经来临。这是一个最好的时代,也是一个最坏的时代。大数据涉及的行业范围很广,其中图数据库被大家称为大数据时代的高铁,它越来越受到人们的关注。对于这项技术我们了解多少?它的应用又能给我们的现实生活带来哪些方便?CCTV《超越》栏目邀请到了中国图数据库的先导者张帜先生,让他带领我们一起来了解图数据库。阿丘:什么是图数据库?张帜:这是一个新型的数据库系统。大家以前可能听到过MySQL、Oracle等数据库,但随着社交、金融、零售等行业的发展,亟需一种新型的数据库来支撑这些新的业务。现实社会织起了一个庞大而复杂的关系网,比如天天有人给你打电话要你买房子,他们是通过什么技术来找到你的呢?就是通过一些关系运算。如果使用传统的数据库会很难处理,而采用图数据库来处理它,会更高效、更方便。在科技领域里有一个六度空间理论,简单地说就是,世界上任何两个人最多只需通过6个关系就一定能够找到对方。用图数据库就可以把这个理论变成现实。所以,称它为一种新型的数据库完全不为过,它能支持海量、复杂、多变数据的关系运算,而且运算性能非常高。阿丘:那和传统数据库比起来,图数据库的优势在哪儿呢?张帜:首先,图数据库可以说是应专门处理这种复杂关系网的运而生的。虽然传统的数据库也能处理,但其效率极其低下,功能扩展也很困难,要花的时间将很长,而用图数据库就能方便、高效地解决这个问题;更重要的是,就连非技术人员都能看得懂。如果用传统数据库来构建,其模型非常复杂、烦琐,相比而言,用图数据库,就非常直观、浅显、简单。阿丘:通常图数据库都应用在哪些领域呢?张帜:它的应用领域非常广,在社交、零售、金融等领域都有广泛的应用。比如说社交,一个最典型的应用就是领英。领英在国际上的知名度和应用的广度相当于我们中国的微信。领英一个最重要的功能就是能够把你朋友的朋友的朋友推荐给你,这是进行了关系运算的结果。另外一个就是零售商品的实时推荐,比如沃尔玛,你在它的网站上点击了几个商品后,它就能揣测出你可能对哪些商品感兴趣,就会立马把你感兴趣的商品推荐给你。用图数据库来计算这种推荐会更快捷。现在国外用得很多,但是在我们国内才刚刚开始。随着图数据库的应用,不久的将来我们就可以享受到更为实时、准确、方便的推荐。阿丘:图数据库全方位地让互联网更便利了我们的生活。正如对话开始所说,这是一个好的时代,也有人说是一个坏的时代,机遇与挑战并存。我相信,在未来不远的日子里,图数据库会和我们的生活联系越来越密切,会提升我们的生活幸福指数,使我们未来的生活更便捷。这段对话告诉我们,图数据库能高效地处理各种复杂的关系网络,在许多领域有着广泛的应用。它是基于图论而实现的新型数据库系统,擅长处理大量的、复杂的、互联的、多变的网状数据,其效率远远高于传统的关系型数据库。本书内容世界上很多著名的公司都在使用图数据库。比如,领英用它来管理社交关系,实现朋友推荐,构建了一个非常强大的人脉网络;沃尔玛用它连接商品关联和买家习惯两个子网,实现了零售商品的实时推荐,给买家带来更好的购物体验;思科用它做主数据管理,将企业内部的组织架构、产品订购、社交网络、IT网络等有效地管理起来;惠普用它管理复杂的IT网络;全美排名前三的金融公司,都在用图数据库进行风控业务管理。此外,物流、交通、电信、制造业、广告、打印、文化传媒和医疗等领域的公司也在使用图数据库。反观我国的情况又如何呢?我是从2015年开始研究图数据库的,当时国内知道图数据库的人还寥寥无几。令人意想不到的是,才短短一年多时间,国内竟然有很多应用都用上了图数据库,涉及的领域包括金融、社交、商务、知识管理等。毋庸置疑,其发展速度将远超乎我们的想象。然而遗憾的是,目前市面上有关图数据库的中文书籍屈指可数,即便有也是直接从英文原版翻译而成。随着图数据库在中国的推广和普及,大家都渴求有一本国人原创的权威指南,能系统、全面地涵盖图数据库的原理和使用方法等方方面面。因此,我们决定集中组织国内对图数据库有深入研究的专家,共同来编写一套原创的中文版图数据库技术丛书。鉴于 Neo4j 在全球图数据库领域的排名一直遥遥领先,我们就首选《Neo4j 权威指南》作为这套技术丛书的开篇。本书基于Neo4j 3.1版本编写,共分9章,外加两个附录,涵盖基本概念、基础入门、查询语言、开发技术、管理运维、集群技术、应用案例、高级应用、中文扩展、配置设置、内建过程等内容。各章简要介绍如下:
第1章 Neo4j 图数据库基础 介绍图数据库概念以及Neo4j的体系结构。本章可以作为初学者的入门部分。有经验者可以略过,直接阅读后续章节。第2章 Neo4j 基础入门 引导读者初步使用 Neo4j,包括 Neo4j 的安装部署、操控平台的使用、引导实例。第3章 Neo4j 之 Cypher 详细介绍 Cypher 语法,它是 Neo4j 引擎的接口语言,掌握好它是用好 Neo4j 的关键,也是使用中常备的参考资料。第4章 Neo4j 程序开发 详细讨论如何将 Neo4j 与开发平台、编程语言之间的集成,并提供相应开发实例。第5章 Neo4j 数据库管理 介绍 Neo4j 数据库管理相关的内容,主要包括:部署、监控、安全管理、运维与优化、备份与恢复、数据库管理相关工具等基本知识和基本操作。第6章 Neo4j 集群技术 主要介绍如何部署大规模生产环境,包括高可用性、备份与恢复,以及最新的因果集群。第7章 Neo4j 应用案例 对 Neo4j 目前的客户应用实践进行汇总,同时介绍5 个Neo4j典型应用案例。第8章 Neo4j 高级应用 介绍高级索引、Docker 环境部署、自定义批量导入、Neo4j与图计算、Neo4j 与自然语言处理等高级话题。第9章 Neo4j 简体中文版 介绍 Neo4j 简体中文版及其扩展功能,包括图片显示、数据驱动下节点和关系的呈现,以及智能查询功能。附录A Neo4j 配置设置 详细介绍配置文件 neo4j.conf 的配置细节。附录B Neo4j 内建过程 详细介绍通用过程、本地用户和角色管理过程。本书技术支持联系邮箱:neo4jguide@we-yun.com下载地址:http:we-yun.comneo4jguide微信群:《Neo4j权威指南》读者、中国图数据库、中国图数据库技术QQ群:547190638(Neo4j中文社区)论坛:http:neo4j.com.cn(Neo4j中文社区)创作团队与致谢本书的写作始于2016年12月,历经数月,现终于问世,是整个写作团队齐心协力、日夜耕耘的结晶。这支团队在大数据和图数据库领域具有丰富的实战经验。他们是张帜(微云数聚创始人)、庞国明(Neo4j中文社区创始人)、胡佳辉(数之联软件架构师)、赵炳(北京邮电大学研究生)、陈振宇(中科院中美联合培养博士)、苏亮(国防科技大学计算机博士)、李敏(中科院计算数学博士)、高兴宇(中科院中新联合培养博士)、薛述强(华为公司高级工程师)和董琴洁(微软 Office 专家)。在本书的编写过程中,得到了各界朋友的倾力支持。请允许我代表整个写作团队在此表示由衷的感谢!首先要感谢邬瑞文先生。他热忱地帮助我们与 Neo Technology 公司进行各种沟通与协调,在将图数据库引进到中国以及编写本书的过程中,起到了非常重要的桥梁作用。另一位必须感谢的是中国首席数据官联盟创始人刘冬冬先生。是他一直全力支持我们在全国推广和普及图数据库的理念。没有他的鼎力相助,图数据库在中国的人气不会有现在这么旺盛,此书也不会这么快问世。还得感谢写作团队每一位成员的家人,是他们的理解和支持,才让我们能够舍弃陪伴家人的时间,安心创作。更要感谢关注本书的每一位朋友,尤其是微信和 QQ 群里的图控们,他们对此书的关注和期盼,是我们完成此书的强大动力。特别感谢清华大学出版社的编辑夏毓彦老师以及编辑室的全体老师,有了他们的竭力支持和精雕细琢,本书才得以顺利问世。最后,我要感谢董定君女士,正是她在背后默默的支持,使我能够潜心研究图数据库和组织编写本书。谨以此书献给奋斗在中国大数据领域的同行们!由于时间紧迫,篇幅过大,错误及不足之处在所难免,敬请读者海涵,或请直接与我们联系(neo4jguide@we-yun.com),不吝指正,我们将及时在下一个版本中予以更正和补充。
张 帜2017年6月28日于橘郡
|
|