1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn cơ sở dữ liệu Đồ thị và Ứng dụng

93 2 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Cơ sở dữ liệu đồ thị và ứng dụng
Tác giả Tạ Xuân Thọ
Người hướng dẫn PGS.TS. Cao Tuấn Dũng
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại Luận văn thạc sĩ
Năm xuất bản 2019
Thành phố Hà Nội
Định dạng
Số trang 93
Dung lượng 1,96 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

2, Để xuất nghiên cứu Sau một giai đoạn đài thực hiện nhiều giải pháp tối ưu các chương trình phản trểm nhưng ẫn chưa đạt được cáo kỳ vọng, tôi nhận an Em thêm các hướng di khác, g

Trang 1

BỘ GIÁO DỤC VÀ DÀO TẠO

“TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

TẠ XUÂN THỌ

CƠ SỞ DỮ LIỆU ĐỒ THỊ VÀ ỨNG DỤNG

Chuyên ngành : CÔNG NGHỆ THÔNG TIN

LUẬN VĂN THẠC SĨ KỸ THUẬT

CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC

PGS.TS CAO TUẦN DŨNG

Hả Nội Năm 2019

Trang 2

TỜI CAM ĐOAN

Tôi — Tạ Xuân Thọ — xin cam doar:

« Luận văn tốt nghiệp (LVTN) Thạc sĩ này là công trình nghiên cửu của bản

thân tôi đưới sự hướng dẫn của PGS.TS Cao Tuấn Dũng,

œ- Các kết quả nên bong Luan văn tốt nghiệp là trung thực, không phải là sao chép toàn văn của bắt kỳ công trình nào khác

Hà Nội, ngày 26 tháng 10 năm 2019

Tác giả

Tạ Xuân Thọ

Trang 3

LOTCAM ON

Xuất phát Lừ những khó khăn trong công việc khi tham gia thực hiên các dự án

phan mém quan lý doanh nghiệp, các vưởng mắc gặp phải hang ngày: sự ting

trưởng, dữ liệu, sự linh động của các thuộc tính dữ liệu khiến tôi luôn hướng tới

việc tìm một giải pháp dể khắc phục Trong quá trình học tập theo chương trình Thạc sĩ

thuật tại trưởng Đại học Bách Khoa Hả Nội, tôi đã được tiếp cận với

nhiên kiến thức mới, nhiều hướng giải quyết các vẫn để và nhận thay để tài “Cơ sở

đữ liệu đề thị” như một gợi ý rất phù hợp cho hưởng di tôi dang từa kiểm Nhận

được sự giúp đỡ tận tỉnh của PGS.TS, Cao Tuần Dũng củng sự nỗ lực nghiên cứu của bản thân trong việc tiếp cận, tìm hiểu các tải liệu từ các giáo trình và các bài phân tích, thờ nghiệm trên internet tôi đã thực hiệu luận vấn với để tải “Cơ sở dữ liệu đồ thị và ứng dựng”

Tôi xin chân thành cảm ơn nhà trường dã tạo diễu kiện dễ tôi có cơ hội tiếp cận một lĩnh vực rất hữu ích, có khả năng cao trong việc ứng đụng vảo công việc

Đặc biệt, lôi xin cảm ơn PGS.TS Cuo Tuấn Dũng đã gợi mỗ và hướng dẫn lôi

phương hướng nghiên cửu cũng như hỗ trợ, giúp dỡ tỏi khắc phục các khỏ khăn trong quá trình thực hiên dé tai có thể hoàn thành luận văn nảy

11à Nội, ngày 26 tháng 10 năm 2019

Tae gia LVThS

Tạ Xuân Tho

Trang 4

2.2 Bai toán Quản lý cung cấp dịch vụ à ni 40

2.2.2 Mô hình quản lý s nneneeireeeeiireiosoeo S7

Trang 5

1.2.3 Mục tiêu giải quyết SHtererrrrrrererer.2 2.3 Giải pháp triển khai trên Cơ sở dữ liệu quan hệ 43 3.3.1 Sơ đề thực thể liên kết

2.3.2 Uu nhược điểm và phương án khắc phục

3.1.2 Chuyển đổi cơ sở đữ liệu quan hệ - đỗ thị 55

3.1.3 Chương trình đemao - 60

3.2 So sánh kết quả thie thi cAu mB o.oo ce esssssesssssseeseseeessnnneeee FD

2 Hướng phát triểu ò2 eirereerereeiosor ĐO

Trang 6

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIET TAT

1 |ACID Atomicity, Consistency, Isolation, Durability

2 lgagg Basically Available, Soft-state, iventually

consistent

4 Strong Consistsney, High Availability, Parlilion

6 |CSDLĐT Cơ sở đữ liệu dỗ thị

7 | CSDLQU Cot sé dit liga quan hé

10 | ERP Enterprise Resource Planning

13 ISON Javascript Option Notation

15 | NoSQT Not only SQT

17 |QLCCDV Quản lý cùng cấp địch vụ

