1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tóm tắt đề án nghiên cứu và ứng dụng cơ sở dữ liệu đồ thị vào bài toán quản lý khách hàng

23 0 0

Đ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 đề Nghiên Cứu Và Ứng Dụng Cơ Sở Dữ Liệu Đồ Thị Vào Bài Toán Quản Lý Khách Hàng
Tác giả Trần Thị Kim Lan
Người hướng dẫn GS.TS Từ Minh Phương
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Hệ thống thông tin
Thể loại Đề Án Tốt Nghiệp Thạc Sĩ Kỹ Thuật
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 23
Dung lượng 3,39 MB

Nội dung

Chương 2: Phân tích giải pháp giải quyết bài toán Quản lý khách hàng trên các mô hình cơ sở dữ liệu quan hệ và đồ thị mô hình, ưu/nhước điểm.. Bài toán Quản lý khách hàng VNPT – Hà Nội B

Trang 1

Trần Thị Kim Lan

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

VÀO BÀI TOÁN QUẢN LÝ KHÁCH HÀNG

Chuyên ngành: Hệ thống thông tin

Trang 2

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Người hướng dẫn khoa học: GS.TS TỪ MINH PHƯƠNG

Trang 3

MỞ ĐẦU

1 Đặt vấn đề

Viễn thông Hà Nội, chi nhánh tập đoàn VNPT cũng đã áp dụng triển khai giải pháp ERP

từ rất sớm, tuy nhiên trong quá trình triển khai thực hiện phát sinh rất nhiều vấn đề cần đầu

tư nghiên cứu, cải tiến để nâng cao hiệu suất cũng như khả năng mở rộng

Quản lý khách hàng là phân hệ trọng tâm, nắm giữ các thông tin cần thiết ảnh hưởng đến

sự phát triển của doanh nghiệp

Khi lượng khách hàng bùng nổ cùng sự đa dạng của dịch vụ trong những năm gần đây,

mô hình hệ thống đang triển khai đã gặp phải một số khó khăn mặc dù phân hệ được đầu tưrất nhiều cả về công nghệ lẫn thiết kế:

- Tổng hợp dữ liệu chậm dần khi khối lượng dữ liệu trưởng nhanh

- Khó khăn khi điều chỉnh thường xuyên CSDL về kiến trúc để đáp ứng công tác cungcấp dịch vụ

- Hệ thống hạ tầng phải tăng cường, mở rộng thường xuyên đáp ứng nhu cầu lưu trữhoặc tốc độ xử lý

Các khó khăn trên gây tốn kém cả về nhân lực, thời gian và tài chính Do đó, cần nghiêncứu giải pháp xử lý, có thể tiếp cận theo từng bước để tiến dần tới thay đổi hoặc chuyển đổi

hệ thống sẵn có

2 Đề xuất nghiên cứu

Luận văn trình bày nội dung nghiên cứu, tìm hiểu giải pháp thử nghiệm giải quyết bàitoán Quản lý khách hàng của Viễn thông Hà Nội trên mô hình CSDL đồ thị với phạm vinhư sau:

- Nghiên cứu các khái niệm, mô hình CSDL đồ thị

- Chọn Neo4j – một CSDL đồ thị mạnh và phổ biến để thử nghiệm

- Phân tích mô hình dữ liệu của bài toán trên cả hai mô hình: quan hệ - đồ thị, đánh giáưu/nhược điểm của từng mô hình

- Nghiên cứu giải pháp chuyển đổi CSDL từ quan hệ sang đồ thị

- Xây dựng chương trình demo đánh giá khả năng phát triển ứng dụng trên CSDL đồthị

- Xây dựng kịch bản và thử nghiệm so sánh hiệu năng (thời gian) truy vấn trên cả haiCSDL với một số câu lệnh thường sử dụng

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

Luận văn chia làm các phần:

Mở đầu: Đặt vấn đề, phân tích vấn đề thực tiễn và đề xuất hướng nghiên cứu, nêu các

mục tiêu cần đạt được

