Implementing Graph Data Base Based
Implementing Graph Data Base Based
based-on PostgreSQL
workFor
Kisung Kim Bitnine Global
Cypher Query Example
Querying
MATCH (p:person {name: Kisung Kim})-[:workFor]->(c:company)
RETURN (p), (c)
workFor
Kisung Kim ?
http://engineering.hipolabs.com/graphdb-to-postgresql/
Graph Database and Hybrid Database
( ) -[:processes]->(Cypher)
Why We Choose PostgreSQL?
Fully-featured enterprise-ready open source database
From http://s3.thinkaurelius.com/docs/titan/1.0.0/data-model.html
Graph Storage -AgensGraph
Fixed-size array is hard to implement in PostgreSQL
Tuples are moved when updated
Titans big row approach is also inadequate
We chose B-tree index for graph traversal
Graph
Vertex Edge
Person Message
Vertex ID Properties Vertex ID Properties
Comment Post
Vertex ID Properties Vertex ID Properties
Current Status
AgensGraph v0.9
(https://github.com/bitnine-oss/agens-graph or http://bitnine.net/downloads/)
Graph data model and DDL on PostgreSQL 9.6
Cypher query processing (70% of OpenCypher spec.)
Integrated query processing (Cypher + SQL)
Client library (JDBC, ODBC, Python)
Monitoring and development using Tadpole DB-hub
Tadpole for Agens Graph
Tadpole DB Hub is open-source project for managing unified
infrastructure (https://github.com/hangum/TadpoleForDBTools)
:likes