18 [SQT, Structured Query Tanguage

19 | SQL Structured Query Language

20 |TILK 'Thực thể liên kết

21L |VNPT ‘Tap đoàn Bưu chỉnh Viễn thông Viet Nam

22 | XML Extensible Markup Language

Trang 7

DANH MUC CAC BANG

1 — HángLI Ky tr dic biết 32

2 Háng31, - Node Loại khách hàng 59

4 — Háng343 Node Linh thie thanh toin 60

5 — Bảng37 kíchthướcdữliện thục nghiệm 71

T0 — Bảng39 — Kết quả truy vận nhiều bằng 75

Tl Bang 3.10 Kết quả truy vận cổ định dữ Hệu 7

13 — Bảng3II Kết quả tỉnh toán đữ hệu lớn 79

13 Bang 3.12 Kếtguảtinhtoán đữliệugiớihạn 81

14 Bang 3.13 Két qua truy van cau Ién con 83

15 Bang 3.14 Két qua truy van hop dit ligu 85

Trang 8

1 Linh 1.1 Khá năng mở rộng của No8QL so với CBDL 15

quan hệ truyền thống

18 |Himh2l Môhimhtếng thế các phân hệ quân lý 39

19 |Himh22 Môhinh bài toán Quan ly cung cap dich vu 40

20 |Hinh2.3 Sadi TTLR Khach bring — Thanh toan 4I

24 |Hinh2.7 Giải pháp chuyén CSDL OH sang CSDL BT 49

Trang 9

Hìmh 3.2 Noức Khách hàng — Loại khách hàng

Hinh 3.7 Import di Héu tit file csv

llinh 3.8 Sơ đỏ phân cấp chúc năng ứng dung demo linh 3.9 §ø đồ CSDL Quán lý Cung cấp địch vụ

lnh3.10 QuanhệKháehhảng Loại khách hàng

Ilinh 3.11 QuanhệKháehhảng ‘Thanh toan

Ilinh 3.12 Quanhé Thanhto4n Thuêbao Dich vu

Hình313 CSDLKháchhảng- Loại khách hàng

Hình 3.14 CSDL Khách hàng — Thanh toán T— Thuê ban

Hình3.15 Giao điện quản lý khách hàng

Hình 3.16 Giao điện quản lý nhãn

Hìmh 3.17 Giao điện quản lý thuộc tính Hình 3.18 Giao điện bảo cáo cÌn tiết thuê bao Hình 3.19 Giao điện bảo cáo tông hợp thuê bao

Hinh 3.20 Mô hình CSDIL đánh giá thực nghiệm

Hinh 3.21 Insert đữ liệu trên Oracle Hinh 3.22 Insert dữ liệu trên Neo4j Hinh 3.23 Biểu do thời gian msert dữ liệu

Hinh 3.24 Biểu dỏ thời gian truy vẫn nhiều bảng, Ilinh 3.25 Biểu đồ thời gian truy vấn có định dữ liện Ilinh 3.26 Biểu đồ thời gian tính toán đữ liệu lớn

Ilinh 3.27 Biểu đồ thời gian tính toán đữ liệu giới hạn Tlinh 3.28 Biểu đồ thời gian truy vẫn câu lệnh con T1nh 3.29 Biểu đồ thời gian truy van hop dữ liệu

Trang 10

MG PAU

1 Đặt vẫn dé

Cũng với sự phát Iriển của ngành công nghệ thông tín, việc ứng dụng lin học vào quần lý các doanh nghiệp đã hình thành từ rất sớm Khởi dẳu, khi các công cụ phát triển, các ngôn ngữ lập trình cón khó sử dụng và hệ thông phần cứng chua tiễn tiến, cáo ứng đựng quản lý được phát triền độc lập, đơn lẻ Việc tái sử dụng hay kết nổi tứng dụng hoặc dữ liệu trong một thời gian dai la van dé dau dâu của rất nhiều các công ty khi phải tiêu tốn một lượng lớn nhân lực, thời gian va tải chính để thực hiện Cac giai phap ERP (Enterprise Resource Plamning) ra đời, phát triển và ngày cảng hoàn thiện, siúp việc quán trị doanh nghiệp ngảy một tốt hơn, cung cấp nhiều

thông tin hơn, hé tro xuyên suốt quá trình vận hành quản lý cũng như khai thác

thông tín, giúp doanh nghiệp nhanh chồng và kịp thời thực thủ các quyết định cũng,

như có cơ sở cho các dự báo phát triển

Triển khai cả một giải pháp ERP là vấn dễ không đơn giản, bởi cả mội hệ thông các phần mềm plưú khắp các hoạt động quản ly của một doanh nghiệp, nhất là các công ty hay tổng công ly lớn rất phức lạp Mỗi phần muềm trong đó đều là một bài toán phức tạp, cần tối ưu và tốn kém Để có một hệ thông ERP tớt, nhất thiết cần xuất phát từ việc hoản thiện các phân hệ quản lý sau đó tối ưu sự trao đối liên thông thông tỉn giữa các phân hệ Với phương, pháp tiếp cận thành phần, sẽ giúp cho việc phát triển để dàng hơn và di sâu hơn vào từng vẫn dễ cân xử lý cũng như tối ưu chỉ phí cần thiết cho lĩnh vực thực tế cần đầu tư

Xuất phát từ việc xây dựng và triển khai hệ thống 1⁄P cho tập đoàn VNPT, tôi nhận thây có rất nhiều van đẻ cần đầu tư nghiên cứu, cải tiến do chính các phát sinh

trong quá trình thực hiện Việc vướng mắo khi triển khai thực lễ và trong quá trình

phát triển đáp ứng nhu cầu quan ly ngảy càng phức tạp xuất hiện ở hau hết các phân Tiệ: từ Quản lý nhân sự, Kế toán, Quản lý đầu tư cho đến Quân lý khách hàng, Quân

lý cung cấp dịch vụ Là một doanh nghiệp cung cấp rất da dạng các dịch vụ viễn

Trang 11

thông và cả công nghệ thông tin, việc quân lý các địch vụ cung cấp cho khách hàng,

là một trong những trọng tâm của tập đoàn:

Phuc vu cho như cầu quản lý dữ liệu thông thường,

Phục vụ cho các báo cáo thống kê từ đỏ đánh giá chỉ tiêu, hoạch định chỉnh sách

"Phục vụ cho quá trình điều hanh cưng cấp dịch vụ đến khách hang

Phuc vụ cho các yêu cầu chăm sóc khách hàng, nâng cao chât lượng phục vụ

Điểm qua một vài vai trò của phân hệ Quan lý cung cấp địch vụ đã có thẻ thay

phân hé mang tinh chất quan trọng, năm giữ nhiều thông tím cân thiết cho sự phát triển của doanh nghiệp Cũng xuất phát từ lý do đó, phân hệ dược dâu tư rất nhiều ngay từ khi bat đầu xây dựng: triển khai trên co sé dit liéu quan hệ với các img dụng được lôi ưu quả trình xử lý, trang bí hệ thông quân ti CSDL manh mé (Orale)

và hệ thống, phần cứng tiên tiến Tuy nhiên, trong những năm gần đây, khi lượng, khách hàng bừng nổ cùng sự da dang của địch vụ, mô hình đang triển khai đã gặn phải một số vận dễ:

Việc khai thác thông tin trên cơ sở tong hợp đữ liệu chậm dan di theo khdi lượng đử liệu ngảy một tăng cao (khách hàng tăng, dịch vụ phát triển ngảy

một đa dạng )

Sự đa dạng dich vu dan đến thường xuyên phải chỉnh sửa kiến trúc cơ sở dữ

liệu cho việc quản lý các trưởng thông tin ruở rộng (các dịch vụ khác nhau thông tin quản lý, cáo bài toán số hóa đữ liệu hoặc thu thập đữ liệu không

biết trước các thuộc lính )

Thường xuyên phải tăng cường phần cửng cho lưu trữ hoặc xứ lý để dap ứng, được tốc độ yêu cầu (tăng cường máy chủ, bộ nhở, ổ cứng )

‘Tw cae vẫn đề vướng mắc, đặt ra câu hỏi cẩn tim hiểu vá nghiên cứu giải phản

Trang 12

2, Để xuất nghiên cứu

Sau một giai đoạn đài thực hiện nhiều giải pháp tối ưu các chương trình phản

trểm nhưng

ẫn chưa đạt được cáo kỳ vọng, tôi nhận an Em thêm các hướng

di khác, giải pháp khác để nâng cao hiệu năng hệ thông, Trong qua trình tìm hiểu vẻ

mô hình đữ liệu, tôi nhận thấy cơ sở đữ liệu đỏ thị có rất nhiều điểm đáng chú ý mả

có thể sẽ giúp lỗi đại được mục tiêu nghiên cửu:

Biéu điễn tốt môi quan hệ giữa các đổi tượng cần quản lý trên mô hình đả thị, một mô hình trực quan để tiếp cận, từ đó có thể sẽ cho phương hướng chuyển đổi bài toán từ mô hình quan hệ sang đỏ thị

Truy vân dữ liệu theo quan hệ đã được xử lý đo đó chỉ một phân đồ thị bị tác dộng chứ không phải toàn bộ quy mô dễ thủ, có khả nắng không tăng thời gian truy vẫn khi kích thước dữ liệu tăng

Dé dàng bổ sung thêm các thuộc tính các nút, các muỗi quan hệ

Với các lý do trên, tôi dé xuất nghiên cửu việc triển khai một phan bai toan Quản lý cung cấp dịch vụ tại VNPT trên mô hình cơ sở dữ liệu để thị, Phương án thực hiện:

Nghiên cửu lý thuyết về cơ sở dữ liệu dỏ thị, thử nghệm trên CSDL Neø4j Phân tích phần cốt lõi của bài toán trên cả hai mô hình: quan hệ - đỏ thị và so xảnh các ưu nhược điểm

Đánh giả cáo khó khăn khi triển khai

Thực hiện chương trinh demo phan giải pháp đề đánh giá kết quả: một số câu

truy vấn tông hợp dữ liệu, khả năng mở rộng thuộc tính; phương án chuyển đổi từ cơ sở đữ liệu có sẵn sang đỗ thị

Có rất nhiều vẫn đẻ cân giải quyết, tuy nhiên trong khuôn khổ luận văn sẽ không,

đủ thời gian và nguồn lục dễ thực hiện tất cả Việc nghiên cứu này mang mục đích

đánh giá giải pháp, làm cổ sở cho việc quyết định có mở rộng và đi xa hơn nữa cho

việc triển khai với các phân hệ còn lai hay không Kết quả của việc nghiên cửu sẽ

Trang 13

giúp doanh nghiệp có thêm góc nhìn khác trong việc định hướng các bài toán phủ hợp

3 Bố cục luận văn

Luan van chia lam 5 phan chink:

Aỡ đầu: đặt vẫn đề cha việc nghiên cứu, dựa trên các phân tích nêu để xuất vả

giới hạn phạm vì bài loán cũng như các kết quả mục LIÊU

Chương 1: trình bày các nghiên cứu vẻ cơ sở đữ liêu đồ thị Neo4j và ngôn ngữ truy vấn Cypher Các nghiên cửu của phần này làm cơ sở lý thuyết cho giải pháp đề xuất và xây dựng chương trình thứ nghiệm

Chương 2: phát biểu bài toán, trình bảy giái pháp trên các mô hình cơ sở đữ liệu

quan hệ và để thị Dựa trên cáo mô hình, đánh giá các ưa nhược điểm cũng như các

thuận lợi, khó khăn khi thực hiện uất các phớp do kiểm cho phản thử nghiệm Chương 3: trình bay ngắn gọn thiết kế chương trình đemo với mục đích thực

tiện được các mục tiêu đã niêu ra từ giải pháp Từ kết quả các phép đo, dink gia va

đề xuất hướng phát triển

Kết luận: kết luận lại toàn bộ nghiên cửu về kết quả thực hiện, hướng phát triển, khả nẵng triển khai thực tế

Trang 14

CHƯƠNG 1: CƠ SỐ DỮ LIEU DO THT

Phần đâu chương nảy trình bày các tìm hiểu vá nghiên cửu về mặt lý thuyết của

cơ số đữ liệu đồ thị, đi sâu vào cơ sở dữ liệu Neo4i Việc tìm hiểu mày là cơ để xây dựng mô hình dỗ thị đữ liệu cho giải pháp nghiên cửu Phản tiếp theo, chương nảy cũng trình bày một số cú pháp quan trọng của ngôn ngit Cypher, ngôn ngữ được sử dụng để truy vẫn cơ sở đữ liệu đô thú, làm công cụ cho việc lập trình kiểm thử kết quá cũng như đành giá các phép đo kiểm so sánh

1.1 Cơ sử dữ Bệư NoSQ[L,

Về mặt thực tế, cơ sở đữ liệu đỗ thị thuộc vẻ loại cơ sở đữ liệu NeSQL, do đó để tiếp cân đây đủ chứng ta sẽ tìm hiểu sơ lược về NoSQI, trong phản nay

1.11 NoSQL là gì

Được giới thiệu làn đầu vào năm 1998, NoSQL là tên got chung cho các cơ sở

dữ liệu mã nguồn mớ nhỏ nhưng khéng sit dang SQL (Structured Query Language - ngôn ngữ truy vần có cấu trúc) cho truy vẫn Thuật ngữ NoSQL đánh dân bước phat

triển của thế hệ cơ sở dữ liệu mới phân tán (đistrrbated) và không ràng buộc (mon-

relational) Các cơ sở dữ liệu nảy cung cắp các cơ chế lưu trữ vả truy xuất dữ liệu sử

dụng mô hình nhật quản lỏng lêo hem các hệ quản trị cư sở đữ liệu quan hệ truyền

thống, Điều này có nghĩa là dữ liệu sẽ không dược xây dựng trên cdc bang (table),

không có các quan hệ khóa chỉnh (primary key) - khóa ngoại (foreign key) va

khang sir dung SQL lâm ngôn ngữ truy vẫn đữ liệu Thiết kế lưu trữ phân tán được đành cho các hệ thông cần khả năng mở rông lưu trữ lớn, tĩnh sẵn sảng (availabihty)

va higu nang (performance) cao [4][7]

‘Tv NoSQL thưởng dược hiểu và chấp nhận rộng rãi là Not only SQL (không chỉ

có SQL) thế hiện sự thửa nhận rắng mục đích của NoSQL không phải để loại bỏ hay thay thé SQL, bay đúng hơn, nó sinh ra là để bù đấp cho những bạn chế vẻ mặt

*kỹ thuật của cơ sở dữ liệu quan hệ truyền thống [9] Sự ra đời của các cơ sở dữ liệu NoSQL đã tạo nên một cuộc cách mạng về công nghệ lưu trữ trong thời đại của

Web 2.0, nơi mà như cầu vẻ tỉnh sẵn sảng và hiệu năng cao rất dược xera trọng Bên

Trang 15

cạnh đỏ, các mang dịch vụ cộng đông phát triển mạnh mẽ cho phép người dùng tao

ra hang ty néi dung trên web Do đó, dữ liệu lớn rất nhanh vượt qua cả những giới

hạn về phần cứng và cần giải quyết bằng bài toán phân tản [7]

Scalability of NoS@L Database

vs Traditionat Relational Database

ngày nay rất phô biên, chủng là các ứng dụng thương mại điện tử hoặc mang

xã hội Khi lượng người dùng đỏng thời tăng cao kết hợp với thỏi quen sử

dụng phong phú tạo nên nhiều mô hình dữ liệu khác nhau dẫn đền sự cân

thiết của các công nghệ cơ sở dữ liệu cỏ khả năng mở rộng đề dàng Với cơ

sở dữ liệu quan hệ truyền thông, các nhả phát triển mg dụng đã gặp rất nhiêu

khỏ khăn hoặc thậm chi lả không thể trong việc tạo ra các ứng dụng có kha năng mở rộng linh động trong khi vẫn duy trì được hiệu năng tốt như những

gì người đùng mong đợi, và NoSQL hiện đang được sử dụng như một giải

pháp tốt nhất

- Van vat két néi (The Internet of Things): s6 luong các thiết bị có thể kết nội

internet đồng thời có khả năng tạo ra dữ liệu đang ngày một gia tăng và trở

nên phỏ biến Tuy nhiên, dữ liêu từ xa thường thi nhỏ, bán cau tric (semi-

structured), hoặc không có cấu trúc (unstructured) vả được cập nhật liên tục

16

Trang 16

Điều này mang đến nhiều thách thức cho các cơ sở dữ liệu quan hệ truyền thông vên đôi hỏi một lược đỗ có định (fixed shema) vá dữ liệu có cầu trúc (struetured dala) Để giải quyết thách thức này, các đoanh nghiệp có xu hưởng dỗi mới dang tiì tưởng vào công nghệ NoBQl dễ mỡ rộng việc truy cập đồng thời cho hàng triệu thiết bị kết nói, lưu trữ hàng tỷ điểm dữ liệu đẳng thời dap ứng các yêu cầu về hiệu răng cửa cơ sở lạ tầng và các hoạt động chốt

- Dit ligu lon (Big Data): Dũ liệu đang ngày một trả nên để dàng năm bắt,

thong tin cả nhân của người dùng, dữ liệu định vị địa lý, những nội đụng đo

người đừng tạo là một vải vị dụ về các máng dữ liệu không ngừng được mỏi

rộng đã tạo nên một nguên đữ liệu vô cùng phong phú Việc lưu trữ và sử dụng cáo loại đữ liệu kháo nhau tạo ra nhụ câu về loại cơ sở dữ liệu cũng rất

riêng Tuy nhiên, các nhà phát triển muốn có một cơ sở đữ liệu thật linh hoạt

để dàng chứa bắt kỳ kiểu đữ liệu mới nào mà họ muốn sử đựng và không bị gián đoạn bởi những thay đổi cầu trúc của nội dung đữ liêu từ nhà cùng cập

dữ liệu thử ba Rất nhiều những dữ liệu mới lả các dữ liệu không, câu trúc

hoặc bán cấu trúc, do đó, các nhà phát triển cũng cần có một co sở dữ liệu có khả năng lưu trữ hiệu quả Việc dinh nghĩa một cách cứng nhắc, phương

pháp tiếp cận dựa trên lược đô (schema) được sử dụng trong cáo cơ sở dữ liệu quan hệ truyền thông làm cho nó không thể nhanh chóng kết hợp với các loại đữ liệu mới dược, và kết quả lá không phú hợp với dữ liệu không cấu

trúc và bán cầu trúc

'Từ một số lý do trên, có thể thấy xu hướng sử dụng NoSQL để hoặc thay thể, hoặo bố sung cho co sở đữ liệu quan hệ truyền thẻng đang diễn ra nhu một xu hướng lất yếu Về mặt thực lễ, các áp dụng đã mang lại hiệu quả thực Lễ khi ngày

cảng nhiều các daonh nghiệp hoặc các bài toán phủ hợp được sử dụng trên NoSQL.

Trang 17

1.1.3 Các tỉnh chất

Dé dam bao tinh toan vẹn (integrity) của dữ liệu, hầu hết các hệ quần trị cơ sở

đữ liệu truyền thong déu dua in ede giao dich (transaction), hiểu nay dam bao tính

nhất quản (consistency) trong tắt cả các trường hợp quản lý dữ liệu Những đặc tính

về giao địch nảy được biết đến chính là ACID [2]:

Alomieity (tỉnh nguyên tổ): một giao dich có rhiểu hoạt động thì hoặc là

toàn bộ hoạt động được thực hiện thành công hoặc không hoạt động nào được thực hiện

Cơnsistency (tính nhất quán): một giáo địch hoặc là sẽ tạo ra trang thai moi

và hợp lệ cho đử liệu, hoặc trong trường hợp có lỗi sẽ chuyển toàn bộ dữ liệu

về trạng thái trước khi thực hiện giao địch

Tsolalion (tính cô lập): một giao địch đang được thực thủ phổi dim bỗo được tách biệt bởi giao địch khác

Durability (tính bên vững): đữ liệu được xác nhận sẽ được hệ thống lưu lại sao cho ngay cả trong trưởng hợp hông móc hoặc có lỗi hệ thống, đữ hiệu vẫn

phải được đảm bảo trong tỉnh trạng chuẩn xác

Tuy nhign, vide mé réng theo chigu ngang (scale out) của các hệ thông tuân thả

theo ACID dã thể hiện một số vẫn dé Những xung đột dang phát sinh giữa các khia cạnh khac nhau của tính sẵn sảng cao trong các hệ thống phân tân rnả không thể giải quyết hoàn Loàn được, điều này được biết với định lý CAP [4]]7]