Chương 1: Phát biểu bài toán, giới hạn phạm vi thực hiện Trình bày các nghiên cứu về

cơ sở dữ liệu đồ thị và hệ quản trị CSDL đồ thị Neo4j

Chương 2: Phân tích giải pháp giải quyết bài toán Quản lý khách hàng trên các mô hình

cơ sở dữ liệu quan hệ và đồ thị (mô hình, ưu/nhước điểm) Đề xuất các phép đo kiểm chophần thử nghiệm

Trang 4

Chương 3: Trình bày ngắn gọn thiết kế chương trình demo với mục đích đánh giá khả

năng phát triển ứng dụng trên CSDL đồ thị Xây dựng kịch bản đánh giá hiệu năng (thờigian) trên cả hai CSDL quan hệ và đồ thị với một số câu truy vấn thường sử dụng

Kết luận: Tóm tắt lại kết quả nghiên cứu, phân tích đánh giá khả năng áp dụng, mở rộng Phụ lục: Các câu lệnh thực hiện truy vấn thử nghiệm

Trang 5

CHƯƠNG 1: TỔNG QUAN

1.1. Bài toán Quản lý khách hàng (VNPT – Hà Nội)

Bài toán Quản lý khách hàng có số lượng thực thể quan hệ không nhiều nhưng có các đặctính phù hợp cho việc phân tích: dữ liệu lớn và tăng trưởng theo thời gian, thuộc tính dữ liệuthay đổi do các nghiệp vụ phát sinh

Bài toán chỉ là một phân hệ quản lý nhưng lại có vị trí rất quan trọng:

- Quản lý và cung cấp thông tin khách hàng cho các phân hệ khác: chăm sóc kháchhàng, tính cước, điều hành phát triển dịch vụ…

Hỗ trợ tổng hợp số liệu các báo cáo phân tích, dự đoán tình hình phát triển hoặc cơ sởquyết định cho các chính sách kinh doanh

KHÁCH HÀNG

MÃ THANH TOÁN

QL HỢP ĐỒNG

CHĂM SÓC KHÁCH HÀNG

ĐIỀU HÀNH DỊCH VỤ

TRA CỨU THÔNG TIN

THỐNG

KÊ BÁO CÁO

TÀI CHÍNH

KẾ TOÁN Hình 1.1 Mô hình tổng thể hệ thống quản trị doanh nghiệp

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 được triểnkhai trên mô hình Cơ sở dữ liệu quan hệ với độ phức tạp tùy theo từng mô hình kinh doanh.Việc bổ sung thuộc tính mới đáp ứng các yêu cầu nghiệp vụ thường dẫn tới phải chỉnh sửalại cấu trúc các bảng dữ liệu, đồng thời tốc độ truy vấn giảm khi lượng dữ liệu tăng cao.Triển khai bài toán trên mô hình cơ sở dữ liệu đồ thị có thể là một hướng đi đúng đắn có thểkhắc phục các hạn chế trên, cụ thể:

- Mô hình hóa đồ thị thuộc tính rất trực quan dễ tiếp cận

- CSDL đồ thị hỗ trợ bổ sung thuộc tính dữ liệu mềm dẻo

- Thực hiện truy vấn dựa trên phép duyệt đồ thị và dựa vào các mối quan hệ đã địnhnghĩa sẵn nên tốc độ truy vấn ít biến động khi dữ liệu tăng

1.2 Cơ sở dữ liệu đồ thị

NoSQL là tên gọi chung cho các CSDL mã nguồn mở nhưng không sử dụng SQL làmngôn ngữ truy vấn

Trang 6

name: string code: string

code: string

airline: string departure: long arrival: long distance: long

Hình 1.2 Ví dụ về mô hình đồ thị thuộc tính

- Đồ thị là tập hợp các nút và mối quan hệ

- Nút, quan hệ có các thuộc tính được thể hiện theo key-value

- Mối quan hệ: được đặt tên, có nút đầu và nút cuối

Đồ thị thuộc tính thường rất trực quan, có thể mô tả đa số các trường hợp sử dụng

