Download - Approaching graph db
![Page 1: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/1.jpg)
Approaching Graph databases
![Page 2: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/2.jpg)
Sergey Enin So#ware Engineering Team Leader EPAM, Minsk
![Page 3: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/3.jpg)
NOSQL GRAPH DBs
APP NEO4J
AGENDA
![Page 4: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/4.jpg)
NoSQL
![Page 5: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/5.jpg)
Not Only SQL
NoSQL
NoSQL databases is a special purpose Database
Using specific toolset for specific problem
NoSQL model is different from SQL model
![Page 6: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/6.jpg)
(No)SQL: CLASSIFICATION
Database Data model Strengths Weaks
MySQL RelaBonal E-‐R data model Low flexibility
Redis Key-‐value High performance and scalability
Low funcKonality
MongoDB Document High performance
Variable flexibility
Cassandra Column High performance and scalability
Low funcKonality
Neo4j Graph High performance
High complexity
![Page 7: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/7.jpg)
Graph Databases
Graph Databases
![Page 8: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/8.jpg)
Leonhard Euler (1707 –1783) Swiss mathematician
Graph Databases: HISTORY
![Page 9: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/9.jpg)
Graph Databases: HISTORY
![Page 10: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/10.jpg)
What is Graph?
![Page 11: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/11.jpg)
A B
C D
VerKce (Node)
Edge (RelaKonship)
Graph Databases: GRAPH
![Page 12: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/12.jpg)
Graph Databases: WHAT IS IT?
![Page 13: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/13.jpg)
Graph Databases: WHAT IS IT?
Joins VS Traversals
![Page 14: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/14.jpg)
Good for semi-structured connected
data
1 Index free-
adjacency
The underlying
storage
The processing
engine
2
3
4
Graph Databases: CHARACTERISTICS
![Page 15: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/15.jpg)
APPs
![Page 16: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/16.jpg)
ApplicaBon: social graphs
![Page 17: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/17.jpg)
Application: PAGE RANK
![Page 18: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/18.jpg)
APP: Collaborative filtering
![Page 19: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/19.jpg)
![Page 20: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/20.jpg)
Neo4J: CHARACTERISTICS
true ACID transacKons; scales to billions of nodes and relaKonships; high speed querying through traversals; declaraKve graph query language;
![Page 21: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/21.jpg)
Neo4J: who use it
Neo4J: WHO USE
![Page 22: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/22.jpg)
Neo4J: network architecture
Neo4J: who use it
Neo4J: NETWORK ARCHITECTURE
![Page 23: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/23.jpg)
Neo4J: architecture Neo4J: ARCHITECTURE
![Page 24: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/24.jpg)
Neo4J: architecture Neo4J: Internal storage
Node
RelaKonship
![Page 25: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/25.jpg)
Neo4J: architecture Neo4J: Internal storage
![Page 26: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/26.jpg)
Neo4J: CYPHER
![Page 27: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/27.jpg)
START usa=node:mb_fulltext(name="United States"), gb=node:mb_fulltext(name="United Kingdom")
MATCH (usa:Country), (gb:Country), (arKst:ArKst)-‐[:FROM_AREA]-‐(usa), (arKst:ArKst)-‐[:RECORDING_CONTRACT]-‐(l:Label), (label)-‐[:FROM_AREA]-‐(gb)
RETURN arKst,label,usa,gb
Neo4J: CYPHER
![Page 28: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/28.jpg)
![Page 29: Approaching graph db](https://reader034.vdocuments.mx/reader034/viewer/2022051110/54c6ce3a4a79592f088b457a/html5/thumbnails/29.jpg)
Thank You Sergey Enin Software Engineering Team Leader
sergeyenin!
sergeyenin.com/sec2014!
tygrysminsk!
pankrat!