- Strong Consistency (tinh nhat quản mạnh rnế): nghĩa là cách mà hệ thông ở trong một trạng thái thông nhất sau khi thực hiện một thao tác Một hệ thống phan tán thường được coi là nhất quán nếu sau khi cập nhật hoạt động của một vải thao tác ghi thì tắt cá các thao tác đọc dữ liệu sẽ thấy được dữ liệu đã

hiện thực sao cho khi có vấn đề xây ra với một nút trong một cụm chẳng hạn

như bị hư hỏng hay được tạm ngưng để nâng cập thì các theo tác doc ghi dir

liệu vẫn cho phép tiếp tuc thực hiện

Trang 18

- Partition Tolerance: ughia la hé théng cia mét cum bat ky van hoạt đóng, bình thường ngay cả khi đường truyền giữa bai node bị ngắt và không liên

-_ Soft-state: trạng thái của hệ thống có thể thay đổi theo thời gian dù có đầu

vào hay không

- Lventually consistent: hé théng sẽ trở nên nhất quán theo thời gian dù hệ

thống có nhận đầu vảo trong thời gian đó hay không,

“Tập di liệu nhi

1.1.4, Phan loai NoSQL

Cơ sỡ dữ liệu NoSQL dude chia làm bên loại chỉnh:

1.1.4.1 Key — value