1.2.1.3.Mô hình hóa dữ liệu

Về cơ bản, khi thiết kế CSDL đồ thị cũng tương tự thiết kế CSDL quan hệ, mô hình

đồ thị thuộc tính với sơ đồ thực thể kết hợp cũng khá tương đồng

- Mối quan hệ để thể hiện sự kết nối giữa các thực thể, sử dụng các thuộc tính để

mô tả tính quan trọng, chất lượng của một quan hệ

- 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ínhthường biểu diễn chúng bằng các node riêng biệt

1.2.2.1.Tính năng nổi bật

Neo4j có một số tính năng nổi bật được giới thiệu để chúng ta cân nhắc khi áp dụngvào thực tế:

- Dễ dùng và áp dụng 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

Trang 7

- Xác định các mối quan hệ tại thời điểm tạo giúp tối ưu thời gian truy vấn.

- Không yêu cầu không gian lưu trữ lớn và có bộ nhớ đệm cho các đồ thị, có khảnăng mở rộng lưu trữ số lượng lớn nút (hàng tỉ) trên một hệ thống phần cứng vừaphải

- Viết trên các JVM - Java virtual machine

1.2.2.2.Nút - Nodes:

Nút là đơn vị cơ bản của một đồ thị Trong Neo4j, các nút có thể chứa các thuộctính, có thể có mối quan hệ với nút khác hoặc cũng có thể được dán nhãn

Mối quan hệ

Hình 1.3 Biểu đồ mô tả Nodes - Nút

Các nút thường được dùng để biểu diễn các thực thể

1.2.2.3.Mối quan hệ - Relationships:

Quan hệ giữa các nút cho phép tìm kiếm các dữ liệu có liên quan với nhau Mốiquan hệ cũng giống như nút: có thể có thuộc tính Một mối quan hệ kết nối hai nút vớinhau, gồm nút bắt đầu và nút kết thúc có hoặc không có thuộc tính, luôn xác định hướngđược dùng cho phép duyệt đồ thị

1.2.2.4.Thuộc tính - Properties:

Cả nút và quan hệ đều có thể bổ sung 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à:chuỗi, số, luận lý hoặc tập hợp

1.2.2.5.Nhãn - Labels:

Nhãn là tên một cấu trúc đồ thị được sử dụng để nhóm các nút vào một tập hợp trong

đó tất cả các nút có nhãn giống nhau cùng thuộc về một bộ Một nút có thể được gắnnhãn hoặc không Truy vấn cơ sở dữ liệu có thể tác động trên các bộ thay vì toàn đồ thịgiúp cho việc viết các truy vấn tối ưu

1.2.2.6.Đường kết nối - Paths:

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

Trang 8

1.2.3 Xu hướng ứng dụng

Việc ứng dụng mô hình CSDL đồ thị đã diễn ra hàng chục năm qua trên khắp thế giới.Thông thường, chúng ta hình dung mô hình dữ liệu này phù hợp với các bà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 CSDL đồ thị

có thể phù hợp với hầu hết các lĩnh vực xã hội

1.3 Tổng kết chương

Trong thực tế khi lượng khách hàng tăng trưởng cao hoặc bùng nổ, lượng lớn thông tinlưu trữ trên CSDL quan hệ lại tỉ lệ nghịch với thời gian truy vấn, khai thác hoặc đối với cácyêu cầu thường xuyên thay đổi thuộc tính trên các đối tượng quản lý cũng đặt ra thách thứclớn cho mô hình triển khai này

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ễ dàng chỉthông qua ba thành phần cơ bản: nút, quan hệ và thuộc tính Ngôn ngữ Cypher với cú pháp

tự nhiên, dễ hiểu là một công cụ mạnh mẽ hỗ trợ chúng ta trong tương tác và khai thác các

dữ liệu trên CSDL đồ thị một cách nhanh chóng

Trang 9

CHƯƠNG 2: GIẢI PHÁP TRIỂN KHAI BÀI TOÁN QUẢN LÝ

