Graph database คืออะไร


#1

vertices หรือ จุด สำหรับข้อมูลของที่มีตัวตน (entities) (เช่น who, what, which และ doc ?)

edges หรือ ขอบ สำหรับข้อมูลที่แสดงความสัมพันธ์ (relationships) ระหว่าง จุด (เช่น flow ?)

เราสามารถใช้ database อื่นๆ ทั่วไป ออกแบบก็ทำงานได้

แต่ graph database ให้ความสำคัญกับ การค้นหาแบบไล่ตามเส้นทางความสัมพันธ์ โดยเริ่มจากจุดๆ หนึ่ง

RDBS

ถ้าใช้ relation database ทั่วไป เราต้องออกแบบ table เตรียมไว้ก่อน ยิ่งมี edges หลากหลาย ก็ต้องมี table สำหรับ join มากขึ้น

graph DB

ไม่ต้องเตรียม table แค่คิดตั้งชื่อ เพื่อแยกประเภท entities และ ตั้งชื่อประเภทของ edge

สร้าง edge หรือ relationship

query ข้อมูลจาก graph


#2

… อ่านแล้ว sql ลอยมาเข้าหัว เลยครับ


#3

แนะนำ slide อธิบาย graph db


#4

slide จาก arangodb

เอกสาร multi model database

https://www.arangodb.com/wp-content/uploads/2017/01/ArangoDB-White-paper-What-is-a-multi-model-database-and-why-use-it.pdf