Graph Databases
September 8, 2016
Graph Databases in Silicon Valley Meetup
Overview
Goal
Better understanding of Graph database
What is Graph Database?
History and status of GDB
Comparison to other NoSQL DB
Who am I
Ph.D Kisung Kim - Chief Technology Officer of Bitnine Global Inc.
Researched query optimization for graph-structured data during doctorate degree
Developed a distributed relational database engine in TmaxSoft
Lead the development of a new graph database, Agens Graph in Bitnine Global
Graph data model
Modeling data as entities and their relationships
Relational data model
Handle data as tables
What is Graph Database?
Real-world
Phenomena
Relational
Data Model
Graph
Data Model
Entity-Relation
Modeling
Database
Table schema
Normalization/Denormalization
Referential constraints
Join keys
Graphs
Property Graph Model
Terminology:
Entity - Node - Vertex
Relationships - Edge
Property - Attribute
person company
works_for
Name: Kisung Kim
Email: kskim@bitnine.net
Name: Bitnine Global
Homepage: http://bitnine.net
title: CTO
Team: agens graph
Property
Node
Relationship
Very intuitive and easy
to model E-R diagram to property graphs
Example: Relational Data Model
Relational Model
Real-World Complex Schema
Example: Graph Data Model
Concise Querying: Cypher Example
From Zhu, Y., Yan, E., & Song, I.-Y. (2016). The use of a graph-based system to improve bibliographic information retrieval: System design, implementation,
and evaluation. Journal of the Association for Information Science & Technology
Affiliation
Author
Paper
Paper
Term:
‘Database’
cite
write
work for
topic
Query: Which institute does cite papers about ‘Database’?
Brief History of Graph Database
1970s: Network data model before relational model
1980: Big bang
The birth of the relational model and the declarative query language SQL
1990s: XML, Semantic Web standard (RDF, SPARQL) using graph model
1998~: NoSQL boom including Graph Database
2000s: Neo4j started and Cypher was borned
Cypher borrows some concepts(i.e, graph pattern matching) from SPARQL
Cypher
Most famous graph database, Cypher
O(1) access using fixed-size array
Gremlin Distributed graph system based on Cassandra
AQL Multi-model database (Document + Graph)
OQL Multi-model database (Document + Graph)
Graph Databases
DSE Graph
There are many other graph systems;
RDF stores (Allegrograph, Oracle, Virtuoso, … )
Graph analytics (Giraph, GraphX, PowerGraph, PGX, ThingSpan(InfiniteGraph), … )
Graph Database’s Popularity
From db-engines.com
NoSQL Databases
Categorization
● Document store
● Key/value store
● Column-family store
● Graph store
NoSQL Databases
Document store, Key/value store, Column-family store
Ignores relationships of data
(Does not handle them in database engine)
Focus on maximization of scalability and availability
Sacrifice declarative querying and transactional consistency, …
Graph store
Different motivation: graph data model
But NoSQL databases are evolving; e.g. Couchbase’s N1QL and Cassandra’s CQL
NoSQL Databases
Summary
Graph database motivation
Simple and intuitive data modeling for complex relationship data
Graph database strengths
Enhanced productivity from concise queries
Fast traversal performance for complex graphs
Graph visualization and graph analytics
Thank you How do you feel about Graph Database?

Graph database in sv meetup

  • 1.
    Graph Databases September 8,2016 Graph Databases in Silicon Valley Meetup
  • 2.
    Overview Goal Better understanding ofGraph database What is Graph Database? History and status of GDB Comparison to other NoSQL DB
  • 3.
    Who am I Ph.DKisung Kim - Chief Technology Officer of Bitnine Global Inc. Researched query optimization for graph-structured data during doctorate degree Developed a distributed relational database engine in TmaxSoft Lead the development of a new graph database, Agens Graph in Bitnine Global
  • 4.
    Graph data model Modelingdata as entities and their relationships Relational data model Handle data as tables What is Graph Database? Real-world Phenomena Relational Data Model Graph Data Model Entity-Relation Modeling Database Table schema Normalization/Denormalization Referential constraints Join keys Graphs
  • 5.
    Property Graph Model Terminology: Entity- Node - Vertex Relationships - Edge Property - Attribute person company works_for Name: Kisung Kim Email: kskim@bitnine.net Name: Bitnine Global Homepage: http://bitnine.net title: CTO Team: agens graph Property Node Relationship Very intuitive and easy to model E-R diagram to property graphs
  • 6.
    Example: Relational DataModel Relational Model
  • 7.
  • 8.
  • 9.
    Concise Querying: CypherExample From Zhu, Y., Yan, E., & Song, I.-Y. (2016). The use of a graph-based system to improve bibliographic information retrieval: System design, implementation, and evaluation. Journal of the Association for Information Science & Technology Affiliation Author Paper Paper Term: ‘Database’ cite write work for topic Query: Which institute does cite papers about ‘Database’?
  • 10.
    Brief History ofGraph Database 1970s: Network data model before relational model 1980: Big bang The birth of the relational model and the declarative query language SQL 1990s: XML, Semantic Web standard (RDF, SPARQL) using graph model 1998~: NoSQL boom including Graph Database 2000s: Neo4j started and Cypher was borned Cypher borrows some concepts(i.e, graph pattern matching) from SPARQL
  • 11.
    Cypher Most famous graphdatabase, Cypher O(1) access using fixed-size array Gremlin Distributed graph system based on Cassandra AQL Multi-model database (Document + Graph) OQL Multi-model database (Document + Graph) Graph Databases DSE Graph There are many other graph systems; RDF stores (Allegrograph, Oracle, Virtuoso, … ) Graph analytics (Giraph, GraphX, PowerGraph, PGX, ThingSpan(InfiniteGraph), … )
  • 12.
  • 13.
    NoSQL Databases Categorization ● Documentstore ● Key/value store ● Column-family store ● Graph store
  • 14.
    NoSQL Databases Document store,Key/value store, Column-family store Ignores relationships of data (Does not handle them in database engine) Focus on maximization of scalability and availability Sacrifice declarative querying and transactional consistency, … Graph store Different motivation: graph data model But NoSQL databases are evolving; e.g. Couchbase’s N1QL and Cassandra’s CQL
  • 15.
  • 16.
    Summary Graph database motivation Simpleand intuitive data modeling for complex relationship data Graph database strengths Enhanced productivity from concise queries Fast traversal performance for complex graphs Graph visualization and graph analytics
  • 17.
    Thank you Howdo you feel about Graph Database?