Bài toàn Quản lý khách hàng VNPT – Hà Nội đã được triển khai trên hệ quản trị cơ sở

dữ liệu quan hệ: mỗi khách hàng có một tập các mã thanh toán, mỗi mã thanh toán thực hiệnthanh toán cho một hoặc nhiều thuê bao (là các dịch vụ cung cấp) Các dịch vụ mới thườngxuyên phát sinh theo nhu cầu thị trường, các thuộc tính dịch vụ khác nhau thường khácnhau

2.1 Giải pháp triển khai trên Cơ sở dữ liệu quan hệ

2.1.1 Sơ đồ thực thể liên kết

Mã thanh toán

Thuê bao

Mã thuê bao

Tên sử dụng Địa chỉ Dịch vụ Trạng thái

Ngày sử dụng

n 1

1

Hình 2.3 Sơ đồ thực thể liên kết Thanh toán – Thuê bao – Dịch vụ

2.1.2.1 Ưu điểm

- Phân tích bài toán rõ ràng, rành mạch

- Dữ liệu tổ chức gọn gàng, phân loại cụ thể

- Dễ dàng xây dựng các truy vấn dữ liệu

- Hầu hết các hệ quản trị cơ sở dữ liệu quan hệ đều tương thích và cài đặt khôngtốn kém thời gian, các nền tảng lập trình cũng hỗ trợ rất tốt khi phát triển, giúpcho việc lựa chọn các hệ quản trị cơ sở dữ liệu cũng phù hợp hơn

2.1.2.2 Nhược điểm

- Do sử dụng các phép Join khi truy vấn, nên nếu số lượng khách hàng tăng caocùng số thuê bao dịch vụ tăng cao, có thể dễ nhận thấy truy vấn dữ liệu sẽ cần tối

ưu hóa bởi số lượng bản ghi lưu trữ trên cơ sở dữ liệu tăng dần theo chiều dọc

- Để tối ưu hóa trên các hệ quản trị cơ sở dữ liệu quan hệ, khi sử dụng các kỹ thuậtphân vùng dữ liệu, đánh chỉ mục…

- Sự cứng nhắc trong thiết kế của cơ sở dữ liệu quan hệ sẽ khó khăn khi bổ sungcác thuộc tính mới hoặc loại bỏ các thuộc tính thực sự dư thừa

- Lãng phí các không gian lưu trữ cho các trường không hoặc sử dụng dữ liệu mặcđịnh chỉ để đảm bảo đúng cấu trúc

Trang 10

2.1.2.3 Phương án khắc phục các nhược điểm

- Đối với việc xử lý thuộc tính động: có thể xử lý thông qua sử dụng một vài thựcthể đóng vai trò quản lý các thuộc tính

- Đối với việc tăng tốc truy vấn dữ liệu khi kích thước tăng cao: sẽ phụ thuộc vàođánh chỉ mục, phân cùng dữ liệu

- Thực thể được mô hình dưới các node đồ thị

- Quan hệ giữa các thực thể mô hình hóa dưới quan hệ các node, không sử dụngkhóa liên kết như trên CSDL quan hệ

- Các thuộc tính thực thể trở thành thuộc tính node

Mô hình dữ liệu quan hệ

Ánh xạ thực thể sang node đồ thị

Ánh xạ thuộc tính thực thể sang thuộc tính node

Ánh xạ quan hệ thực thể sang quan hệ các node

Mô hình dữ liệu đồ thị

Hình 2.4 Giải pháp triển khai trên CSDL đồ thị

Như vậy, quan hệ trên CSDL đồ thị được biểu diễn dưới quan hệ trực tiếp giữa các node,không phải là quan hệ giữa các thực thể qua thuộc tính dữ liệu như CSDL đồ thị Để có cáinhìn chi tiết, phần tiếp theo chúng ta sẽ phân tích mô hình dữ liệu quan hệ tại Chương 2,mục 2.3 khi triển khai trên mô hình CSDL đồ thị với các bước thực hiện theo giải pháp trên

