introduction of bitnine - business summary · use case : recommendation engine, fraud detection,...

16

Upload: others

Post on 30-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 2: Introduction of Bitnine - Business Summary · Use Case : Recommendation Engine, Fraud Detection, Geo systems, Master Data Management, Network and Data Center Management, Authorization

Introduction of Bitnine - Business Summary

Big Data Platform Technology Service through Graph Database

Open Source Database Solution and ServicesAgensGraph and AgensSQL

Intuitive Big Data Visualization Solution through Graph ModelingOptimized Visualization for IoT

Page 3: Introduction of Bitnine - Business Summary · Use Case : Recommendation Engine, Fraud Detection, Geo systems, Master Data Management, Network and Data Center Management, Authorization

Introduction of Bitnine - Summary

Bitnine Korea HQ Bitnine US R&D Center

1) Multi-Model Database Solution R&D (AGENS solutions)

2) Government project execution & Technology integration

3) Big Data Platform Technology Service through Graph Database

4) Open source database implementation

5) Intuitive Data Visualization Solution through Graph Modeling

Main Business

Area

Bitnine Employee number : 31 (as of Feb. 2017)

Bitnine US Marketing

Foundation: Oct. 2013

Page 4: Introduction of Bitnine - Business Summary · Use Case : Recommendation Engine, Fraud Detection, Geo systems, Master Data Management, Network and Data Center Management, Authorization

Introduction of Bitnine - Business Summary

▪ The first integrated database package and its extension modules in Korea based on PostgreSQL ▪ The core member and the Gold Sponsor of global PostgreSQL communities▪ Customers : Woori Investment Securities, LG CNS, Government Complex Data Center, Postech,

Dongjin Semichem, Samsung Display and etc.

▪ AgensGraph V 1.0 release in Jan. 2017.▪ AgensGraph is the first multi-model graph database management solution in Korea▪ Use Case : Recommendation Engine, Fraud Detection, Geo systems, Master Data Management,

Network and Data Center Management, Authorization and Access Control, Bio-Informatics

▪ Big Graph will be processed and executed based on Big Data platform and will be customized and developed through the integration of the graph database.

▪ Partnership : IBM, EMC, Cloudera, Neo4j▪ ISV : Cloudera, Hortonworks, Cyram, Linkurious, Cambridge Intelligence

Page 5: Introduction of Bitnine - Business Summary · Use Case : Recommendation Engine, Fraud Detection, Geo systems, Master Data Management, Network and Data Center Management, Authorization

●●●

○○○

●○

●●●

Page 6: Introduction of Bitnine - Business Summary · Use Case : Recommendation Engine, Fraud Detection, Geo systems, Master Data Management, Network and Data Center Management, Authorization

●○○○○○

Page 7: Introduction of Bitnine - Business Summary · Use Case : Recommendation Engine, Fraud Detection, Geo systems, Master Data Management, Network and Data Center Management, Authorization

●○

Page 8: Introduction of Bitnine - Business Summary · Use Case : Recommendation Engine, Fraud Detection, Geo systems, Master Data Management, Network and Data Center Management, Authorization

SELECT friend.id, count(comments)FROM (MATCH (:person {id: 1})-[:knows*1..2]->(friend) RETURN friend.id AS id) friend, -- Cypher subquery comment -- Relational tableWHERE friend.id = comment.creatorId AND comment.createdate > '2016.1.1';

MATCH (n:dev)WHERE n.year::int < (SELECT year FROM history WHERE event = 'AgensGraph')RETURN properties(n) AS n;

Page 9: Introduction of Bitnine - Business Summary · Use Case : Recommendation Engine, Fraud Detection, Geo systems, Master Data Management, Network and Data Center Management, Authorization

●○○

●○○

Page 10: Introduction of Bitnine - Business Summary · Use Case : Recommendation Engine, Fraud Detection, Geo systems, Master Data Management, Network and Data Center Management, Authorization

●○

●○○

Page 11: Introduction of Bitnine - Business Summary · Use Case : Recommendation Engine, Fraud Detection, Geo systems, Master Data Management, Network and Data Center Management, Authorization

●○

Start person

New post

tag

friend

friend2 Old post

Pattern 1

Pattern 2

Find pattern1 which does not have pattern2

Page 12: Introduction of Bitnine - Business Summary · Use Case : Recommendation Engine, Fraud Detection, Geo systems, Master Data Management, Network and Data Center Management, Authorization

●MATCH (person:Person {id:{1}})-[:KNOWS]-(:Person)<-[:HAS_CREATOR]-(post:Post)-[:HAS_TAG]->(tag:Tag)WHERE post.creationDate >= {2} AND post.creationDate < {3}OPTIONAL MATCH (tag)<-[:HAS_TAG]-(oldPost:Post)-[:HAS_CREATOR]->(:Person)-[:KNOWS]-(person)WHERE oldPost.creationDate < {2}WITH tag, post, length(collect(oldPost)) AS oldPostCountWHERE oldPostCount=0RETURN tag.name AS tagName, length(collect(post)) AS postCountORDER BY postCount DESC, tagName ASCLIMIT 20;

Pattern 1

Pattern 2Find pattern1 which does not have pattern2

● But this query takes too long because it searches Pattern2 for each occurrences of Pattern1● If # of Pattern1 is n and # of Pattern2 is m, then n X m traversals are needed!!

Page 13: Introduction of Bitnine - Business Summary · Use Case : Recommendation Engine, Fraud Detection, Geo systems, Master Data Management, Network and Data Center Management, Authorization

●SELECT tagname, count(distinct postid) AS postcount FROM ( SELECT NewPost.tag AS tagname, NewPost.postid AS postid, count(distinct OldPost.postid) AS oldPostCount FROM ( MATCH (person:Person {id:$1})-[:KNOWS]->()<-[:hasCreatorPost]-(post:Post)-[:hasTagPost]->(tag:Tag) WHERE post.creationDate >= $2 AND post.creationDate < $3 RETURN post.id AS postid, tag.name AS tag) NewPost LEFT JOIN ( MATCH (person:Person {id:$4})-[:KNOWS]->()<-[:hasCreatorPost]-(post:Post)-[:hasTagPost]->(tag:Tag) WHERE post.creationDate < $2 RETURN post.id AS postid, tag.name AS tag) OldPost ON NewPost.tag = OldPost.tag GROUP BY NewPost.tag, OldPost.postid) AWHERE oldPostCount = 0 GROUP BY tagname ORDER BY postcount DESC, tagname ASC LIMIT 20;

Pattern 1

Pattern 2

Find pattern1 which does not have pattern2

● This query find Pattern1 and Pattern2 respectively, and left join them● n + m traversals are needed not n X m traversals !!

Page 14: Introduction of Bitnine - Business Summary · Use Case : Recommendation Engine, Fraud Detection, Geo systems, Master Data Management, Network and Data Center Management, Authorization

●●●●

Page 15: Introduction of Bitnine - Business Summary · Use Case : Recommendation Engine, Fraud Detection, Geo systems, Master Data Management, Network and Data Center Management, Authorization

●●●

○○○

Page 16: Introduction of Bitnine - Business Summary · Use Case : Recommendation Engine, Fraud Detection, Geo systems, Master Data Management, Network and Data Center Management, Authorization