Đây là kiểu lưu trữ dơn giản nhất trong eac loai co sé dit ligu Thong thuong, các hệ quản trị cơ sở dữ liệu Key-value lưu trữ dữ liệu dưới dạng key (là một chuối duy nhất) liên kết với value có thể ở đạng chuỗi văn bản đơn giãn hoặc các tập, danh sách dữ liệu phức tạp hơn Quả trình tìm kiếm dữ liệu thưởng sẽ dược

thực hiện thông qua key, điều này dẫn đến sự hạn chế về độ chính xác và việc triển khai thực tế của các cơ sở đứ liệu Key-value thường rất phức tạp khi dữ liệu

đa dạng thông tin do câu trúc lưu trữ quả đơn giản Dễ thấy rằng ý tướng là đơn

Trang 19

giản hỏa việc lưu trữ dữ liêu, nghĩa là không can quan tâm đến nội dung cần lưu

trữ là gì hay nói cách khác, chúng lưu trữ thông tia mà không cân phải xác định

lược đồ, điêu nảy làm cho phương pháp lưu trữ dữ liệu với Key-value trở nên đơn giản hơn rất nhiều trong việc xây dựng cũng như khả năng mở rộng là cực

kỳ linh động và hiệu suất cho các thao tác truy vẫn dữ liệu cũng cực nhanh

I3H41

Với sự đơn giản của cách lưu trữ dạng Key — value làm cho các cơ sở đữ liệu

loại này rất phủ hợp với các ứng dụng cản truy xuất nhanh và khả năng mở rộng cao, chẳng hạn như lả các quản lý các phiên giao địch hoặc quản lý các thông tin

về giỏ hàng hay việc quản lý thông tin của sản phẩm bao gồm những thông tin cơ bản, các sản phẩm liên quan, đánh giá, sẽ được lưu trữ dưới dạng key là mã

sản phẩm chẳng hạn và value lả các thông tin cỏn lại của sản phẩm cân lưu trữ

Điều nảy, cho phép ta truy xuất được tất cả các thông tin về một sản phẩm chỉ

thông qua mã sản phẩm cực kỷ nhanh

Co sở đữ liêu Document được thiết kế đề quân lý và lưu trữ dữ liệu ở dạng,

document Những document này được mã hóa vẻ các dạng chuẩn nhu la XML,

JSON (Javascript Option Notation) hay BSON (Binary JSON) Khác với các kiểu lưu trữ đạng Key-value, giá trị của cột trong các cơ sở dữ liêu document chứa dữ liêu bản cấu trúc (Semi-Structured Data), đặc biệt là cặp thuộc tinh name (key) —

value Một cột có thể chứa hàng trăm các thuộc tỉnh như vậy đông thời số lượng,

loại thuộc tính được lưu lại có thể khác nhau giữa các dòng, Một điểm khác nữa

Trang 20

so với các kiêu lưu trữ dữ liệu dạng Key-value đơn giản lả cả key vả value deu co thể tìm kiếm trong cơ sở dữ liêu Document [3],[4]

Hình 1.4 Cơ sở dit ligu Document [3]

Cơ sở đữ liệu Document phủ hợp cho việc lưu trữ và quản lý tập đữ liêu có

kích thước lớn như là tải liều văn bản, tin nhắn, cũng như bieu dién một thực thẻ Các cơ sở dữ liệu document tiêu biểu: CouchDB (SON), MongoDB (BSON), déu la ma nguén mé (open source), huéng document (ducument

oriented) và có lược đỏ tự do (shema free)

1.1.4.3 Column family

Nhin bề ngoài, Column family kha giống với cơ sở đữ liệu quan hệ nhưng,

thực tế là hoản toàn khác Một số sự khác biệt đề thấy nhất là việc lưu trữ dữ liệu theo dòng đối với các hệ quản trị cơ sở dữ liệu quan hệ là việc lưu trư dữ liệu theo cột của Conlunn Family Các tư tưởng của cả hai loại cơ sở dữ liệu này

cũng hoản toàn khác nhau, chủng ta không thẻ áp dụng củng một giải pháp mả

chủng ta đã sử dụng trong cơ sở dữ liệu quan hệ vào cơ sở dữ liệu Conlumn family bởi vì Column family là các cơ sở dữ liệu phi quan hệ

column family “shape”

Trang 21

Column family được thiết kế đẻ chạy trên một số lượng lớn cac may va lưu

trữ một lượng dữ liệu cực lớn Chủng ta không thể lưu trữ một lượng lớn dữ liệu

trong cơ sở đữ liệu quan hệ vì chắc chắn chúng sẽ nhanh chóng bị sụp đỏ hoặc là chết rất nhanh về kích thước của dữ liêu và những truy vẫn đỏ được các cơ sở dữ

liệu Column family xử lý một cách dễ dàng, Các cơ sở dữ liệu Column family loại bỏ các khái niệm trừu tượng, những thứ làm cho nó cứng nhắc khi chạy trên một cụm máy [3]4]{7]

1.1.4.4 Graph Database