Thực hiện chuyển đổi từ mô hình cơ sở dữ liệu quan hệ sang mô hình cơ sở dữ liệu đồ thị, chúng ta có mô hình mới:

a Khách hàng:

- Mỗi khách hàng sẽ được mô tả bằng một node

- Các thuộc tính của khách hàng sẽ là thuộc tính của node

- Các node khách hàng sẽ được gán label phân loại: KhachHang

- Quan hệ có CO_MA_THANH_TOAN sẽ được gán theo chiều từ node kháchhàng => mã thanh toán

Trang 11

:KhachHang Ten_kh: Nguyễn Văn A Ma_kh: HNI00000123 Dia_chi: Hoàn Kiếm Ngay_sinh: 01/01/1991

:MaThanhToan Ten_tt: Nguyễn Văn A Ma_tt: MK10222 Dia_chi: Chương

Dương

:LoaiKh Ma_lkh:

KHVIP

Loai_kh:

VIP

:HinhThucTT Ma_httt: NGHG Httt: Ủy nhiệm

chi Ngân hàng

:TaiKhoan SoTk:

123123123

:NganHang MaNh: VCB NganHang:

HINH_THUC_THANH_TOAN

Ngay_cn:01/01/2011

:ThueBao Ten_tb: Nguyễn Văn

A

Ma_tb: 0912121212 Dia_chi: Hoàn Kiếm

:DichVu CODINH Dich_vu: Cố định

:DichVu Ma_dv: FIBER Dich_vu: Fiber

0912121212 Ne: 123 Tax: 123

- Dịch vụ thể hiện trên các node và gán nhãn DichVu

- Các thông tin dịch vụ được bổ sung vào thuộc tính node

e Các thực thể khác: các thực thể khác được phân tích và mô hình trên cơ sở dữ liệu đồthị

2.2.2.1 Ưu điểm

- Mô hình dữ liệu trên cơ sở dữ liệu đồ thị rất tường minh và trực quan

- Các mối quan hệ dữ liệu thể hiện rất rõ ràng

- Đựa vào mô hình, có thể thấy các phép truy vấn là phép duyệt đồ thị không bị lệthuộc vào quy mô cả đồ thị

- Các mối quan hệ đã được chuẩn bị và định nghĩa ngay từ đầu, do đó việc truy vấntheo quan hệ mang lại hiệu quả tốc độ

- Các thuộc tính được thêm bớt theo nhu cầu, linh động giúp dễ dàng điều chỉnh cơcấu dữ liệu, tiết kiệm không gian lưu trữ

2.2.2.2 Nhược điểm và phương án khắc phục

- Làm rõ mối quan hệ giữa các thực thể, mô hình hóa theo cơ sở dữ liệu đồ thị từ đầu sẽ đòi hỏi tiêu tốn khá nhiều nguồn lực

- Các dữ liệu khi lưu trữ chưa có phương án phân tán hiệu quả

- Các nền tảng kỹ thuật hỗ trợ chưa phong phú và cần thời gian để kiểm nghiệm

- Các công cụ quản trị chưa nhiều và chuyên sâu như các hệ quản trị cơ sở dữ liệu

- Xử lý việc chuyển đổi từ cơ sở dữ liệu quan hệ có sẵn sang đồ thị là tương đốiphức tạp

2.2.3 Kết luận

Trang 12

Đánh giá sơ bộ, việc chuyển đổi mô hình từ cơ sở dữ liệu quan hệ sang cơ sở dữ liệu đồthị không quá khó khăn về mặt lý thuyết Có thể thấy việc chuyển đổi về cơ bản sẽ mang lạihiệu quả đối với bài toán phù hợp: có tốc độ tăng trưởng dữ liệu và cần linh động trong việcthay đổi thuộc tính của các thực thể Việc đánh giá cụ thể kết quả chuyển đổi sẽ được thựchiện trong phần thử nghiệm với các phép đo định lượng, giúp có cơ sở tốt hơn cho đánh giácuối cùng.

2.3 Chuyển đổi CSDL quan hệ có sẵn sang CSDL đồ thị

