---
# System prepended metadata

title: day27 Graph Databases
tags: [iThome(2022)]

---

---
title: day27 Graph Databases
tags: iThome(2022)
description: note
---
# day27 Graph Databases
## Native Graph Databases
與一般開發者常用關聯式資料差別為，在一般使用sql時，以main key(主鍵)來當作資料的唯一識別，再與其他表關聯時會使用join來將兩個表做介接，但Graph Databases在建立表與表關西時，已經將錶的相對關西以指針儲存在欄位，因此在查表使用上效能會比關聯式資料快速。

graph db有分為三大類
* Property Graphs: Neo4j 就是這一類，藉由許多的 nodes、relations、properties 所組合而成
* Hypergraphs: 和前者的差別在於，一個 relation 可以連接多個 nodes，很適合用於資料彼此有大量的「多對多」關係的情境
* Triple Stores: 使用 W3C 的 RDF（資源描述框架）

### neo4j
大數據時代來臨，當數據量龐大且數據關係複雜時，若使用傳統的 SQL 資料庫儲存需要大量的表格，花費大量的時間寫程式描述數據間的關係。
因此若遇到複雜關聯、龐大的資料，可以使用 Neo4j 開源的圖形數據庫 ( Graph DB ) 不但可以靈活存取也可以達到快速查詢的功能，使用上主要以`Node-節點`與`Relation-關係`與周圍建立關係。

![](https://i.imgur.com/Slz6D2h.png)


## 參考
* https://www.webcomm.com.tw/blog/neo4j/

## Thank you! :dash: 

You can find me on

- GitHub: https://github.com/shaung08
- Email: a2369875@gmail.com