Co sở đữ liệu đồ thị là một cơ sở dữ liệu dạng đồ thị sử dụng các câu trúc đồ

thị với các nút (nodes), các môi quan hệ (relationships), các thuộc tính

(properties) để mô tả và lưu trữ dữ liệu [2][3]{4] Chúng ta có thể thực hiện

những truy vẫn phức tạp hơn như lọc trên các thuộc tinh quan hé, xem xét trọng

số CSDLĐT thường được sử dụng để giải quyết các vẫn đề về mạng và trong

thực tế, hâu hết các trang web mạng xã hội đều sử dụng một số hình thức của CSDLDT dé quản lý các quan hệ như: kết bạn, bạn của bạn,

Hình 1.6 Cơ sở dữ liệu Graph Database [2]

Một vẫn đề đối với việc mở rộng CSDLĐT là rất khỏ để tìm thấy một đồ thị con độc lập, cỏ nghĩa là rất khó đẻ ta phân tản CSDLĐT thành nhiều mảnh Co

rất nhiều nỗ lực nghiên cứu cho việc này nhưng chưa có bắt kỳ giải pháp nảo

dang tin cay được đưa ra Một số sản phẩm tiêu biểu của CSDLĐT 1a: Neodl,

Sones, AllegroGraph,

22

Trang 22

Diễm lại một số khái niệm cơ bản [5]:

- Đơn đồ thị vô hướng: đơn dé thi v6 huéng G (V,E) bao gồm V là lập các

đỉnh, và E là tập cáo cặp không có thứ tự gồm hai phan tử kháo nhau của V

gọi là các cạnh Hai cạnh e1 và e2 dược gọi là cạnh lặp nếu chúng củng bương ứng với một cặp đính

Maty

Hình 1.8 Đa đồ thí vô hướng,

- Don dé thị có hướng: dou dé thi có hướng G — (V, E) bao gồm V là tập các đính khác rổng và l¿ là tập các cặp có thử tự gồm hai phân tử khác nhau của

V gọi là các cung.

Trang 23

có năng thao tác xử lý để chứng trở nén hữu ích hơn và có thế đạt được một

mục dích cụ thể

Mô hình hóa đữ liệu bằng đổ thị cũng tương tự, chúng ta sử đụng các hình

khối và các mũi lên để đưa đữ liệu vào và thể hiện mỗi quan hệ giữa chúng Các

thành phản trong mô hình hóa đỗ thị không chỉ giao tiếp với nhau theo những gi

Trang 24

chúng ta thấy trong mỗi liên hệ giữa chúng mà chúng còn cho ta nhiều hơn thé,

có thể trả lời những cầu hỏi mà chúng ta muốn trong phạm vị của vẫn đề, có thể

giúp giảm sử sai lệch giữa phân tích vả thực thì |2}|6]

1.2.2.2 Mé hinh dé thi thuộc tính

Mỗi thực thể đều có những, dặc diễm riêng, có thể dựa hoàn toàn các đặc diém

đỏ thành các nút, nhưng như vậy sẽ rất phức tạp, nhất là khi số lượng thực thể táng lên và các nút đỏ lại chỉ nải với một thực thẻ Với cách mê hình hóa như

trên s gây lăng phi số nút, không gian In: trữ và làm phúc tạp để thị ruột cách

không cần thiết Dễ giải quyết vẫn để này ta sử đụng mô hình đề thị thuộc tính và

chúng có các đặc điểm sau [6]

- Dé thi báo gồm các nút và các môi quan hệ

~_ Các mút có các thuộc tính được thể hiện theo cặp ksy-value

~ Các mối quan hệ được đặt Lên và đặt trực tiếp vào để thị, luôn có rút đầu

vả nút cuối

-_ Các mỗi quan hệ cũng có thể có các thuộc tính

Hình 1.11 Mô hình dỏ thị thuộc tính [6]

Cáo để thị thuộc tính thường rất đơn giản, trực quan và dễ hiểu Tuy nhiên,

đủ đơn giản, nhưng nó có thế được sử đụng để mô tả đa số các trường hợp sử

dụng, mang lại cho chúng ta cách nhìn nhận sâu sắc hơn về đữ hiệu.

Trang 25

1.2.2.3 XIâ hình hỏa dữ liệu

Thiết kế một cơ sở dữ liệu để thị cũng tương tụ như khi ta thiết kế cơ sở đữ liêu đồ thị quan hệ và mô bình đồ thị thuộc Lĩnh với sơ để thực thể kết hợp cũng khá giống nhau Đổi với cơ sở dữ liệu quan hệ ta cần có các thực thể cụ thẻ tương ứng các nút trong cơ sở đữ liệu đồ thị và cả hai đều cân các mỗi quan hệ giữa chúng, Điểm khác biệt lớn nhất là khi hiện thực, các thục thể của cơ sở dữ liệu quan hệ sẽ là một bắng chữa tập các bản phủ (thực thể cự thể), các mỗi quan

hệ có thể thành thực thế kết hợp Dếi với cơ sở dữ liện đồ thị, việc thiết kế với

tiện thục gần như là giống nhau, hay nói cách khác, với cơ sở đữ liệu đỏ tú, thiết kế như thế nào sẽ được hiện thực đúng nhu vay [2116]

thiết kế một cơ sở dữ liệu đồ thị, ta cần chú ý [2]J6][7]:

Sử dụng các câu hỏi đối với đữ liệu để xác định các thực thể cũng như các môi quan hệ

Sử dụng các nút đề đại điện cho các thực thể

Sử dụng các mỗi quan hệ đẻ thể hiện sự kế nói giữa các thực thể và dé thiết lập các bối cảnh ngữ nghĩa cho môi thực thể

Sử dụng các thuộc tính nút để đại điện cho các tính chất cửa thực thể

Sử dụng các thuốc tỉnh của các mối quan hệ dễ thẻ hiện tỉnh quan trong, chất lượng của một mỗi quan hệ

Mô hình hóa sự kiện như là các nút trong tường hợp lại hoặc nhiều thực

thể khác nhau tương tác trong củng một khoảng thời gian thì một sự kiện xuất hiện Chúng ta có thể biểu diễn những sự kiện này bằng các node riêng, và kết nối với các thực thế tham gia sự kiện đó

Cac kiểu giá trị phức tạp đại diện là các nút Kiểu dữ liệu phức tạp lả

những kiếu dữ liệu có hơn một trường hoặc thuộc tỉnh Ví dụ như địa chỉ,

Trang 26

Việc xác dịnh dâu là nút, đâu là môi quan hệ rất quan trọng Đã lá nút, thi

nó sẽ phải có quan hệ với nhiều nút khác và nếu đã là mới quan hệ thi nó phai 66 nil dau, mot cud

1.2.3 Tệ quần trị cơ sở dữ liệu No4j

Neo4j la một hệ quân trị cơ sở đữ liệu dỗ thị mã nguồn mở dược viết bằng ngôn ngữ Java sử dụng Cypher lam ngôn ngữ truy vấn đữ liệu Neo4j hiện đang là hệ

quản trị cơ sở đữ liệu để thị phổ biến nhất trang tắt cả các hệ quản trị cơ sở đữ liêu

đỗ thị đang có Neo4j hỗ trợ và thực hiện đây đủ các yêu cầu về mỗi lý thuyế cơ sở

đữ liệu để thị Dễ hiển rä hơn và khai thác hiệu quả hơn Neo4j, chúng ta cần tìm Tiểu một số vấn đề

1.2.3.1 Tính năng nổi bật

Về mặt ứng dụng, Neo4j có ruột số tính năng nổi bài dược giới thiệu dễ

chúng ta cân nhắc khi áp dụng vào thực tế:

Dé dimg và áp dung cho các API hướng đổi tượng,

Tối ưu hóa cho dữ liệu có tính kết nối cao

Cụ thể hóa các mỗi quan hệ tại thời điểm tạo, kết quá là không có cho

truy vẫn thời gian phức tạp

Tất cả quan hệ trong Neo4j déu quan trọng và nhanh chóng, khiển nó cỏ

