Graph database in sv meetup

Post on 22-Jan-2017

266 views 0 download

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: kskim@bitnine.net

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?