Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

I. Graph database là gì?

a. Định nghĩa
- Là mô hình cơ sở dữ liệu được thiết kế cho dữ liệu có quan hệ được biểu diễn tốt dưới
dạng đồ thị, với số lượng các liên kết, thuộc tính, mối quan hệ chưa được xác định
trước.
b. Thành phần chính
- Node
- Edges
- Properties
c. Phân loại
i. Semantic graph database (RDF tripplestore) :
ii. Labeled property graph models :
d. Trường hợp sử dụng :
- các hệ thống yêu cầu dữ liệu với số lượng lớn các mối quan hệ linh hoạt
- Yêu cầu cấu trúc có thể mở rộng để thêm dữ liệu mới mà không ảnh hưởng đến cấu trúc
dữ liệu ban đầu.
- Yêu cầu truy vấn trực tiếp vào các mối quan hệ in real-time.
e. GraphDB với BigData
- Big Data bao gồm nhiều thành phần dữ liệu khác nhau (structured, unstructered, multi-
structured) -> GraphDB giải quyết cực tốt vấn đề đó.

Instead of just understanding what is the value of specific data, you understand the value of the
relationship between data. 
f. Ưu, khuyết điểm
i. Ưu :
1. So vs SQL (RDBMS truyền thống) :
- Tốc độ truy vấn cao, hiệu quả : Trực tiếp truy vấn tới relationship mà không cần phải
Join phức tạp. (O(1) vs O(logn)). Nhưng lại chậm hơn khi cần truy vấn đơn giản.
- Linh hoạt trong việc thay đổi cấu trúc cơ sở dữ liệu mà không ảnh hưởng quá nhiều đến
performance.
- Độ tùy biến cao với cái loại dữ liệu khác nhau.
2. So vs các NoSQL khác :
- Có mối quan hệ rõ rang giữa các node.
- Có một số DBMS hỗ trợ cho SQL.
ii. Nhược :
- vì cách thức lữu trữ theo chiều ngang (trực tiếp trên thanh ghi) nên sẽ chiếm nhiều dung
lượng hơn (đặc biệt là với các cơ sở dữ liệu lớn, Big Data).
- Mỗi Graph DBMS có API, ngôn ngữ truy vấn riêng, gây khó khăn trong việc chuyển đổi
hệ quản trị.
- Không có nhiều lựa chọn cho data visualization, phụ thuộc vào DBMS.
- Còn mới (non) -> thiếu khả năng tối ưu hóa truy vấn theo 1 cách thích hợp; cộng đồng
chưa thực sự lớn mạnh;
- Phức tạp.
II. Graph DBMS

Neo4j Amazon ArangoDB OrientDB


Neptune

Primary db Graph Graph Graph Graph


model RDF store Document Document
Key-value Key-value
Search Engine

SQL No No No SQL-like

APIs and other Cypher query RDF 1.1/ SPARQL AQL. Tinkerpop
access methods language. 1.1. GraphQL query technology stack
Java API. Tinkerpop language. with Blueprints,
Neo4j-OGM. Gremlin 3.3. Foxx Framework. Gremlin, Pipes.
RESTful HTTP Graph Java API.
API. API(gremlin). RESTful
Spring Data. HTTP API. HTTP/JSON API.
Neo4j Java&SpringData
TinkerPop 3. .
JSON style
queries.

Supported Almost Almost Almost Almost


programming
languages

Server Operating Linux, OS X, Hosted Linux, OS X, All OS with a


system Solaris, Windows Windows Java JDK (>= 6)

Server-side Yes No Java, JS Java, JS


Scripts

Partitioning Neo4j Fabric None Sharding Sharding


methods

License Open source No Open Source Open source

Cloud-based only No Yes No no

III. Graph visualization

You might also like