thê trở thành thực thẻ

Lưu trữ nhỏ gọn và bộ nhớ đèm cho các đồ thị, vi vậy có thể khả nang

xnở rộng lưu trữ hàng lf nút trong một cơ sở đữ liệu trên một hệ thống

phân cứng vừa phải

Viết trên cdc JVM (Java virtual machine)

Trang 27

các thực thể, phụ thuộc vào miễn của các mỗi quan hệ mả có thể dược sử dụng,

cho nhiêu mục địch khác nhau [6]

ance

“re &)

Bae

Hình 1.12 Nodes —Neo4j

1.2.3.3 Méi quan hé (Relationships):

Mỗi quan hệ giữa các nút là thành phan quan trọng của cơ sở đữ Hệu đồ thị, chủng cho phép tìm kiếm cáo đữ liệu có liên quan với nhau Cũng giống như rút, mỗi quan hệ cũng có thế có thuộc tính Một mỗi quan hệ kết nỗi hai mút với nhau, gồm núi bắt đầu và nút kết thúc, Miỗi mỗi quan hệ có loại quan lệ

(relationship type), mỗi loại quan hệ nảy được xác định bởi một định danh duy

nhái, Một mỗi quan hệ có thể có hoặc không các thuộc tính [6]

Trang 28

ta hệ đầu vài luan bệ đầu

Hình 1.14 Quan hệ có hướng ~ Neo4j

1.2.3.4 Thuộc tính (Properties):

Cả mút và quan hệ đều cỏ tập các thuộc tỉnh Thuộc tính lả cặp key — value

trong đó key có kiểu là string, các giá trị của thuộc tính trong Neo4j có thể là

số, chuối, luận lý hoặc tập hợp Thuộc tính không chứa gia tri null, nêu một

thuộc tinh cỏ value = null nghĩa lả không tổn tại key đỏ trong tập thuộc tính của

Nhãn là tên một câu trúc đỏ thị được sử dụng dé nhóm các nút vảo một tập,

hợp (bộ), tất cả các nút có nhãn giéng nhau củng thuộc vẻ một bộ Nhiều truy

vấn cơ sở dữ liệu cỏ thể làm việc với các bộ thay vỉ toàn bộ đỏ thị, làm cho việc

viết các truy van dé đảng hơn Một nút có thẻ được gắn nhãn hoặc khéng[6]

Trang 29

omit em nhơm

Hình 1.16 Labels }eo4j 1.2.3.6 Đường kếtn

(Paths):

Một đường đi là một hay nhiều node được kết nếi với nhau bởi các

;g kết quả của phép đuyệt [6]

Đường hết mối

/ T tơthểcơmệthoặcnhữn ÂN

Theosau hổi tật

relationshii, thường được biếu điễn

Tinh 1.17 Paths — Neo4j

Đuyệt đồ thị là cách truy van để thị, điều hướng bắt đâu từ một nút đến các nut co lién quan dễ trả lời cho các câu hỏi đang như “Đạn của tơi thích thẻ loại

nhạc nào?”, hay “Những người bạn của bạn tơi là ạ?”, [5]J6]

-_ Duyệt một đề thị nghĩa là đi thăm các nođe của đồ thị đĩ, đựa trên các

TelaHonship giữa các núi theo một số quy lắc

30

Trang 30

~ Trong một số trường hợp, chỉ cỏ một dễ thị con dược thăm

-_ Có bai cách duyệt đồ thị cơ bản là duyệt theo chiều rộng và duyệt theo

chiều sâu

1.2.4 Xu hướng ứng dụng

Việc ứng dụng mô hình CSDL dễ thị dã diễn ra bàng chục nắm qua trên khắp

thế giỏi Thông thường, chúng ta hình dung mô binh đữ

thải toán mạng xã hội do tính chất tự nhiên của mỗi quan hệ đỏ thị, tuy nhiên về thực

tế mô hình CSDI, đỗ thị có thể phù hợp với hấu hết các lnh vục xã hội: đồ thị lri

thiic (Knowledge Graph); giam sat co s¢ ha tang va CSDL cho các hoạt động công

nghé thông tin (Network and [Database Tnfrasruchre Monitoring for TT

Operations), tri (ué nban tao (Artificial Intelligence and Analytics},

Các công ly công nghệ lớn luôn đi tiên phong về ứng đựng mé hinh ray trong

các bải toán quan trọng, của họ, điển hinh như:

- Google voi san phẩm Knowledee Graph: hệ thông tìm kiếm trí thức mạnh

mẽ kết hợp với semantic web (web ngữ nghĩa) cho phép hiểu được ý nghĩa của các từ khóa, từ đỏ đưa ra các kết quả chính xác hơn

-_ Eacebook cung cấp sắn phẩm Graph Search: cũng là một công cụ tìm kiểm

ngữ nghĩa, cho phép đưa ra các kết quả trên các truy vẫn bằng ngôn ngữ tự

nhiên của người dùng

-_ MigRaven: ứng dụng CSDL đỏ thị (Neo4j) trong việc tô chức lưu trũ quyền

truy cập, dữ liệu tài khoản giúp có thể nhanh chóng tổ chức lại toàn bộ các

quy trình hiệu quả trong quả trình dĩ chuyển dữ liệu giữa các máy chủ

143 Ngônngữ Cypher

Cypher là ngôn ngữ truy vẫn cho CSDL dỗ thị, ngôn ngữ có đặc diểm dễ dọc và

dễ hiểu đổi với cả các nhà phát triển, các chuyên gia cơ sở dữ liệu, Cypher cho phép người dùng tìm kiếm thông in trên sơ sở dữ liệu theo một mô hình cụ thể nào

dó, được xem là ngôn ngữ truy vẫn dỗ thị để tìm hiểu nhất Khi dã hiểu rõ vẻ Cwpher, chúng ta có thê để dàng học sang các ngôn ngữ truy vẫn đỏ thị khác

31

Trang 31

Nhìn chung, ngôn ngữ Cypher thể hiện rất tự nhiên từ cách chủng ta vẽ dỏ thị trên bảng trắng vá cũng như hậu hết các ngôn ngữ khác, Cypher cững cỏ các cầu lệnh riêng, cú pháp riêng Trong phan nay sẽ trình bày một nghiên cứu về Cyphcr bao gồm: củ pháp và một số lệnh cơ bản [6]

1.3.1 Cú pháp

13.11 Kiểu va gia tri

Cypher hé tro cac kiéu dit lig: neuyén thủy, cầu trúc, kết hợp [6]

~_ Kiểu nguyên thủy:

Kiểu cơ bân: In, Float, String, Boolemn, Date, Từne, DateTime

Có thế trả về giá trị từ câu truy vẫn, sử dưng như tham sẻ hoặc cả thể

sử đụng gắn giá trị cho các thuộc tính

-_ Kiêu câu trúc:

«_ Sử dụng cho các nút, quan hệ, các dường liên kết (1d, Type, Label )

© C6 thé trả về từ cân truy vấn, không thể sử như tham số và không thé

sit dung gan gia trị cho các thuộc tính

-_ Kiến kết hợp

« Các kiểu nhu List, Map

© Co thé wa vé từ câu truy vẫn, có thể sử dụng như tham số nhưng, không thế sử đụng gán giá trị cho các thuộc tính

1.3.1.2 Quy tắc đặt tên

~ Quy lắc đất tên |6]

Bắt đâu bằng một ký tự, có thé bao gồm chữ số (trừ ký tự đầu tiên)

ngoại lê sử dụng lên trong cắp dấu ``

Không sử dung cáo ký tự đặc biệt (gừ dấu _ và ngoại lộ khi sử đựng $ cho tham số)

Chiểu dại tên cho phép (2^16-1) kỷ tự (phụ thuộc phiên bần Neo4j) Thân biệt chữ hoa, chữ thường,

Các khoảng trắng trong cú pháp lệnh không có ý nghĩa

32

Trang 32

- Pham vi va quy tae sit dung

Các núi, quan hệ hay thuộc tính trong truy vẫn có thể sử đụng lại cùng,

tên trang củng truy vấn: CRILATE (a:a {a: !#')-[r.a]—s(b:a {ai '8]) Các biển cho mút và quan hệ không được sử dụng, củng tên trong củng,

truy vân: CREATE (a)-[a]—+{b}

13.13 Biểu thức

~_ Giá trị biểu thức có thể là [6]:

Null néu bat kỳ biểu thức nào trong chúng là null

Một số hệ thập phân (số nguyên hoặc dấu phẩy động): 13, -40000,

3.14, 6.022E23

Một số hệ thập lục phân (bắt đầu bởi 0x): 0x13zf, 0xEC3A9, -0x66ef£

Một số hệ bát phản (bắt đâu bởi 0): 01372, 02127, -05671

Mat chudi ky tu: ‘Hello’, "World"

Mat gia ti Boolean: true, false, TRUE, FALSE

Một biére n, x, rel, myFancyVariable, “A name with weird stuff in

at]!

Một thuộc tính: n.prop, x prop, rel.thisProperty

Mat thude tinh déng: n[“prop"], relfn.city | nap]

Một tham số: $param, $0

Một danh sách biểu thức: ['at, 'b!, [1, 2, 3], [ ]

Một lời goi ham: length(p), nodes(p)

Một dường đấu: (a) >(}< (b)

Trang 33

* Mat biểu thức khớp chuỗi phân biệt chữ hoa chữ thường: a.srname

STARTS WITH 'Svem, asuname ENDS WITH %on' or asumame CONTAINS ‘son!

-_ Các ký tự đặc biệt

Bang 1.1 Ký tư đặc biệt |6]

Escape sequence Character

\woxx Unicode UTF-16 code point

\Uxxxxxxxx Unicode UTF-32 code point

13.1.4 Bién

- Khi tham chiéu các phản của truy văn †a sử đựng tên đặt cho ching va

được gợi là biển số [6]

MACH (n) >(b) RETURN b gồm các biến n b

13.1.5 Từ khôa

Từ khéa được chia thành các nhóm [6]

© Mệnh đề: CALL,CRHATE, DHLETE, DHLACH

© Muh dé com LIMIT, ORDER, SKIP, WHERE

¢ Bidu chink: ASC, ASCENDING, ASSERT, BY

® = Biéu thite diéu kiện: ATT., CASBE, EI.SE, END

¢ Toan tir AND, AS, CONTAINS, DISTINCT, ENDS, IN

34

Trang 34

©_ Chỉthị TNDEX, JOIN, PERIODIC, COMMIT

* Hing sé: false, null, true

© Dwkién sit dung: ADD, DO, FOR, MANDATORY

1.3.1.6 Tham số

- Cypher cho phép đừng tham số trong truy vẫn và các tham số cèn làm bộ nhớ đệm giáp việc dùng lại để đảng hơn

~_ Tham số có thể là chuỗi hoặc biểu thức, nút hoặc quan hệ (1đ)

- Tham sổ không sử dụng cho nhãn hoặc kiểu quan hệ

Neodj hé trợ rất nhiều các toán tử [6]:

=, IS NULL, IS NOT NULL

Cypher có khoảng 20 lệnh vá sứ dụng kết hợp để thực hiện các truy vẫn [6] Một

số lệnh cơ bản thường đùng được phân tích qua ví dụ:

START s=node:user (name=lløa )

35

Trang 35

MATCH (c)-LA_BAN]}->(b): LA_BAN]->(a), (c+: LA_BAN]->{a}

