Bài trước tôi có nói tới Columnar Database và Graph Database. Mục tiêu là đối chiếu và đi sâu vào Graph Database. Sau đó là xử trí Graph Database với Big Data.

Bạn đang xem: Graph database là gì

*

Graph (đồ thị)

Đồ thị là một trong những tập các đối tượng người tiêu dùng gọi là đỉnh nối với nhau bởi những cạnh. Thông thường, đồ thị được vẽ bên dưới dạng một tập các điểm (đỉnh, nút) nối với nhau bởi những đoạn trực tiếp (cạnh). Phụ thuộc vào ứng dụng mà một số cạnh rất có thể có hướng. (Wikipedia).

Graph Database

Graph Database trình bày và tàng trữ dữ liệu bên dưới dạng vật thị, một bí quyết trực quan tiền và dễ dãi truy vấn.Dĩ nhiên Graph Database cũng sẽ có số đông ưu, khuyết điểm, hồ hết trường hợp buộc phải và không nên sử dụng.

Khi nào thực hiện Graph Database

Quay lại cơ sở dữ liệu quan hệ, họ đã thừa quen với cách màn trình diễn theo từng quan hệ nam nữ truyền thống, nhưng với những câu hỏi cần nhiều quan hệ việc áp dụng Relation Database nhằm lưu trữ chưa phải là một chiến thuật hay vày :

Việc màn trình diễn quan hệ bên dưới dạng bảng không phải là 1 trong những cách có tác dụng trực quan.Các phép kết bảng hay tốn rất nhiều chi phí, tuyệt nhất là cùng với lượng tài liệu phức tạp, lớn hoặc cực lớn.

Graph Database link trực tiếp giữa các thực thể (các đỉnh). Cho nên Graph giúp trả lời rất nhiều câu hỏi liên quan đến truy vấn tài liệu một cách kết quả hơn so với Relation Database, đồng thời tài năng trực quan hoá tài liệu của Graph so với Relation Database cũng giỏi hơn rất nhiều.

*

Giả sử ta bao gồm một cơ sở tài liệu quan hệ lưu trữ thông tin người dùng và các anh em của họ. Rất phức hợp và tốn nhiều ngân sách chi tiêu nếu muốn trả lời các thắc mắc sau:

Ai là bạn của người tiêu dùng Alice.Ai là các bạn chung của Alice và Bob.Giả sử Alice lạ lẫm Bob, vậy bọn họ phải trải qua những ai để có thể làm thân quen với nhau một biện pháp nhanh nhất.

Tuy nhiên Graph Database trả lời câu hỏi trên một phương pháp rất trực tiếp và solo giản!

Neo4j

Neo4j là trong số những Graph Database phổ biển cả nhất hiện nay.

*

Quy ước:

Đỉnh vào Neo4j

được cam kết hiệu là (A)

có thể có không ít thuộc tính bên dưới dạng key:value

có thể gồm một hoặc nhiều nhãn (B: Person) : B bao gồm nhãn là Person

Cạnh vào Neo4j

được ký kết hiệu là --

có thể có rất nhiều thuộc tính bên dưới dạng key:value

có duy nhất một kiểu của cạnh : (a)--(b) biểu đạt a cùng b được liên kết với nhau vị cạnh rel tất cả kiểu là KNOW

có thể được bố trí theo hướng : (a)-->(b)

Cài đặt Neo4j

Download Neo4j phiên bản mới độc nhất tại trang chủ: http://www.neo4j.org

Khởi chạy Neo4j bởi lệnh bin/neo4j start

Truy cập: http://localhost:7474 để sử dụng và truy tìm vấn.

Neo4j trong môi trường xung quanh Big Data

Lưu trữ graph bằng Neo4j thì toàn thể graph nên nằm bên trên một thiết bị duy nhất. Đây là nhược điểm rất to lớn của Neo4j, điều này khiến cho việc lưu trữ một big graph bao gồm rất các đỉnh và cạnh bởi Neo4j là rất khó khăn.

Tuy nhiên vào năm 2010 Google bao gồm publish một bài báo về Pregel một tế bào hình kết quả cho việc xử lý big graph. Kế tiếp hai năm, apache giới thiệu thư viện mã mối cung cấp mở mới thiết lập mô hình Pregel là Apache Giraph bên trên hệ sinh thái Hadoop.

Xem thêm: Các Dạng Bài Tập Tổng Hợp Về Hằng Đẳng Thức Lớp 8, Bài Tập Tự Luyện Về Hằng Đẳng Thức

Đây chính là giải pháp cho việc tàng trữ và xử lý cho các bài toán liên quan đến big graph.