编辑推荐
世界上的大部分领域实际上都可以建模成图,而软件开发人员或是数据库管理人员却在辛辛苦苦地将这些图转化成关系型数据库中的表。想象一下,假如你再也不用去做这样的转化,假如数据库的迁移可以变得轻松简单,你愿意去接受一个全新的数据库吗?图数据库就是这样一个完全不同于关系型数据库的新型数据库,它处理的是大规模的数据和不断变化的需求。本书的三位作者均为Neo4j Technology公司的技术高手,他们对图数据库及其解决方案有丰富的经验,其中一位甚至还是Neo4j图数据库的联合创始人。本书揭秘图数据库是如何帮你管理和查询高度关联的数据的。有了这本实用的书,你将会学到如何设计和实施图数据库,在广泛的问题域中展现“图”的力量。无论你是想更快地响应用户查询,还是想构建快速适应业务发展的数据库,这本书都会向你将无模式(schema-free)的图模型应用于实际问题的具体方法。 阅读这本书,你还可以学到不同的组织是如何使用图数据库击败其竞争对手的。有了本书中的数据建模、查询和代码示例,你很快就能实现一个自己的解决方案。 ;
内容简介
本书系统地介绍了图数据库的历史由来、建模方法、工作原理和一些真实的用户用例,详细地说明了图数据解决的是什么样的问题,并以Neo4j数据库和Cypher查询语言为例,阐述了图数据库的建模方法和领域用例,还介绍了图数据库的工作原理以及一些实用的图论算法。本书适合开发人员和数据库管理人员了解和学习图数据库时阅读,作为一门新的知识和独特的数据库领域来拓宽视野,也适合提供解决方案的负责人了解行业动向和新的解决问题的方式。通过阅读本书,读者可以对图数据库这一领域有一个透彻的了解。
作者简介
作者介绍Ian Robinson是《REST实战》(OReilly,2010)一书的共同作者。他是Neo科技公司的工程师,致力于开发Neo4j数据库的分布式版本。在加入开发团队之前,他曾任Neo科技的客户成功总监,管理Neo的培训、专业服务和业务支持,和客户并肩设计和开发至关重要的图数据库解决方案。Ian加入Neo科技公司之前供职于ThoughtWorks,在那里,他是SOA实践领头人,并且是CTO全球技术顾问会的一员。Ian经常在世界范围内的会议上贡献关于图数据库技术的应用程序和RESTful企业级集成的话题。Jim Webber博士是Neo科技公司的首席科学家,他研究新的图数据库并开发开源软件。在这之前,Jim研究像Web这样大规模的图来建造分布式系统,这也使得他成为REST in Practice(O’Reilly)的作者之一,在这之前他还出版过Developing Enterprise Web Services: An Architect’s Guide(Prentice Hall,2003)。Jim在开发社区很活跃,Emil Eifrem是Neo科技公司的CEO和Neo4j项目的共同创始人。创建Neo之前,他是Windh AB的CTO,在那里他领导非常复杂的企业内容管理系统的信息架构开发。致力于可持续开源软件,Emil指引Neo在提供免费软件和商业效益之间走向平衡。Emil作为演讲者和作者活跃于各种NOSQL会议。译者介绍刘璐,软件开发工程师,就职于ThoughtWorks,专注于软件开发领域,对数据存储领域有浓厚兴趣。梁越,前端工程师,就职于ThoughtWorks,对前后端开发都有涉猎,有在大型项目中应用图数据库的开发经验。
目录
目录
第1章 简介 1
1.1 图是什么 1
1.2 图领域概览 3
1.2.1 图数据库 4
1.2.2 图计算引擎 6
1.3 图数据库的威力 7
1.3.1 性能 7
1.3.2 灵活性 7
1.3.3 敏捷性 7
1.4 小结 8
第2章 关联数据的存储选择 9
2.1 关系型数据库缺少联系 9
2.2 NoSQL数据库也缺少联系 12
2.3 图数据库拥抱联系 15
2.4 小结 20
第3章 使用图进行数据建模 21
3.1 模型和目标 21
3.2 带标签的属性图模型 22
3.3 查询图:Cypher简介 23
3.3.1 Cypher的理念 23
3.3.2 MATCH 25
3.3.3 RETURN 26
3.3.4 其他Cypher子句 26
3.4 关系建模和图建模对比 27
3.4.1 系统管理领域中的关系建模 29
3.4.2 系统管理领域中的图建模 32
3.4.3 测试模型 34
3.5 跨域模型 35
3.5.1 创建莎士比亚图 38
3.5.2 开始查询 40
3.5.3 声明查找的信息模式 41
3.5.4 约束匹配 42
3.5.5 处理结果 43
3.5.6 查询链 44
3.6 建模时常见的陷阱 45
3.6.1 电子邮件起源问题域 45
3.6.2 敏感的第一个迭代 45
3.6.3 第二次的魅力 47
3.6.4 发展中的领域 50
3.7 辨别节点和联系 55
3.8 避免反模式 55
3.9 小结 56
第4章 构建基于图数据库的应用 57
4.1 数据建模 57
4.1.1 根据应用程序的需要描述模型 57
4.1.2 用节点表示事物,用联系表示结构 58
4.1.3 细粒度联系与通用联系 59
4.1.4 将事实建模为节点 59
4.1.5 将复杂的值类型表示为节点 62
4.1.6 时间 62
4.1.7 迭代开发和增量开发 65
4.2 应用程序架构 66
4.2.1 嵌入式与服务器 66
4.2.2 集群 71
4.2.3 负载均衡 71
4.3 测试 74
4.3.1 测试驱动的数据模型开发 74
4.3.2 性能测试 80
4.4 容量规划 83
4.4.1 优化条件 84
图数据库 第2版 pdf下载声明
本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版