graph database in sv meetup
TRANSCRIPT
Graph DatabasesSeptember 8, 2016
Graph Databases in Silicon Valley Meetup
OverviewGoal
Better understanding of Graph database
What is Graph Database?
History and status of GDB
Comparison to other NoSQL DB
Who am IPh.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 ModelTerminology:
Entity - Node - Vertex
Relationships - Edge
Property - Attribute
person companyworks_for
Name: Kisung KimEmail: [email protected]
Name: Bitnine GlobalHomepage: http://bitnine.net
title: CTOTeam: 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 ExampleFrom 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 Database1970s: 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 PopularityFrom db-engines.com
NoSQL DatabasesCategorization
● Document store● Key/value store● Column-family store● Graph store
NoSQL DatabasesDocument 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
SummaryGraph 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?