Graph database คืออะไร?

แนวคิด NoSQL

Miriam Antona

Software engineer

Graph database - ภาพรวม

  • ให้ความสำคัญกับข้อมูลและความสัมพันธ์เท่ากัน
  • อิงตามทฤษฎีกราฟ
    • สาขาหนึ่งของคณิตศาสตร์
    • ศึกษากราฟเพื่อจำลองความสัมพันธ์ระหว่างวัตถุ
แนวคิด NoSQL

Graph database - ส่วนประกอบของกราฟ

  • Vertices/Nodes
  • Edges

ภาพกราฟที่มีสอง node

แนวคิด NoSQL

Graph database - ส่วนประกอบของกราฟ

  • Vertices/Nodes
  • Edges/Links/Arcs

ภาพกราฟที่มีสอง node เชื่อมกันด้วย edge

แนวคิด NoSQL

Graph database - nodes

  • แทนเอนทิตี (ผู้ใช้, เมือง, สนามบิน, พนักงาน...)
  • มีคุณสมบัติ

Node ที่แสดงผู้ใช้

แนวคิด NoSQL

Graph database - nodes

  • แทนเอนทิตี (ผู้ใช้, เมือง, สนามบิน, พนักงาน...)
  • มีคุณสมบัติ

Node ที่แสดงผู้ใช้พร้อมคุณสมบัติ

แนวคิด NoSQL

Graph database - edges

  • เชื่อมต่อ node เข้าหากัน
  • กำหนดความสัมพันธ์ระหว่าง node

Node ที่เชื่อมกันด้วย edge

แนวคิด NoSQL

Graph database - edges

  • เชื่อมต่อ node เข้าหากัน
  • กำหนดความสัมพันธ์ระหว่าง node

Node ที่เชื่อมกันด้วย edge พร้อมแสดงความสัมพันธ์

แนวคิด NoSQL

Graph database - edges

  • เชื่อมต่อ node เข้าหากัน
  • กำหนดความสัมพันธ์ระหว่าง node

Node ที่เชื่อมกันด้วย edge พร้อมความสัมพันธ์และคุณสมบัติ

แนวคิด NoSQL

Graph database - ประเภทของ edge

  • Directed:
    • มีทิศทางที่กำหนด

ภาพกราฟแบบมีทิศทาง

แนวคิด NoSQL

Graph database - ประเภทของ edge

  • Undirected:
    • ไม่มีทิศทาง
    • ความสัมพันธ์เป็นแบบสองทาง

ภาพกราฟแบบไม่มีทิศทาง

แนวคิด NoSQL

Graph database - การ query

  • การท่องผ่านกราฟ
  • ตัวอย่าง:
    • ดึงรายชื่อผู้ใช้ทั้งหมดที่ Ben ติดตาม
    • ดูว่า Carol เริ่มติดตาม Shui เมื่อใด
    • หาเส้นทางที่สั้นที่สุดระหว่างสองเมือง
  • Path: ชุดของ node และ edge ที่ต่อเนื่องกันในกราฟ
  • Query language: Cypher, Gremlin เป็นต้น
แนวคิด NoSQL

Graph database ยอดนิยม

โลโก้ของ graph database ยอดนิยม

แนวคิด NoSQL

มาฝึกกันเถอะ!

แนวคิด NoSQL

Preparing Video For Download...