Synopses & Reviews
Discover how graph databases can help you manage and query highly connected data. With this practical book, youll 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.
Learn how different organizations are using graph databases to outperform their competitors. With this books data modeling, query, and code examples, youll 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
This book provides a practical foundation for those who want to apply graph databases to real-world business solutions. You'll learn why graph database are useful, where they're applicable, and how to design and implement solutions that use them. With an introduction to the graph database space in general, this book focuses on their practical application, using the Neo4j graph database with many data model, query, and code examples.
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.
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; Graphs Are Everywhere, or the Birth of Graph Databases as We Know Them; Preface; About This Book; Conventions Used in This Book; Using Code Examples; Safari® Books Online; How to Contact Us; Acknowledgments; Chapter 1: Introduction; 1.1 What Is a Graph?; 1.2 A High-Level View of the Graph Space; 1.3 The Power of Graph Databases; 1.4 Summary; Chapter 2: Options for Storing Connected Data; 2.1 Relational Databases Lack Relationships; 2.2 NOSQL Databases Also Lack Relationships; 2.3 Graph Databases Embrace Relationships; 2.4 Summary; Chapter 3: Data Modeling with Graphs; 3.1 Models and Goals; 3.2 The Property Graph Model; 3.3 Querying Graphs: An Introduction to Cypher; 3.4 A Comparison of Relational and Graph Modeling; 3.5 Cross-Domain Models; 3.6 Common Modeling Pitfalls; 3.7 Avoiding Anti-Patterns; 3.8 Summary; Chapter 4: Building a Graph Database Application; 4.1 Data Modeling; 4.2 Application Architecture; 4.3 Testing; 4.4 Capacity Planning; 4.5 Summary; Chapter 5: Graphs in the Real World; 5.1 Why Organizations Choose Graph Databases; 5.2 Common Use Cases; 5.3 Real-World Examples; 5.4 Summary; Chapter 6: Graph Database Internals; 6.1 Native Graph Processing; 6.2 Native Graph Storage; 6.3 Programmatic APIs; 6.4 Nonfunctional Characteristics; 6.5 Summary; Chapter 7: Predictive Analysis with Graph Theory; 7.1 Depth- and Breadth-First Search; 7.2 Path-Finding with Dijkstra's Algorithm; 7.3 The A* Algorithm; 7.4 Graph Theory and Predictive Modeling; 7.5 Local Bridges; 7.6 Summary; NOSQL Overview; The Rise of NOSQL; ACID versus BASE; The NOSQL Quadrants; Document Stores; Key-Value Stores; Column Family; Query versus Processing in Aggregate Stores; Graph Databases; Index; Colophon;