RETURN b, ¢

13.2.1 START

Lệnh SLAR'T mồ tá một hoặc nhiều điểm bắt đâu có thê là các nút hoặc các

méi quan hệ trong đỏ thị Những điểm bắt đầu sẽ được chon thang qua tìm kiếm

chỉ mục hoặc tìm kiếm trực tiếp dựa trên các nút và cáo mới quan hệ [6]

G

Như vi dụ phía trên, diễm bắt dẫu sẽ là điểm mà có thuộc tỉnh nan có giá

trị là Hoa Giá trị trã vẻ từ việc tìm kiểm điểm này là nút a (định đanh a là do

người đùng ur dal) Binh danh này được sử dụng trong suốt phần còn lại của

câu truy vẫn

13.2.2 MATCH

Sử dụng các ki tự để đại diện cho các nút vả các mối quan hệ, chí ra các dữ điều ma chimg 1a quan tâm Chúng la sử dụng dâu đóng ngoặc và mỗ ngoặc để chỉ ra các nút (v¡ dụ: (a), (b), (e), ), sử dụng cặp dấu gạch ngang kết hợp với đấu lớn hơn hoặc nhỏ hơn đề chỉ ra các mối quan hệ (—>, <—) Các dâu lớn hơn Œ) và nhỏ hơn (<) thế hiện hướng của quan hệ Giữa cặp dẫn gạch ngang có cặp đóng mở ngoặc vuông, nội dung trong cặp đóng mở ngoặc vuông được bắt

đầu bằng đấu hai chim va sau đẻ là tên của mỗi quan hệ (ví dụ: -[: LA BAN]-

>») [6]

13.2.3 RETURN

Lénh nay quy định việc các nút, các mới quan hệ và các thuộc tính trong dữ

hiệu được tra kết quá về như thể nảo [6] Trong ví dự trên thị chủng ta mong, xnuấn việc lrã vẻ là các nút kết nói với định danh b và

Trang 36

WIIERD a.name = 'A' AND bname =

CREATE (a)-[r- RELTYPE]}>(b)

RETURN type(r}

13.1.6 DELETE

Xóa mút, mỗi quan hé va thudc tinh [6]

MATCH (Person { mmmne; ‘UNKNOWN! }) DELETE a

Khi xóa nhiều nút, sử đụng DBTACIT

MATCH (n { name: ‘Andy’ })

SUT nsurmame = "Taylor!

RETURN nname, nsumame

Trang 37

MATCH n> (im: Typo) RUTURN name, m.type

14, Tổng kết

‘Nam trong phân lớp các CSDL NoSQL, CSDL đề thị với các khái niệm đơn

giản, gần gũi, trực quan giúp chúng ta dé dàng tiếp cận, nghiên cửu và ứng dung Với hẳu hết các bái toán thường gặp, việc mô hình hỏa đổ thị thuộc tỉnh cũng dễ dang chỉ théng qua ba thành phần cơ bản: nút, quan hệ và thuộc tính Kgôn ngữ

Oypher với củ pháp tụ nhiên, để hiểu là một công cụ mạnh mẽ hỗ trợ chúng ta rong

tương tác và khai thác các dữ liệu trên CSDL đã thị một cách nhanh chóng

38

Trang 38

CHƯƠNG 2: BÀI TOÁN QUẦN LÝ CUNG CÁP DỊCH VỤ

Chúng ta cần nghiên cứu giải pháp mới xuất phát từ các khỏ khăn thực tế khi

sửa bố sung các phản mềm quản ly

Déi với bài toán quản lý khách hàng, Telenor — céng ty viễn thông cung cản địch vụ ở cả Chân Âu và Chân Á cũng đã ng dung CSDT 46 thi quan ly cau tnic t6

chức khách hàng, thỏa thuận, đẳng ký vẻ quyển truy cập của người dùng Họ dã có

những đánh giá rât tốt về hiệu suất khi ứng dụng CSDL đỏ thị so với CSDL quan hệ

xưng không chỉa sẽ cụ thể về phạm vì ứng cụng cũng như các tài liệu thiết kế bay thử nghiệm Tuy nhiên, điều nảy cũng có thể coi là cơ sở về mắt thực tiễn để chúng,

ta nghiên cứu về hướng áp dụng CSDL đỗ thị trong bài toán HP, với phạm vi va

câu trúc phủ hợp với điều kiện triển khai của doanh nghiệp

2.1 Bài toán tổng quát

Bài toán quản lý mối quan hệ khách hàng là dạng bài toán quản lý thường dược

các doanh nghiệp triển khai trên mô hinh CSIDL quan hệ Việc quản ly mối quan hệ