2.3.1 Giải pháp

Dựa vào việc mô hình hóa đồ thị thuộc tính, xem xét trên các thực thể và quan hệ chúng

ta có giải pháp khá dễ thực hiện theo nguyên tắc:

- Các bản ghi dữ liệu là các nút trên đồ thị

- Tên các bảng hay các thực thể được gán cho các nhãn của nút

- Tên các cột gán cho thuộc tính của nút với giá trị tương ứng

- Quan hệ giữa các thực thể là các cung của đồ thị, có chiều dựa vào quan hệ trênCSDL quan hệ

B1

Xác định chi tiết các thành phần trên lược đồ CSDL quan hệ

B3.1

Tập nhãn là tên các thực thể

B3.3

Tập loại quan hệ

là tên các mối quan hệ giữa các thực thể

B3.2

Tập thuộc tính của các nhãn là tên các thuộc tính của thực thể

B5.1

Gán nhãn cho node là tên thực thể

B5.3

Gán quan hệ cho node theo quan hệ của thực thể với thực thể khác

B5.2

Tạo thuộc tính cho node là thuộc tính của thực thể với giá trị tương ứng

B6

CSDL đồ thị từ CSDL quan hệ

Hình 2.6 Lưu đồ chuyển đổi CSDL QH sang CSDL ĐT

Trên cơ sở dữ liệu chuyển đổi, ta có một số đặc tính:

- Số lượng node bằng số bản ghi trên cơ sở dữ liệu quan hệ

Trang 13

- Số lượng loại quan hệ bằng số lượng quan hệ hiện có

Áp dụng giải pháp chuyển đổi, thực hiện phân tích CSDL bài toán Quản lý kháchhàng và chuyển đổi từng bước sang CSDL đồ thị

Xét ví dụ chuyển đổi giữa hai thực thể: Khách hàng – Loại khách hàng:

 Xác định sơ đồ thực thể liên kết trên CSDL quan hệ có sẵn, mục đích để phântích rõ mối quan hệ, các thuộc tính dữ liệu cũng như kiểu của chúng:

KHACH_HANG

LOAI_KH KHACHHANG_ID NUMBER

PK TEN_KH VARCHA2 MA_KH VARCHA2 DIACHI_KH VARCHA2 KHLON_ID NUMBER NGAY_SN DATE

KHLON_ID int PK

TEN_KHLON VARCHA2 MA_KHLON VARCHA2 FK_LOAI_KHACH_HANG

Hình 2.7 Sơ đồ thực thể liên kết Khách hàng – Loại khách hàng

 Ánh xạ sang mô hình dữ liệu đồ thị: thực hiện ánh xạ sang mô hình mới, xác địnhcác nút đồ thị và các thuộc tính tương ứng, chiều quan hệ phù hợp:

:KhachHang TEN_KH:string MA_KH:string KHACHHANG_ID:int

:LoaiKH KHLON_ID:int TEN_KHLON:string MA_KHLON:string

LOAI_KHACH_HANG

Hình 2.8 Đồ thị biểu diễn nút Khách hàng – Loại khách hàng

 Thực hiện với từng bản ghi dữ liệu trên bảng KHACH_HANG và LOAI_KH:

 Từng bản ghi khách hàng/Loại khách hàng được chuyển đổi sang từng node cụthể

 Node được gán lable là tên bảng, ở đây chúng ta có hiệu chỉnh lại cho tự nhiên:KHACH_HANG  KhachHang, LOAI_KH  LoaiKH

 Các cột trên các bảng được gán thành thuộc tính các node và lấy giá trị trên bảnghi

 Các khóa chính, ngoại đóng vai trò như thuộc tính thông thường

 Quan hệ giữa hai bảng được chuyển thành quan hệ trên các node:LOAI_KHACH_HANG

Thực hiện việc phân tích, chuyển đổi với tập tất cả các thành phần trên lược đồ quan

Ngày đăng: 02/04/2024, 15:05

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

TÀI LIỆU LIÊN QUAN

w