Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

O'Reilly logo
Graph Data Modeling for NoSQL and SQL

Book Description

Master a graph data modeling technique superior to traditional data modeling for both relational and NoSQL databases (graph, document, key-value, and column), leveraging cognitive psychology to improve big data designs.

From Karen Lopez's Foreword:
In this book, Thomas Frisendal raises important questions about the continued usefulness of traditional data modeling notations and approaches:
  • Are Entity Relationship Diagrams (ERDs) relevant to analytical data requirements?
  • Are ERDs relevant in the new world of Big Data?
  • Are ERDs still the best way to work with business users to understand their needs?
  • Are Logical and Physical Data Models too closely coupled?
  • Are we correct in using the same notations for communicating with business users and developers?
  • Should we refine our existing notations and tools to meet these new needs, or should we start again from a blank page?
  • What new notations and approaches will we need?
  • How will we use those to build enterprise database systems?
Frisendal takes us through the history of data modeling, enterprise data models and traditional modeling methods. He points out, quite contentiously, where he feels we have gone wrong and in a few places where we got it right. He then maps out the psychology of meaning and context, while identifying important issues about where data modeling may or may not fit in business modeling. The main subject of this work is a proposal for a new exploration-driven modeling approach and new modeling notations for business concept models, business solutions models, and physical data models with examples on how to leverage those for implementing into any target database or datastore. These new notations are based on a property graph approach to modeling data.

From the author's introduction:
This book proposes a new approach to data modeling-one that "turns the inside out". For well over thirty years, relational modeling and normalization was the name of the game. One can ask that if normalization was the answer, what was the problem? There is something upside-down in that approach, as we will see in this book.

Data analysis (modeling) is much like exploration. Almost literally. The data modeler wanders around searching for structure and content. It requires perception and cognitive skills, supported by intuition (a psychological phenomenon), that together determine how well the landscape of business semantics is mapped.

Mapping is what we do; we explore the unknowns, draw the maps and post the "Here be Dragons" warnings. Of course there are technical skills involved, and surprisingly, the most important ones come from psychology and visualization (again perception and cognition) rather than pure mathematical ability.

Two compelling events make a paradigm shift in data modeling possible, and also necessary:
  1. The advances in applied cognitive psychology address the needs for proper contextual framework and for better communication, also in data modeling, and
  2. The rapid intake of non-relational technologies (Big Data and NoSQL).

Table of Contents

  1. Foreword By Karen Lopez
  2. Chapter 1 Introduction
    1. 1.1. Motivation
    2. 1.2. Audience
    3. 1.3. Outline
    4. 1.4. Acknowledgments
  3. Chapter 2 Why Model?
    1. 2.1. Model What?
    2. 2.2. Providing Business Value from Big Data and NoSQL
    3. 2.3. Data Modeling Heritage
      1. 2.3.1. Evolution of Database
      2. 2.3.2. Pointer Database (DBOMP)
      3. 2.3.3. Hierarchical Workhorses
      4. 2.3.4. Programmer as Navigator
      5. 2.3.5. Chen, Entities, Attributes and Relationships
      6. 2.3.6. Relational Model
      7. 2.3.7. The Great Database War of the Eighties
      8. 2.3.8. Objects Galore!
      9. 2.3.9. Graph Models
      10. 2.3.10. Object Role Model (ORM) and Fact Modeling
      11. 2.3.11. New Keys in the Models
      12. 2.3.12. Data Modeling Conclusions
    4. 2.4. Perception, Cognition and Psychology
      1. 2.4.1. Perception and Cognition
      2. 2.4.2. Concept Maps
      3. 2.4.3. Conceptual Spaces
      4. 2.4.4. Knowledge Graphs
      5. 2.4.5. Cognitive Computing Example: Saffron
      6. 2.4.6. Ubiquitous Pointer
      7. 2.4.7. Think Spatially
  4. Chapter 3 Real Requirements of Data Modeling
    1. 3.1. Post-relational Data Modeling
    2. 3.2. Finding Meaning and Structure
      1. 3.2.1. Working with Business People
      2. 3.2.2. Concept Models as Part of User Stories
      3. 3.2.3. Functional Dependency Profiling
      4. 3.2.4. Mining the Semantics
    3. 3.3. Visualization of Models
      1. 3.3.1. Functional Dependency Visualization
      2. 3.3.2. Understanding Structure and Content
      3. 3.3.3. Property Graphs
      4. 3.3.4. Progressive Visualization of Data Models
      5. 3.3.5. Tool Support for Property Graphs
    4. 3.4. Data Modeling Requirements
      1. 3.4.1. Solution Architecture
      2. 3.4.2. Business Concept Model Requirements
      3. 3.4.3. Solution Data Model Requirements
      4. 3.4.4. On Using Property Graphs
      5. 3.4.5. Physical Data Model Requirements
      6. 3.4.6. Keeping it Simple
  5. Chapter 4 Data Modeling Described
    1. 4.1. Solution Modeling (Solution Model)
      1. 4.1.1. Business Concept Model
      2. 4.1.2. Power of Dependencies
      3. 4.1.3. Names Matter
      4. 4.1.4. Finding Patterns
      5. 4.1.5. Cardinality and Optionality
      6. 4.1.6. Housekeeping
      7. 4.1.7. Modeling the Subject Area Overview
      8. 4.1.8. Data Types
      9. 4.1.9. Identifiers, Keys, and Pointers
      10. 4.1.10. Keys
      11. 4.1.11. Handling Time
      12. 4.1.12. Design Involves Decisions
      13. 4.1.13. Abstraction, Specialization, and Generalization
      14. 4.1.14. Unusual Concepts
    2. 4.2. Transform, Optimize, and Deploy (Physical Model)
      1. 4.2.1. Creating the Physical Models
      2. 4.2.2. Denormalize with a Smile
      3. 4.2.3. Key / Value Targets
      4. 4.2.4. Document Stores
      5. 4.2.5. RDF and Triplestores
      6. 4.2.6. Property Graphs
      7. 4.2.7. Multidimensional Models
      8. 4.2.8. SQL Targets
  6. Chapter 5 Selected Detailed Examples
    1. 5.1. From Relational Model to Property Graph Model
    2. 5.2. A Multidimensional Model
    3. 5.3. A Survey Form
    4. 5.4. FIBO Indices and Indicators Model
  7. Chapter 6 Before Your Expedition Begins
    1. 6.1. Essential Skills and Insights for Your “Expeditions”
  8. Literature
  9. Index