[RedisGraph 2] Các khái niệm liên quan đến cơ sở dữ liệu đồ thị

Các kiến thức dưới đây có thể áp dụng cho các cơ sở dữ liệu đồ thị quan hệ như RedisGraph và Neo4j.

Đầu tiên hãy quan sát sự khác biệt của cơ sở dữ liệu quan hệ và cơ sở dữ liệu đồ thị:

Cơ sở dữ liệu đồ thị tập trung mô tả mối quan hệ của dữ liệu và lưu trữ nó dưới dạng dữ liệu. Chúng được dùng trong các trường hợp phân tích dữ liệu có mối quan hệ chặt chẽ + lượng dữ liệu lớn. Ví dụ như phát hiện gian lận, gợi ý sản phẩm hoặc nội dung.

Các khái niệm chính

Cơ sở dữ liệu đồ thị lưu trữ dữ liệu trên các node(nút), xây dựng các cấu trúc dữ liệu khác nhau dựa trên relationship(mối quan hệ).

Nút (node)

  • Là một trong hai đơn vị cơ bản tạo nên đồ thị.
  • Thường đại diện cho các thực thể (tùy thuộc vào mối quan hệ miền).
  • Các nút có thể chứa các thuộc tính.
  • Đồ thị đơn giản nhất chỉ có 1 nút duy nhất.

Mối quan hệ (relationship)

  • Một mối quan hệ kết nối hai nút nhưng cũng có trường hợp một nút có thể có quan hệ với chính nó.
  • Các mối quan hệ tổ chức các nút thành các cấu trúc, cho phép biểu đồ giống với cây, danh sách, bản đồ hoặc thực thể hỗn hợp.
  • Mối quan hệ có thể có thuộc tính - property.
  • Mối quan hệ kết nối hai nút được đảm bảo hợp lệ từ nút bắt đầu đến nút kết thúc.
  • Mối quan hệ luôn có hướng, được xác định theo hướng đi vào hoặc đi ra một nút => là yếu tố quan trọng được sử dụng khi duyệt đồ thị.
  • Loại mối quan hệ (relationship type): một mối quan hệ phải có chính xác loại mối quan hệ.

Thuộc tính (property)

  • Các thuộc tính là các cặp khóa - giá trị (key-value).
  • Thuộc tính không chứa giá trị null, nếu một thuộc tính có value = null thì thuộc tính đó coi như không tồn tại.

Nhãn (label)

  • Là tên một cấu trúc đồ thị để nhóm các node vào một tập hợp.
  • Các nhãn có thể thêm, xóa trong thời gian chạy, được sử dụng để đánh dấu trạng thái tạm thời cho các nút. Một nút có thể không có nhãn hoặc nhiều nhãn.

Duyệt đồ thị (traversal)

Là cách truy vấn đồ thị, điều hướng bắt đầu từ một node đến các node liên quan.