Graph Databases in Action
Dave Bechberger, Josh Perryman
  • MEAP began January 2019
  • Publication in Spring 2020 (estimated)
  • ISBN 9781617296376
  • 375 pages (estimated)
  • printed in black & white

Great introduction to Graph Databases, how to use them, and when to use them.

Michael J. Haller
Relationships in data often look far more like a web than an orderly set of rows and columns. Graph databases shine when it comes to revealing valuable insights within complex, interconnected data such as demographics, financial records, or computer networks. In Graph Databases in Action, experts Dave Bechberger and Josh Perryman illuminate the design and implementation of graph databases in real-world applications. You’ll learn how to choose the right database solutions for your tasks, and how to use your new knowledge to build agile, flexible, and high-performing graph-powered applications!
Table of Contents detailed table of contents

Part 1: Getting Started with Graph Databases

1 Introduction to Graphs

1.1 What is a graph?

1.1.1 What is a graph database?

1.1.2 Why Can’t I Use SQL?

1.2 Is my problem a graph problem?

1.2.1 Explore the questions

1.2.2 I’m still confused…​ Is this a graph problem?

1.3 Technologies used in this book

1.4 Summary

2 Graph Data Modeling

2.1 Understand the problem

2.1.1 Domain and scope

2.1.2 Business Entitles

2.1.3 Functionality

2.2 Developing your whiteboard model

2.3 Getting started with your friends

2.3.1 Translate entities to vertices

2.3.2 Translate relationships to edges

2.3.3 Find and assign properties

2.4 Check our model

2.5 Summary

3 Running Basic Graph Queries on our Social Network

3.1 Why Gremlin?

3.2 Startup Environment

3.3 Loading data

3.3.1 Retrieving a vertex

3.3.2 Retrieving properties of a vertex

3.3.3 Updating and Deleting Vertices and Edges in our Graph

3.4 Summary

4 Traversing our Social Network

4.1 Traversing a graph

4.2 Finding your Friends

4.3 Filtering Edges

4.3.1 Filter by Edge Properties

4.3.2 Include Edges in Path Results

4.3.3 Performant Edge Counts and Denormalization

4.4 Summary

5 Formatting our Results

5.1 Gremlin’s Varied Result Types

5.2 Manipulating and Projecting Results

5.2.1 Organizing Results with select() and project()

5.2.2 Ordering and Grouping Results

5.2.3 Limiting Results

5.3 Summary

6 Developing our First Graph Application

Part 2: Building on Graph Databases

7 Data Modeling in Practice

[[chapter_id_8] == 8 Building our Recommendation Engine

9 Adding Reviews to our Recommendations

Part 3: Moving Beyond the Basics

10 Performance tuning our application

11 Graph pitfalls and anti-patterns

12 Graph analytics for non-Graph people


Appendix A: Apache TinkerPop Installation and Overview

A.1 Overview

A.1.1 Gremlin Traversal Language

A.1.2 TinkerGraph

A.1.3 Gremlin Console

A.1.4 Gremlin Language Variants

A.1.5 Gremlin Server

A.1.6 Documentation

A.2 Installation

A.2.1 Install and Verify the Java Runtime

A.2.2 Install Gremlin Console

A.2.3 Install Gremlin Server

A.2.4 Configure Gremlin Console to Connect to Gremlin Server

A.2.5 Using the Gremlin Console

Appendix B: Gremlin steps cheatsheet

Appendix C: An Introduction to the Graph Ecosystem

C.1.1 Database versus Frameworks

C.1.2 Graph Frameworks

C.1.3 Graph Databases - RDF and Property Model

C.2 A Brief Introduction to Graph Query Languages


C.2.2 Cypher/openCypher

C.2.3 Apache TinkerPop Gremlin

C.2.4 GraphQL

C.2.5 SQL Derivatives

Appendix D: Further References

About the Technology

Graph databases store interconnected data in a more natural form, making them superior tools for representing data with rich relationships. Unlike in relational database management systems (RDBMS), where a more rigid view of data connections results in the loss of valuable insights, in graph databases, data connections are first priority. Graph databases store data and its connections, unlocking the potential to store, process, and query with incredible efficiency. With giants like NASA, eBay, Walmart, and Fortune 500 financial service providers leveraging this hot technology, graph database skills are priceless! Cloud databases like AWS Neptune and Microsoft CosmosDB now add to the growing list of graph databases powered by the Gremlin graph traversal language presented in this book.

About the book

Graph Databases in Action teaches you everything you need to know to begin building and running applications powered by graph databases. Right off the bat, seasoned graph database experts and authors Dave Bechberger and Josh Perryman introduce you to just enough graph theory, the graph database ecosystem, and a variety of datastores. You’ll also explore modelling basics in action with real-world examples, then go hands-on with querying, coding traversals, parsing results, and other essential tasks as you build your own graph-backed social network app complete with a recommendation engine!

With valuable firsthand experience under your belt, you’re ready for advanced concepts including query tuning, data model tuning, evolving your graphs, and pitfalls and anti-patterns like supernodes, hidden entities, and anemic edges. All examples are presented in the open source Apache TinkerPop framework and the Gremlin language, and almost all concepts and constructs are compatible with Cypher/openCypher databases such as Neo4j. With this comprehensive guide, you’ll be building graph-powered applications that dramatically increase the value of data—as well as your professional value to the companies savvy enough to use them!

What's inside

  • Graph database fundamentals
  • An overview of the graph database ecosystem
  • Relational vs. graph database modelling
  • Querying graphs using Gremlin
  • Real-world common graph use cases
  • Basic graph algorithms
  • A hands-on graph-backed application project
  • Performance tuning
  • Pitfalls and anti-patterns
  • Graph analytics

About the reader

For readers with basic Java and application development skills building in RDBMS systems such as Oracle, SQL Server, MySQL, and Postgres. No experience with graph databases is required.

About the authors

Dave Bechberger has extensive experience using graph databases as a product architect and a consultant. He’s spent his career leveraging cutting-edge technologies to build software in complex data domains such as bioinformatics, oil and gas, and supply chain management. He’s an active member of the graph community and has presented on a wide variety of graph-related topics at national and international conferences.

Josh Perryman is technologist with over two decades of diverse experience building and maintaining complex systems, including high performance computing (HPC) environments. Since 2014 he has focused on graph databases, especially in distributed or big data environments, and he regularly blogs and speaks at conferences about graph databases.

Manning Early Access Program (MEAP) Read chapters as they are written, get the finished eBook as soon as it’s ready, and receive the pBook long before it's in bookstores.
MEAP combo $49.99 pBook + eBook + liveBook
MEAP eBook $39.99 pdf + ePub + kindle + liveBook
Prices displayed in rupees will be charged in USD when you check out.

placing your order...

Don't refresh or navigate away from the page.

FREE domestic shipping on three or more pBooks