khách hàng có độ phức tạp tùy theo từng mô hình kinh doanh, tuy nhiên ö mức độ

phố biến thì chủ yến là mỗi quan hệ đơn giản giữa các thực thể nhưng số lượng thục thê nhiều và khối lượng đữ liệu lớn De triển khai trên mô hinh CSDL quan hệ nên việc bố sung thuộc tính mới thường dẫn tới phải chính sửa lại câu trủc các bảng dit liệu, ngoài ra tốc độ truy vấn giảm khi lượng dữ liệu tăng cao Việc triển khai bài

toán trên mô hình CSDL đổ thị có thẻ là một giải pháp khắc phục các hạn chế trên

đo:

- _ Thuộc tỉnh cũa nút hoặc quan hệ được bổ sung linh động giúp cho việc bổ

sung thuộc tính dữ liệu mễm đẻo

3

Trang 39

~ _ Tmy vấn dựa trên phép đuyệt dỗ thị (theo chiều rộng hoặc chiểu sâu) và dựa vào các rối quan hệ đã định nghĩa nên tốc độ truy văn không hoặc ảnh

hưởng íL khi đữ liệu tổng

-_ Mô hinh hỏa đẻ thị thuộc tỉnh rất trực quan

Từ các nhận xét trên, tôi để xuất nghiên cửu giải pháp triển khai bài toản quần lý mồi quan hé khach hang trên mnô hinh CSDL, đề thị với các yêu cầu cụ thể như sau:

- Xay dựng mô hình đỏ thị thuộc tính

- Thân tích đánh giá ra nhược điểm và so sánh hiện năng truy vẫn của mồ

hình CSDI, đồ thị với mô hình CSDT, quan hệ

-_ Nghiên cửu giải pháp chuyên déi ti mé hinh CSDL quan hệ cỏ sẵn sang mô

hình CSDL để thị

- Thiết kế ứng dụng thử nghiệm bài toán với các lính nắng quản lý và bổ sung

lĩnh động thuộc tính đữ liệu

Trong phần tiếp theo chứng ta sẽ lựa chạn một trường hợp cụ thể, cẻ mê hình

quan hệ thường gặp và phân tích cũng như thử nghiêm dễ có cơ sở dánh giá giải pháp

2.2 Bải toản Quan ly cung cấp dịch vụ

Bãi toán Quản lý cưng cấp dịch vụ năm trong lớp các bài toán quản lý mỗi quan

thệ khách hàng, bài toán có số lượng thực thể quan hệ vừa phải nhưng có các đặc

tính phủ hợp làm vi dụ cho việc phân tích: dữ liệu lớn và thường xuyên tăng, thuộc

tính đữ liện thường xuyên cần bố sung Trong phần này chime †a sẽ giới thiệu cụ thể

hải toán và phân lích việc Iriển khai trên hơi mô hình: cơ sỡ dữ liệu quan hệ - cơ sở

dữ liệu dỗ thị và dễ xuất giải pháp chuyển dồi

2.2.1 Mô hình tổng thể

Xét trong tổng thể bái toàn LIRP của VNET, bài toàn về quản lý cưng cấp dịch

vụ chỉ là muội phân hệ quân lý Tuy rửiên, đo tính chất quân lý địch vụ cũng cấp

khách hàng nên bài toán nằm ở vị tri kha quan trong,

Trang 40

Quan lý vả cụng cấp thông tin khách hàng

Cung cấp thông tin về mã thanh toán, vẻ các dịch vụ khách hàng sử dụng hoặc chỉ tiết về thông số các dịch vụ

Lam co sở tổng hợp số liệu thực hiện các báo cáo phân tích, dự đoán tinh

hình phát

Củng cấp để liệu dhơ bằng loạt các hệ thống khác khai tháo: chấm sóo Khánh

lên hoặc cơ sở cho các chính sách phát triển

thông kế

Hình 2.1 Mô hình tổng thẻ các phân hệ quản lý

41

Ngày đăng: 09/06/2025, 12:38

HÌNH ẢNH LIÊN QUAN

Hình  1.1.  Khả  năng  mở  rộng  của  NoSQL  so  véi  CSDL  quan  hé  truyén  théng  [8] - Luận văn cơ sở dữ liệu Đồ thị và Ứng dụng
nh 1.1. Khả năng mở rộng của NoSQL so véi CSDL quan hé truyén théng [8] (Trang 15)
Hình  1.§.  Cơ  sở  dữ  liệu  Column  family  [4] - Luận văn cơ sở dữ liệu Đồ thị và Ứng dụng
nh 1.§. Cơ sở dữ liệu Column family [4] (Trang 20)
Hình  phát - Luận văn cơ sở dữ liệu Đồ thị và Ứng dụng
nh phát (Trang 40)
Hình  2.2.  Mô  hình  bài  toán  Quân  lý  cung  cấp  dịch  vụ - Luận văn cơ sở dữ liệu Đồ thị và Ứng dụng
nh 2.2. Mô hình bài toán Quân lý cung cấp dịch vụ (Trang 41)
Hình  2.4.  Sơ  đỏ  TTLK  —  Thanh  toán  -  Thuê  bao  -  Dịch vụ - Luận văn cơ sở dữ liệu Đồ thị và Ứng dụng
nh 2.4. Sơ đỏ TTLK — Thanh toán - Thuê bao - Dịch vụ (Trang 44)
Hình  2.8.  Giải  pháp  triển  khai  trên  CSDL  đồ  thị - Luận văn cơ sở dữ liệu Đồ thị và Ứng dụng
nh 2.8. Giải pháp triển khai trên CSDL đồ thị (Trang 47)
Hình  2.6.  Mô  hình  dữ  liệu  đỏ  thị  đã  chuyên  đổi - Luận văn cơ sở dữ liệu Đồ thị và Ứng dụng
nh 2.6. Mô hình dữ liệu đỏ thị đã chuyên đổi (Trang 49)
Hình  3.3.  Dữ  liệu  trước  và  sau  chuyên  đổi  mô  hình  CSDL - Luận văn cơ sở dữ liệu Đồ thị và Ứng dụng
nh 3.3. Dữ liệu trước và sau chuyên đổi mô hình CSDL (Trang 56)
Hình  3.9.  Sơ  đỏ  CSDL  Quản  lý  Cung  cấp địch vụ - Luận văn cơ sở dữ liệu Đồ thị và Ứng dụng
nh 3.9. Sơ đỏ CSDL Quản lý Cung cấp địch vụ (Trang 61)
Hình  3.12.  Quan  hệ  Thanh  toán  —  Thuê  bao  —  Dịch  vụ - Luận văn cơ sở dữ liệu Đồ thị và Ứng dụng
nh 3.12. Quan hệ Thanh toán — Thuê bao — Dịch vụ (Trang 64)
Hình  3.14.  CSDL Khách hàng  —  Thanh  toản  — Thuê bao. - Luận văn cơ sở dữ liệu Đồ thị và Ứng dụng
nh 3.14. CSDL Khách hàng — Thanh toản — Thuê bao (Trang 65)
Hình  3.19.  Giao  diện  báo  cáo  tổng  hợp  thuê  bao. - Luận văn cơ sở dữ liệu Đồ thị và Ứng dụng
nh 3.19. Giao diện báo cáo tổng hợp thuê bao (Trang 70)
Hình  3.20.  Mô  hình  CSDL  đánh  giả  thực  nghiệm. - Luận văn cơ sở dữ liệu Đồ thị và Ứng dụng
nh 3.20. Mô hình CSDL đánh giả thực nghiệm (Trang 72)
Hình  3.21.  Insert  dữ  liệu  trên  Oracle - Luận văn cơ sở dữ liệu Đồ thị và Ứng dụng
nh 3.21. Insert dữ liệu trên Oracle (Trang 74)
Hình  3.28.  Biểu  đồ  thời  gian  truy  vấn  câu  lệnh  con - Luận văn cơ sở dữ liệu Đồ thị và Ứng dụng
nh 3.28. Biểu đồ thời gian truy vấn câu lệnh con (Trang 86)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w