Graph Databases: New Opportunities for Connected Data

Graph Databases: New Opportunities for Connected Data

Paperback

$35.99 $39.99 Save 10% Current price is $35.99, Original price is $39.99. You Save 10%.
View All Available Formats & Editions
Eligible for FREE SHIPPING
  • Want it by Wednesday, October 24?   Order by 12:00 PM Eastern and choose Expedited Shipping at checkout.
    Same Day shipping in Manhattan. 
    See Details

Overview

Graph Databases: New Opportunities for Connected Data by Ian Robinson, Jim Webber, Emil Eifrem

Discover how graph databases can help you manage and query highly connected data. With this practical book, you’ll learn how to design and implement a graph database that brings the power of graphs to bear on a broad range of problem domains. Whether you want to speed up your response to user queries or build a database that can adapt as your business evolves, this book shows you how to apply the schema-free graph model to real-world problems.

This second edition includes new code samples and diagrams, using the latest Neo4j syntax, as well as information on new functionality. Learn how different organizations are using graph databases to outperform their competitors. With this book’s data modeling, query, and code examples, you’ll quickly be able to implement your own solution.

  • Model data with the Cypher query language and property graph model
  • Learn best practices and common pitfalls when modeling with graphs
  • Plan and implement a graph database solution in test-driven fashion
  • Explore real-world examples to learn how and why organizations use a graph database
  • Understand common patterns and components of graph database architecture
  • Use analytical techniques and algorithms to mine graph database information

Product Details

ISBN-13: 9781491930892
Publisher: O'Reilly Media, Incorporated
Publication date: 07/09/2015
Pages: 238
Sales rank: 795,113
Product dimensions: 6.90(w) x 9.10(h) x 0.70(d)

About the Author

Ian Robinson is the co-author of REST in Practice (O'Reilly Media, 2010). Ian is an engineer at Neo Technology, working on a distributed version of the Neo4j database. Prior to joining the engineering team, Ian served as Neo's Director of Customer Success, managing the training, professional services, and support arms of Neo, and working with customers to design and develop mission-critical graph database solutions. Ian came to Neo Technology from ThoughtWorks, where he was SOA Practice Lead and a member of the CTO's global Technical Advisory Board. Ian presents frequently at conferences worldwide on topics including the application of graph database technologies, and RESTful enterprise integration.

Dr. Jim Webber is Chief Scientist with Neo Technology where he researches novel graph databases and writes open source software. Previously, Jim spent time working with big graphs like the Web for building distributed systems, which led him to being co-author on the book REST in Practice, having previously written Developing Enterprise Web Services - An Architect's Guide. Jim is active in the development community, presenting regularly around the world. His blog is located at http://jimwebber.org and he tweets often @jimwebber.

Emil Eifrem is CEO of Neo Technology and co-founder of the Neo4j project. Before founding Neo, he was the CTO of Windh AB, where he headed the development of highly complex information architectures for Enterprise Content Management Systems. Committed to sustainable open source, he guides Neo along a balanced path between free availability and commercial reliability. Emil is a frequent conference speaker and author on NoSQL databases.

Table of Contents

Foreword vii

Preface xi

1 Introduction 1

What Is a Graph? 1

A High-Level View of the Graph Space 4

Graph Databases 5

Graph Compute Engines 7

The Power of Graph Databases 8

Performance 8

Flexibility 9

Agility 9

Summary 10

2 Options for Storing Connected Data 11

Relational Databases Lack Relationships 11

NOSQL Databases Also Lack Relationships 15

Graph Databases Embrace Relationships 18

Summary 24

3 Data Modeling with Graphs 25

Models and Goals 25

The Labeled Property Graph Model 26

Querying Graphs: An Introduction to Cypher 27

Cypher Philosophy 28

Match 30

Return 30

Other Cypher Clauses 31

A Comparison of Relational and Graph Modeling 32

Relational Modeling in a Systems Management Domain 33

Graph Modeling in a Systems Management Domain 38

Testing the Model 39

Cross-Domain Models 41

Creating the Shakespeare Graph 45

Beginning a Query 46

Declaring Information Patterns to Find 48

Constraining Matches 49

Processing Results 50

Query Chaining 51

Common Modeling Pitfalls 52

Email Provenance Problem Domain 52

A Sensible First Iteration? 52

Second Time's the Charm 55

Evolving the Domain 58

Identifying Nodes and Relationships 63

Avoiding Anti-Patterns 63

Summary 64

4 Building a Graph Database Application 65

Data Modeling 65

Describe the Model in Terms of the Application's Needs 66

Nodes for Things, Relationships for Structure 67

Fine-Grained versus Generic Relationships 67

Model Facts as Nodes 68

Represent Complex Value Types as Nodes 71

Time 72

Iterative and Incremental Development 74

Application Architecture 76

Embedded versus Server 76

Clustering 81

Load Balancing 82

Testing 85

Test-Driven Data Model Development 85

Performance Testing 91

Capacity Planning 95

Optimization Criteria 95

Performance 96

Redundancy 98

Load 98

Importing and Bulk Loading Data 99

Initial Import 100

Batch Import

Summary

5 Graphs in the Real World 105

Why Organizations Choose Graph Databases 105

Common Use Cases 106

Social 106

Recommendations 107

Geo 108

Master Data Management 109

Network and Data Center Management 109

Authorization and Access Control (Communications) 110

Real-World Examples 111

Social Recommendations (Professional Social Network) 111

Authorization and Access Control 123

Geospatial and Logistics 132

Summary 147

6 Graph Database Internals 149

Native Graph Processing

Native Graph Storage 152

Programmatic APIs 158

Kernel API 158

Core API 159

Traversal Framework 160

Nonfunctional Characteristics 162

Transactions 162

Recoverability 163

Availability 164

Scale 166

Summary 170

7 Predictive Analysis with Graph Theory 171

Depth- and Breadth-First Search 171

Path-Finding with Dijkstra's Algorithm 173

The A* Algorithm 181

Graph Theory and Predictive Modeling 182

Triadic Closures 182

Structural Balance 184

Local Bridges 188

Summary 190

A NOSQL Overview 193

Index 211

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews