Tải bản đầy đủ (.pdf) (83 trang)

XÂY DỰNG hệ THỐNG bán HÀNG BẰNG mô HÌNH cơ sở dữ LIỆU PHÂN tán

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (9.46 MB, 83 trang )

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

HUỲNH QUỐC TUẤN

XÂY DỰNG HỆ THỐNG BÁN HÀNG BẰNG MÔ
HÌNH CƠ SỞ DỮ LIỆU PHÂN TÁN

LUẬN VĂN THẠC SĨ
Ngành: Công Nghệ Thông Tin

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

TS. Nguyễn Gia Tuấn Anh – Trường ĐH Công Nghệ Thông Tin TP.HCM

TP. HỒ CHÍ MINH – 2016


LỜI CAM ĐOAN
Tôi xin cam đoan luận văn này do chính tôi thực hiện dưới sự hướng dẫn khoa
học của TS. Nguyễn Gia Tuấn Anh. Các số liệu và kết quả nghiên cứu trong luận văn
là trung thực, do tôi khảo sát, phân tích, đánh giá và thực hiện. Các thông tin trích
dẫn trong luận văn này đều đã được chỉ rõ nguồn gốc.
Tôi xin chịu trách nhiệm về lời cam đoan này.
TP.Hồ Chí Minh, ngày 27 tháng 11 năm 2016
Người thực hiện

Huỳnh Quốc Tuấn



LỜI CẢM ƠN
Tôi xin chân thành cảm ơn Bộ môn Khoa Học và Kỹ Thuật Thông Tin - Trường
Đại học Công Nghệ Thông Tin – Đại Học Quốc Gia Thành Phố Hồ Chí Minh, quý
Thầy, Cô đã tận tình giảng dạy, trang bị cho tôi kiến thức và tạo mọi điều kiện thuận
lợi trong suốt quá trình học tập, nghiên cứu và thực hiện luận văn này.
Với lòng kính trọng và biết ơn sâu sắc, tôi xin được bày tỏ lòng biết ơn đến TS
Nguyễn Gia Tuấn Anh. Thầy đã khuyến khích, tận tình chỉ dẫn tôi trong suốt thời
gian nghiên cứu và thực hiện luận văn.
Xin được gửi lời cảm ơn đến các cá nhân, doanh nghiệp đã giúp đỡ, chia sẻ
thông tin, cung cấp cho tôi nguồn tư liệu, tài liệu hữu ích để phục cho quá trình nghiên
cứu và thực hiện luận văn.
Cuối cùng, tôi xin được gửi lời tri ân sâu sắc đến gia đình và những người bạn
thân thiết đã động viên, hỗ trợ trong suốt quá trình học tập, làm việc, nghiên cứu và
thực hiện luận văn.
TP.Hồ Chí Minh, ngày 27 tháng 11 năm 2016
Người thực hiện

Huỳnh Quốc Tuấn


MỤC LỤC

MỤC LỤC
MỤC LỤC ................................................................................................................... 1
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT ................................................. 4
DANH MỤC CÁC BẢNG.......................................................................................... 5
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ ..................................................................... 6
MỞ ĐẦU ..................................................................................................................... 8
CHƯƠNG 1 - TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN .......................... 10
1.1. Cơ sở dữ liệu phân tán .............................................................................10

1.2. Hệ quản trị cơ sở dữ liệu phân tán ...........................................................10
1.2.1. Định nghĩa ........................................................................................10
1.2.2. Các thành phần của hệ quản trị cơ sở dữ liệu phân tán ....................10
1.3. So sánh cơ sở dữ liệu phân tán và cơ sở dữ liệu tập trung ......................10
1.4. Ưu và nhược điểm của cơ sở dữ liệu phân tán ........................................12
1.5. Thiết kế cơ sở dữ liệu phân tán ...............................................................13
1.5.1. Khung thiết kế ..................................................................................13
1.5.2. Các phương pháp thiết kế cơ sở dữ liệu phân tán ............................13
1.5.3. Thiết kế phân đoạn ...........................................................................14
1.5.3.1. Phân đoạn đầy đủ.......................................................................14
1.5.3.2. Phân đoạn cắt ngang ..................................................................14
1.5.3.3. Phân đoạn cắt dọc ......................................................................15
1.5.3.4. Phân đoạn hỗn hợp ....................................................................16
1.6. Thiết kế phân phối các chiến lược ...........................................................16
1.6.1. Tiêu chuẩn chung .............................................................................16
1.6.2. Phân đoạn ngang...............................................................................17
1.6.3. Phân đoạn dọc...................................................................................18
1.7. Tổng quan SQL Server trong việc hổ trợ cơ sở dữ liệu phân tán ............19
1


MỤC LỤC

1.7.1. Các khái niệm ...................................................................................19
1.7.2. Giải quyết mâu thuẫn dữ liệu trong môi trường phân tán ................24
1.8. So sánh lý thuyết CSDLPT và CSDLPT trong SQL Server ...................25
CHƯƠNG 2 - MÔ TẢ HỆ THỐNG BÁN HÀNG ................................................... 27
2.1. Bài toán thực tiễn .....................................................................................27
2.2. Một số nghiệp vụ quản lý bán hàng ........................................................27
2.3. Quy trình, phương pháp, thời gian thu thông tin và lập phiếu báo cáo ...29

2.3.1. Mô tả các quy trình nghiệp vụ ..........................................................29
2.3.2. Phát biểu bài toán .............................................................................35
CHƯƠNG 3 - XÂY DỰNG HỆ THỐNG BÁN HÀNG .......................................... 37
3.1. Công tác quản lý bán hàng ......................................................................37
3.2. Phân tích chức năng hệ thống quản lý bán hàng .....................................37
3.3. Thiết kế cơ sở dữ liệu phân tán cho hệ thống bán hàng ..........................38
3.3.1. Mô tả dữ liệu mức quan niệm...........................................................38
3.3.2. Mô tả dữ liệu ở mức vật lý ...............................................................42
3.3.3. Thiết kế phân mảnh ..........................................................................43
3.3.4. Thiết kế định vị .................................................................................46
3.3.5. Thiết kế sơ đồ ánh xạ cục bộ ............................................................47
CHƯƠNG 4 - MÔ TẢ HỆ THỐNG ......................................................................... 50
4.1. Môi trường HĐH, Database Server và Developer ..................................50
4.2. Các chức năng hệ thống ..........................................................................51
4.2.1. Màn hình chính .................................................................................51
4.3. So sánh chi phí thời gian giữa hai mô hình CSDLPT và CSDLTT ........52
4.3.1. Phân mảnh ngang .............................................................................52
4.3.2. Phân mảnh hỗn hợp ..........................................................................61

2


MỤC LỤC

CHƯƠNG 5 - KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ........................................ 65
5.1. Kết luận ...................................................................................................65
5.2. Hướng phát triển ......................................................................................65
TÀI LIỆU THAM KHẢO ......................................................................................... 67
PHỤ LỤC .................................................................................................................. 69


3


DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Tiếng anh:
DBMS

Database Management System

DDBMS

Distributed Database Management System

Tiếng việt:
CSDL

Cơ sở dữ liệu

CSDLPT

Cơ sở dữ liệu phân tán

CNTT

Công nghệ thông tin

DL


Dữ liệu

4


DANH MỤC CÁC BẢNG

DANH MỤC CÁC BẢNG

Bảng 3.1: Bảng tần suất và nhu cầu khai thác dữ liệu .............................................. 44
Bảng 3.2: Bảng danh sách các bảng tại các trạm ..................................................... 49
Bảng 4.1: Bảng so sánh chi phí thời gian thực thi câu lệnh SELECT giữa hai mô
hình CSDLPT và CSDLTT ....................................................................................... 54
Bảng 4.2: Bảng so sánh chi phí thời gian thực thi câu lệnh INSERT giữa hai mô
hình CSDLPT và CSDLTT ....................................................................................... 56
Bảng 4.3: Bảng so sánh chi phí thời gian thực thi câu lệnh UPDATE giữa hai mô
hình CSDLPT và CSDLTT ....................................................................................... 59
Bảng 4.4: Bảng so sánh chi phí thời gian thực thi câu lệnh DELETE giữa hai mô
hình CSDLPT và CSDLTT ....................................................................................... 61
Bảng 4.5: Bảng so sánh chi phí thời gian thực thi câu lệnh SELECT giữa hai mô
hình CSDLPT ứng với phân mảnh hỗn hợp và CSDLTT ......................................... 64

5


DANH MỤC CÁC HÌNH VẼ

DANH MỤC CÁC HÌNH VẼ

Hình 1.1: Cách thức Snapshot Replication hoạt động .............................................. 21

Hình 1.2: Cách thức Merge Replication hoạt động................................................... 22
Hình 1.3: Cách thức Transactional Replication hoạt động ....................................... 23
Hình 2.1: Quy trình nhập hàng .................................................................................. 31
Hình 2.2: Mẫu phiếu nhập hàng ................................................................................ 31
Hình 2.3: Quy trình xuất hàng................................................................................... 32
Hình 2.4: Mẫu phiếu xuất hàng ................................................................................. 33
Hình 2.5: Quy trình đổi trả hàng ............................................................................... 34
Hình 2.6: Mẫu phiếu thu ........................................................................................... 34
Hình 2.7: Mẫu phiếu chi............................................................................................ 35
Hình 3.1: Mô hình thực thể mối quan hệ .................................................................. 42
Hình 3.2: Thiết kế sơ đồ ánh xạ cục bộ ..................................................................... 47
Hình 4.1: Mô hình hệ thống mạng triển khai ............................................................ 51
Hình 4.2: Màn hình chính sau khi đăng nhập ........................................................... 52
Hình 4.3: Kết quả thực thi câu lệnh SELECT chạy trên mô hình CSDLTT ............. 53
Hình 4.4: Kết quả thực thi câu lệnh SELECT chạy trên mô hình CSDLPT ............. 53
Hình 4.5: Kết quả thực thi câu lệnh INSERT chạy trên mô hình CSDLTT .............. 54
Hình 4.6: Kết quả thực thi câu lệnh INSERT chạy trên mô hình CSDLPT.............. 55
Hình 4.7: Kết quả SQL Server tự đồng bộ liệu từ trạm đến trung tâm khi chạy lệnh
INSERT trên mô hình CSDLPT lần 1 ....................................................................... 56
Hình 4.8: Kết quả thực thi câu lệnh UPDATE chạy trên mô hình CSDLTT ............ 57
Hình 4.9: Kết quả thực thi câu lệnh UPDATE chạy trên mô hình CSDLPT ............ 58

6


DANH MỤC CÁC HÌNH VẼ

Hình 4.10: Kết quả SQL Server tự đồng bộ liệu từ trạm đến trung tâm khi chạy lệnh
UPDATE trên mô hình CSDLPT lần 1 ..................................................................... 58
Hình 4.11: Kết quả thực thi câu lệnh DELETE chạy trên mô hình CSDLTT .......... 59

Hình 4.12: Kết quả thực thi câu lệnh DELETE chạy trên mô hình CSDLPT .......... 60
Hình 4.13: Kết quả SQL Server tự đồng bộ liệu từ trạm đến trung tâm khi chạy lệnh
DELETE trên mô hình CSDLPT lần 1 ..................................................................... 60
Hình 4.14: Kết quả thực nghiệm khác, khi thực thi câu lệnh SELECT chạy trên mô
hình CSDLTT ............................................................................................................ 62
Hình 4.15: Kết quả thực nghiệm khác, khi thực thi câu lệnh SELECT chạy trên mô
hình CSDLPT ............................................................................................................ 63

7


MỞ ĐẦU

MỞ ĐẦU

Trong những năm gần đây với sự phát triển mạnh của nền kinh tế nước ta khi
bước vào thời kỳ hội nhập, kèm theo đó là sự thay đổi về môi trường kinh doanh, các
doanh nghiệp cũng dần thay đổi cách thức kinh doanh, doanh nghiệp giờ đây không
còn tập trung tại một địa điểm cụ thể như trước, mà được chia thành nhiều chi nhánh
được phân bố tại nhiều vị trí ở các thành phố, các quốc gia khác nhau nhằm gia tăng
sức cạnh tranh. Do đó việc tổ chức quản lý của các doanh nghiệp cũng trở nên khó
khăn và phức tạp hơn nên đòi hỏi phải có tính chính xác, liên tục và đồng bộ giữa các
bộ phận tại các chi nhánh với nhau.
Việc tổ chức quản lý dữ liệu trở nên phức tạp hơn, nó không còn là việc quản lý
chỉ tập trung tại một chi nhánh duy nhất mà cần được quản lý tại tất cả các chi nhánh,
và đặc biệt các CSDL phải có mối liên hệ logic với nhau thông qua mạng máy tính.
Do đó việc quản lý CSDL theo kiểu truyền thống, hay CSDL tập trung như trước đây
sẽ không giải quyết được các vấn đề nêu trên.
Hiện nay công tác quản lý trong doanh nghiệp đa phần đều được tin học hóa,
quản lý bán hàng là một trong các công tác quản lý quan trọng trong doanh nghiệp

nó phục vụ cho hoạt động kinh doanh, do đó cần phải theo dõi chặt chẽ, liên tục ở tất
cả các bộ phận. Đối với các hệ thống lớn vấn đề xử lý thông tin cho kết quả nhanh
chóng, chính xác là vấn đề được quan tâm nhiều nhất. Việc xử lý thông tin được thực
hiện trên môi trường mạng, do đó để tăng tốc độ xử lý thì ngoài việc xây dựng hạ
tầng mạng, ta cần phải phân tán dữ liệu tại nhiều vị trí. Như vậy cùng một hạ tầng
mạng với tốc độ đường truyển như nhau nếu ta đặt CSDL phân tán tại nhiều vị trí thì
quá trình xử lý thông tin cho kết quả nhanh hơn nhiều so với việc đặt CSDL tại một
vị trí. Do đó chúng ta cần phải nghiên cứu CSDL để phân tán dữ liệu ra nhiều vị trí
dựa vào tần suất sử dụng và khoảng cách địa lý của các đối tượng nhằm đáp ứng việc
khai thác dữ liệu một cách nhanh chóng.
Xuất phát từ những nhu cầu thực tế về công tác quản lý bán hàng tại các chi
nhánh được phân tán khắp mọi nơi, cách xa về mặt địa lý đang gặp khó khăn về mặt
thống nhất dữ liệu giữa các chi nhánh nên tôi đã chọn hướng nghiên cứu về CSDLPT,
8


MỞ ĐẦU

qua đó tôi sẽ xây dựng hệ thống bán hàng bằng mô hình CSDLPT để thay thế các
công cụ quản lý thủ công hay CSDL theo kiểu tập trung trước đây.
Mục tiêu mà đề tài hướng đến là trình bày tổng quan về CSDLPT, cách thiết kế
CSDLPT, so sánh ưu và nhược điểm CSDLPT, từ đó ứng dụng CSDLPT để xây dựng
hệ thống bán hàng. Trong đó đóng góp quan trọng là tập trung mạnh vào khả năng hổ
trợ phân tán, cách giải quyết xung đột khi chạy phân tán trên SQL Server, đồng thời
so sánh chi phí thời gian thực thi các câu lệnh giữ hai mô hình CSDLPT và CSDL
tập trung, qua đó cho biết khi nào nên dùng CSDLPT và khi nào nên dùng CSDL tập
trung. Để đáp ứng được mục tiêu đề ra thì cần giải quyết những vấn đề sau: tìm hiểu
lý thuyết về CSDLPT, cách phân tán dữ liệu trong SQL Server, quy trình nghiệp vụ
công tác quản lý bán hàng, từ đó thiết kế CSDL phân tán cho hệ thống bán hàng.
Ở đây tôi sử dụng hai phương pháp tiếp cận là nghiên cứu lý thuyết và thực

nghiệm. Đối với nghiên cứu lý thuyết tôi tiến hành thu thập các tài liệu liên quan đến
CSDL phân tán, cách thiết kế CSDLPT, so sánh ưu và nhược điểm CSDLPT, cũng
như khả năng hổ trợ phân tán trong SQL Server…Đối với nghiên cứu thực nghiệm
tôi phân tích nghiệp vụ, quy trình quản lý bán hàng cho doanh nghiệp bán mặt hàng
phụ tùng xe máy, từ đó vận dụng lý thuyết CSDLPT để xây dựng hệ thống quản lý
bán hàng.
Luận văn được tổ chức thành 5 chương, không bao gồm phần mở đầu và phụ
lục thì có 4 chương chính, và chương kết luận.
- Chương 1: Tổng quan về cơ sở dữ liệu phân tán.
- Chương 2: Mô tả hệ thống bán hàng – Các nghiệp vụ quản lý bán hàng, mô tả
quy trình nghiệp vụ.
- Chương 3: Xây dựng hệ thống quản lý bán hàng – Phân tích các chức năng của
hệ thống quản lý bán hàng, từ đó thiết kế cơ sở dữ liệu phân tán.
- Chương 4: Mô tả hệ thống - Phát triển ứng dụng quản lý bán hàng, so sánh chi
phí thời gian giữa hai mô hình CSDLPT và CSDLTT.
- Chương 5: Kết luận - Tổng kết các kết quả đạt được trong luận văn.

9


CHƯƠNG 1 - TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN

CHƯƠNG 1 - TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN
Trong chương này luận văn sẽ trình bày những vấn đề liên quan đến CSDLPT
như giới thiệu tổng quan về CSDLPT, các ưu và nhược điểm, cách thiết kế CSDLPT.
Đồng thời trình bày khả năng hổ trợ phân tán trong SQL Server, cùng cách giải quyết
xung đột khi chạy phân tán dữ liệu.
1.1. Cơ sở dữ liệu phân tán
Định nghĩa: Cơ sở dữ liệu phân tán là tập hợp dữ liệu logic thuộc về cùng một
hệ thống nhưng trải rộng nhiều điểm khác nhau trên mạng máy tính. Định nghĩa này

nhấn mạnh hai khía cạnh quan trọng của cơ sở dữ liệu phân tán:
-

Sự phân tán dữ liệu (data distribution)

-

Sự tương quan logic (logical correlation)

1.2. Hệ quản trị cơ sở dữ liệu phân tán
1.2.1. Định nghĩa
Hệ quản trị cơ sở dữ liệu phân tán (DDBMS) là một hệ thống phần mềm cho
phép quản lý các hệ cơ sở dữ liệu phân tán và làm cho việc phân tán trở nên vô hình
đối với người sử dụng.
1.2.2. Các thành phần của hệ quản trị cơ sở dữ liệu phân tán
Sự phân tán dữ liệu là trong suốt đối với người sử dụng nên việc quản lý các dữ
liệu phân tán đòi hỏi mỗi trạm phải cài đặt các thành phần sau:
-

Quản trị cơ sở dữ liệu (Database management – DB)

-

Truyền dữ liệu (Data communication – DC)

-

Từ điển dữ liệu (Data Dictionary – DD)

-


Cơ sở dữ liệu phân tán (Distributed database - DDB)

1.3. So sánh cơ sở dữ liệu phân tán và cơ sở dữ liệu tập trung
Cơ sở dữ liệu phân tán không đơn giản chỉ là sự phân bố của các cơ sở dữ liệu,
vì cơ sở dữ liệu phân tán có nhiều đặc điểm khác biệt so với cơ sở dữ liệu tập trung.
Ta sẽ so sánh cơ sở dữ liệu tập trung so với cơ sở dữ liệu phân tán ở một số đặc điểm
sau [5]:
10


CHƯƠNG 1 - TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN

Điều khiển tập trung:
Điều khiển tập trung là một đặc điểm của cơ sở dữ liệu tập trung, toàn bộ dữ
liệu được tập trung lại nhằm tránh sự dư thừa dữ liệu, đảm bảo tính độc lập của dữ
liệu, dữ liệu được quản lý tập trung bởi người quản trị.
Trong các cơ sở dữ liệu phân tán vấn đề điểu khiển tập trung không được nhấn
mạnh, sự điều khiển được thực hiện theo một cấu trúc phân cấp, bao gồm người quản
trị cơ sở dữ liệu toàn cục và cơ sở dữ liệu cục bộ.
Tuy nhiên, những người quản trị cơ sở dữ liệu cục bộ cần phải có những quyền
độc lập riêng về cơ sở dữ liệu cục bộ của mình mà những người quản trị cơ sở dữ liệu
toàn cục hoàn toàn không có những quyền này.
Độc lập dữ liệu:
Độc lập dữ liệu là một đặc điểm của cở sở dữ liệu, tổ chức lưu trữ dữ liệu trong
suốt đối với người lập trình ứng dụng. Ưu điểm của độc lập dữ liệu là các chương
trình không bị ảnh hưởng bởi những thay đổi trong cấu trúc vật lý của dữ liệu.
Trong cơ sở dữ liệu phân tán, độc lập dữ liệu quan trọng cũng như trong cơ sở
dữ liệu tập trung. Tuy nhiên, một đặc điểm mới được đưa vào trong khái niệm thông
thường của độc lập dữ liệu là sự trong suốt phân tán.

Giảm dư thừa dữ liệu:
Trong cơ sở dữ liệu tập trung, sự dư thừa dữ liệu được giảm đến mức tối thiểu,
do tránh sự không nhất quán dữ liệu giữa nhiều bản sao bằng cách chỉ có một bản sao
và tiết kiệm không gian lưu trữ. Việc giảm dư thừa dữ liệu có thể đạt được bằng cách
chia sẽ dữ liệu cho phép nhiều ứng dụng truy xuất đến các tập tin dữ liệu.
Trong cở sở dữ liệu phân tán việc giảm dư thừa phức tạp hơn vì ngoài hai lý
do trên còn nhiều lý do để giảm dư thừa như:
Làm tăng tính cục bộ của ứng dụng nếu dữ liệu được nhân bản tại tất cả các
trạm mà ứng dụng cần dữ liệu. Khi đó, các ứng dụng cục bộ được thực hiện nhanh
hơn vì không phải truy xuất dữ liệu từ xa.
Làm tăng tính sẳn sàng của ứng dụng, vì một trạm gặp sự cố sẽ không làm
gián đoạn việc chạy chương trình ở những trạm khác.
Biệt lập và bảo mật:

11


CHƯƠNG 1 - TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN

Trong cơ sở dữ liệu tập trung, hệ quản trị cơ sở dữ liệu tập trung có thể đảm
bảo chỉ truy cập đến dữ liệu đã được ủy quyền.
Trong cơ sở dữ liệu phân tán, hệ quản trị cơ sở dữ liệu cục bộ cũng phải giải
quyết các vấn đề giống như hệ quản trị cơ sở dữ liệu trong cơ sở dữ liệu tập trung.
Tuy nhiên, hai khía cạnh đặc biệt sau đây của cơ sở dữ liệu phân tán cần phải
được xem xét là trong cơ sở dữ liệu phân tán với một mức độ độc lập cao của các
trạm, người quản trị dữ liệu cục bộ quản lý dữ liệu tốt hơn là phụ thuộc vào người
quản trị cơ sở dữ liệu trung tâm.
1.4. Ưu và nhược điểm của cơ sở dữ liệu phân tán
Ưu điểm:
Lợi ích cơ bản của cơ sở dữ liệu phân tán là dữ liệu của các cơ sở dữ liệu vật

lý riêng biệt được tích hợp logic với nhau, do đó người sử dụng có thể truy cập dữ
liệu được trên mạng.
Tận dụng cơ sở dữ liệu sẵn có: Hình thành cơ sở dữ liệu phân tán từ cơ sở dữ
liệu tập trung sẵn có ở các vị trí cục bộ.
Tăng độ tin cậy và khả năng sẵn sàng: Khi một trạm gặp sự cố thì chỉ có dữ
liệu và ứng dụng trên trạm gặp sự cố không thể truy cập được, các trạm khác vẫn hoạt
động bình thường.
Giảm chi phí truyền tải dữ liệu: Trong cơ sở dữ liệu phân tán ứng dụng được
đặt ở trạm cục bộ nên có thể giảm bớt được chi phí truyền tải dữ liệu, bằng cách khai
thác cơ sở dữ liệu tại chổ.
Dễ dàng mở rộng: Việc thêm mới, tăng kích thước cơ sở dữ liệu trong môi
trường phân tán có thể thực hiện một cách dễ dàng cũng như là việc thêm các cơ sở
dữ liệu thành phần.
Thuận lợi cho nhu cầu phát triển: Xu hướng dùng cơ sở dữ liệu phân tán sẽ
cung cấp khả năng phát triển thuận lợi hơn và giảm được xung đột về chức năng giữa
các đơn vị đã tồn tại, giảm được xung đột giữa các ứng dụng khi truy cập đến cơ sở
dữ liệu.
Nhược điểm:
Độ phức tạp thiết kế cơ sở dữ liệu và cài đặt hệ thống tăng
Hệ thống phần cứng phức tạp
12


CHƯƠNG 1 - TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN

Khó phát hiện và khử lỗi
Bảo mật khó khăn
1.5. Thiết kế cơ sở dữ liệu phân tán
1.5.1. Khung thiết kế
Việc thiết kế cơ sở dữ liệu tập trung thường giải quyết 2 vấn đề:

-

Thiết kế sơ đồ quan niệm để mô tả dữ liệu.

-

Thiết kế cơ sở dữ liệu vật lý tức là ánh xạ từ sơ đồ quan niệm tới không
gian lưu trữ và xác định các cách thức truy cập khác nhau.

Đối với việc thiết kế cơ sở dữ liệu phân tán cũng phải giải quyết 2 vấn đề nêu
trên, nhưng 2 vấn đề đó giờ đây trở thành việc thiết kế sơ đồ toàn cục và thiết kế cơ
sở dữ liệu cục bộ ở mỗi trạm. Những kỹ thuật giải quyết 2 vấn đề này giống như cách
làm trong việc thiết kế cơ sở dữ liệu tập trung, nhưng cần giải quyết thêm 2 vấn đề
nữa là [1]:
-

Thiết kế phân đoạn: Xác định cách thức phân chia những quan hệ toàn bộ
thành những đoạn dữ liệu theo chiều ngang, dọc hay hỗn hợp.

-

Thiết kế phân phối các phân đoạn: Xác định cách thức những phân đoạn
được ánh xạ vào các ảnh vật lý.

1.5.2. Các phương pháp thiết kế cơ sở dữ liệu phân tán
Có hai cách tiếp cận khi thiết kế cơ sở dữ liệu phân tán: Tiếp cận từ trên xuống
(top-down) và tiếp cận từ dưới lên (bottom-up) [1].
Trong cách tiếp cận top-down, bắt đầu bằng việc thiết kế sơ đồ toàn cục, tiếp
đến thiết kế phân đoạn cơ sở dữ liệu và sau đó cấp phát các đoạn này cho các trạm
tạo ra hình ảnh vật lý của dữ liệu, và cuối cùng là thiết kế vật lý dữ liệu ở mỗi trạm.

Đối với hệ thống phát triển từ những hệ thống hỗn tạp thì phương pháp này có sức
hấp dẫn lớn vì nó cho phép thực hiện thiết kế dựa trên các giải pháp hợp lý theo từng
trường hợp.
Khi cơ sở dữ liệu phân tán được phát triển từ những cơ sở dữ liệu đang tồn tại,
không phải dễ dàng áp dụng được các tiếp cận top-down. Trong trường hợp này, sơ

13


CHƯƠNG 1 - TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN

đồ toàn cục được tạo ra dưới dạng trung gian của các mô tả dữ liệu đang tồn tại. Do
đó cách tiếp cận thích hợp trong trường hợp này là tiếp cận bottom-up.
Tóm lại cách tiếp cận bottom-up đòi hỏi.
-

Chọn một mô hình dữ liệu chung để mô tả sơ đồ toàn cục của cơ sở dữ liệu.

-

Chuyển đổi các cơ sở dữ liệu cục bộ sang mô hình dữ liệu chung.

-

Hợp nhất những sơ đồ cục bộ thành sơ đồ toàn cục chung.

1.5.3. Thiết kế phân đoạn
Bản chất của việc thiết kế phân đoạn là nhóm các bộ hay những thuộc tính của
quan hệ toàn cục mà có cùng tính chất theo quan điểm phân phối, mỗi nhóm bộ hay
thuộc tính có cùng tính chất sẽ tạo nên một phân đoạn [1].

1.5.3.1. Phân đoạn đầy đủ
Là việc tạo ra các bản sao cơ sở dữ liệu tại nhiều trạm.
Ưu điểm:
-

Do dữ liệu nằm tại nhiều nơi nên cơ sở dữ liệu phục vụ cho người sử dụng
được đáp ứng cao, tốc độc truy xuất dữ liệu diễn ra nhanh chóng.

-

Sức kháng cáo, trong trường hợp 1 trạm chứa dữ liệu bị sự cố, thì vẫn còn
bản sao tại nhiều trạm khác.

Khuyết điểm:
-

Khá tốn kém do 1 bản dữ liệu tồn tại trên nhiều trạm

-

Xử lý phức tạp khi cập nhật dữ liệu, do dữ liệu khác nhau về vật lý nhưng
cần thống nhất về mặt logic.

1.5.3.2. Phân đoạn cắt ngang
Có 2 loại phân đoạn ngang: Phân đoạn chính và phân đoạn dẫn suất. Việc xây
dựng phân đoạn ngang cần phải dựa vào tính chất thống kê của dữ liệu, tức số tham
khảo của ứng dụng đến phân đoạn.
Phân đoạn chính: Phân đoạn chính được định nghĩa bằng cách dùng các câu
chọn trên những quan hệ toàn cục, điều kiện của câu chọn được gọi là vị từ. Phân
đoạn chính phải bảo đảm tính đúng đắn tức là mỗi bộ của quan hệ toàn cục được chọn

chỉ trong một phân đoạn [1].
14


CHƯƠNG 1 - TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN

Giả sử R là một quan hệ toàn cục mà từ đó ta muốn tạo ra các phân đoạn chính.
Phải xác định:
1. Vị từ p được gọi là vị từ đơn giản nếu p có dạng
<Thuộc tính>O<Giá trị>
Trong đó O là một trong các phép toán: =, >, <, ≥, ≤, ≠
2. Vị từ y được gọi là vị từ minterm của tập P các vị từ đơn giản là mối liên hệ
giữa mọi vị từ xuất hiện trong P, có thể kiểu liên kết này là khẳng định hay phủ định
nhưng không mâu thuẩn nhau:
y = pi p pi*
Trong đó pi*=p, pi*=NOT pi Và y  false
Một vị tự đơn giản pi được gọi là đáng kể đối với tập P các vị từ đơn giản nếu
tồn tại ít nhất 2 vị từ minterm của P chỉ khác nhau ở dạng xuất hiện của pi (tức ở vị
từ thứ nhất thì pi ở dạng thường, ở vị từ thứ hai thì pi ở dạng phủ định) sao cho những
phân đoạn tương ứng được tham khảo theo các cách khác nhau bởi ít nhất một ứng
dụng [1].
Phân đoạn dẫn xuất: Trong một số trường hợp, việc phân đoạn quan hệ toàn
cục R không dựa trên tập các thuộc tính R, mà cần phải được dẫn suất từ phân đoạn
ngang của một quan hệ toàn cục khác.
Ưu điểm:
-

Phù hợp tính tự nhiên

-


Tăng cường tính hiệu quả do mỗi trạm chỉ chứa dữ liệu cần thiết cho mình

-

Tối ưu hóa quy trình cập nhật, truy xuất dữ liệu do tính cục bộ vốn có

-

An toàn dữ liệu cao do mỗi nơi chịu trách nhiệm dữ liệu mình quản lý

Khuyết điểm:
-

Nếu dữ liệu không nhân bản, gặp sự cố trên trạm chứa dữ liệu, có thể dẫn
đến mất dữ liệu.

-

Tại mỗi trạm, việc truy xuất dữ liệu từ xa vẫn gặp phải khó khăn về tốc độ,
quyền hạn…

1.5.3.3. Phân đoạn cắt dọc

15


CHƯƠNG 1 - TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN

Xác định phân đoạn dọc của một quan hệ toàn cục R liên quan đến việc nhóm

các thuộc tính thành tập các thuộc tính để các chương trình ứng dụng tham khảo đến.
Điều kiện đúng đắn của việc phân đoạn dọc quan hệ toàn cục R là mỗi thuộc tính của
R thuộc về ít nhất một tập hợp và mỗi tập hợp gồm có khóa tường minh hay một khóa
hệ thống tự tạo, mục đích là nhằm tái xây dựng lại quan hệ toàn cục R ban đầu [1].
Mục đích của phân đoạn dọc là xác định những phân đoạn Ri sao cho nhiều ứng
dụng có thể được thực hiện dùng chỉ một phân đoạn.
Ưu điểm: Tiết kiệm không gian lưu trữ nên có tính hiệu quả
Khuyết điểm: Tốn nhiều thời gian khi truy xuất
1.5.3.4. Phân đoạn hỗn hợp
Chọn cách đơn giản nhất để phân đoạn hỗn hợp gồm có:
-

Áp dụng phân đoạn ngang vào những phân đoạn dọc

-

Áp dụng phân đoạn dọc vào những phân đoạn ngang

Mặc dù các thao tác này có thể được lặp lại đệ quy, tạo ra cây phân đoạn với cấp
độ phức tạp nào đó nhưng trong thực tế thường không lặp lại quá 2 mức. Hai vấn đề
trên cho phép cả hai cách phân đoạn được xem xét mỗi quan hệ, vì vậy không đạt
được tiện lợi cần thiết [1].
1.6. Thiết kế phân phối các chiến lược
Vấn đề phân phối dữ liệu đã được phân tích rộng rãi trong phạm vi vấn đề phân
phối tập tin. Cách dễ nhất là xem mỗi phân đoạn là một tập tin riêng biệt, tuy nhiên
cách tiếp cận như vậy không thích hợp vì nhiều lý do:
Những phân đoạn không được mô hình chính xác như những tập tin riêng biệt,
vì theo cách này không quan tâm đến cấu trúc.
Có nhiều phân đoạn hơn những quan hệ toàn cục ban đầu, và nhiều mô hình
phân tích không thể tính được giải pháp cho vấn đề có liên quan đến quá nhiều biến.

1.6.1. Tiêu chuẩn chung
Trong công việc cấp phát phân đoạn, quan trọng cần phải xác định là mục tiêu
là thiết kế phân phối dư thừa hay không dư thừa.
Phương pháp đơn giản nhất là cách tiếp cận phù hợp nhất (best-fit) một độ đo
được dùng với mỗi phân đoạn có thể là trạm với số đo tốt nhất được chọn. Cách tiếp
16


CHƯƠNG 1 - TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN

cận này cho một giải pháp mà không xem xét đến hiệu ứng lẫn nhau của việc đặt một
phân đoạn ở một trạm cho trước nếu một phân đoạn có liên quan cũng được đặt ở đó
[1].
Bản sao lặp lại các đoạn là phức tạp công việc thiết kế hơn vì:
-

Mức độ tạo bản sao của mỗi phân đoạn trở thành một trở ngại

-

Mô hình hóa chương trình ứng dụng có thuộc tính chỉ đọc sẽ phức tạp, do
những ứng dụng đó bây giờ có thể chọn lựa một trong số nhiều trạm để
truy cập đến các phân đoạn.

Để xác định vấn đề phân phối thừa, một trong hai phương pháp sau có thể được
sử dụng:
-

Xác định tập hợp tất cả các trạm mà lợi ích của việc phân phối bản sao của
phân đoạn lớn hơn giá thành, và phân phối một bản sao của phân đoạn cho

mỗi phần tử của tập hợp này, phương pháp này gọi là phương pháp chọn
tất cả trạm sinh lợi.

-

Đầu tiên xác định giải pháp cho vấn đề không có bản sao, rồi dẫn tạo ra
bản sao bắt đầu từ nơi có lợi ích nhất, tiến trình kết thúc khi sự tạo bản sao
thêm nữa không có lợi.

1.6.2. Phân đoạn ngang
Sử dụng cách tiếp cận phù hợp nhất (best-fit) cho một phân phối không có bản
sao, ta đặt Ri ở trạm mà số tham khảo đến Ri là lớn nhất. Số tham khảo cục bộ của Ri
ở trạm j là:
Bij = k kj. kj
Bij số lượng tham khảo của các chương trình [1]
Đoạn Ri sẽ được phân phối ở trạm j* sao cho Bij* lớn nhất
Dùng phương pháp tất cả trạm sinh lợi cho phân phối có bản sao: đặt Ri ở tất cả
các trạm j mà chi phí tham khảo đọc của chương trình lớn hơn chi phí tham khảo cập
nhật đến đoạn Ri từ chương trình ở bất kỳ trạm khác.
Bi j =k  k j . k i - C. k j’  j k j’ uk i

17


CHƯƠNG 1 - TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN

Với C là hằng số tỉ lệ đo tỉ số giữa chi phí một lần cập nhật so với một lần đọc,
nói chung chi phí cập nhật cao hơn vì nó đòi hỏi một lượng thông điệp điều khiển lớn
hơn và những thao các cục bộ nhiều hơn (vì vậy C  1)
Ri sẽ được phân phối ở tất cả những trạm j* sao cho Bij* là dương, trong trường

hợp tất cả Bij âm, 1 bản sao của Ri được đặt ở trạm nào mà Bij* là lớn nhất
Dùng phương pháp bản sao Ri cho các phân đoạn lặp lại: Chỉ có thể đo lợi ích
đặt bản sao của đoạn Ri trong giới hạn khả năng tăng và khả năng sẵn có của hệ thống.
Khi bắt đầu công việc cấp phát, lợi ích này không tăng tỷ lệ với độ dư thừa của đoạn
Ri. Giả sử di tương đương với cấp độ dư thừa của đoạn Ri và giả sử Fj tương đương
với lợi ích với việc có đoạn Rj lặp lại đầy đủ ở mỗi trạm [1].
Hàm (di) đo lợi ích này là:
(di) = ( 1 - 21-di )Fi
Chú ý ( 1 ) = 0,  ( 2 ) = Fi/2, ( 3 ) = 3Fi. Sau đó tính toán lợi ích của việc rút
ra bản sao mới của Ri ở vị trí j qua việc thay đổi công thức ở trường hợp 2 như sau:
Bi j =k  k j . k i - C. k j’  j k j’ uk i + (di)
1.6.3. Phân đoạn dọc
Để đo lợi ích của việc phân đoạn dọc Ri, được phân phối ở trạm r, thành r phân
đoạn Rs và Rt, phân phối ở trạm s và t.
Xem xét các tập sau đây:
Có 2 nhóm chương trình ứng dụng As và At sử dụng thuộc tính chỉ từ Rs và Rt
đoạn của chương trình ứng dụng xử lý ở vị trí s và t và đưa ra ở vị trí cục bộ s và t,
mối liên quan giữa các chương trính ứng dụng này là đều tham khảo từ xa.
Đo lợi ích này theo công thức sau:
Btst =  kA sksnki +  kAtktnki -  kA1krnki + 2  kA2 . krnki +
 kA3k r, s, tkjnki
Để đơn giản hóa, công thức này đếm số lượng các lần truy cập để phân biệt giữa
những lần truy cập đọc và cập nhật, dựa vào những tài khoản các giá trị khác nhau,
các giá trị này không hiệu quả khi dùng (rk i + C.uki) thay vì nki [1].

18


CHƯƠNG 1 - TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN


Công thức này có thể được dùng trong một giải thuật splitting toàn diện để xác
định có split Ri ở trạm r thành Rs ở trạm s và Rt ở trạm t thích hợp bằng cách thử tất
cả những tổ hợp có thể của trạm s và t, cẩn thận khi r=s hay r=t.
1.7. Tổng quan SQL Server trong việc hổ trợ cơ sở dữ liệu phân tán
Hệ quản trị cơ sở dữ liệu SQL Server là hệ thống quản trị lớn, hổ trợ mạnh khả
năng quản lý dữ liệu, dữ liệu được phân tán trên các hệ thống lớn, phân cấp. Sức
mạnh vượt trội của SQL Server 2014 là khả năng quản lý dữ liệu, truy xuất dữ liệu từ
xa, phân tán, phân tích trực tuyến (OLAP) [12].
1.7.1. Các khái niệm
Liên kết server (Linked Servers): Là cơ chế cho phép kết nối từ một SQL
Server tới một database server khác (có thể là SQL Server hoặc các hệ thống khác)
giúp cho việc truy vấn, cập nhật dữ liệu từ một server ở xa thuận lợi. Thể hiện tính
trong suốt về mặt vị trí, nhờ vậy mà trạm này có thể thấy cơ sở dữ liệu ở trạm kia.
Truy cập từ xa: Là truy vấn mà chọn lựa thông tin từ một hay nhiều bảng trên
cùng một trạm từ xa.
Cập nhật từ xa: Là cập nhật dữ liệu trên một hay nhiều bảng trên cùng một
trạm.
Truy vấn phân tán: Là truy vấn lấy thông tin từ hai hay nhiều trạm
Cập nhật phân tán: Là cập nhật bổ sung dữ liệu từ hai hay nhiều trạm
Giao tác từ xa: Là một giao tác chứa một hay nhiều phát biểu từ xa, tất cả tham
chiếu trên cùng một trạm.
Giao tác phân tán: Là bất kỳ giao tác nào bao gồm một hay nhiều phát biểu tác
động trên hai hay nhiều trạm phân biệt trong hệ phân tán.
Bản sao: Nhằm đảm bảo mỗi lần cập nhật, các bản sao của đơn vị dữ liệu A sẽ
cập nhật đồng thời trên các trạm khác nhau, SQL Server dùng phương thức: Snapshot
Replication.
Snapshot Replication: Phân tán dữ liệu một cách chính xác tại một thời điểm
cụ thể và không cần kiểm soát quá trình cập nhật dữ liệu. Khi quá trình đồng bộ xảy
ra, thực thể bản sao được phát sinh và gửi đến các Subscriber. Một cách đơn giản là


19


CHƯƠNG 1 - TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN

Snapshot Replication tạo bản sao của cơ sở dữ liệu Publisher và gửi nó đến Subscriber
qua sự phân tán dữ liệu.
Publisher: Là một máy chủ lưu trữ cơ sở dữ liệu đóng vai trò như một nguồn
dữ liệu để phân tán giữ các cơ sở dữ liệu khác.
Distributor: Là một máy chủ cơ sở dữ liệu đóng vai trò trung gian giữa
Publisher và Subscriber. Nó nhận dữ liệu từ cơ sở dữ liệu Publisher và gửi dữ liệu
đến cơ sở dữ liệu Subscriber
Subscriber: Là một máy chủ lưu trữ cơ sở dữ liệu nơi Publisher phân tán dữ
liệu đến
Cách thức Snapshot Replication hoạt động:
Theo mặc định có ba loại nhân bản sử dụng một bản sao để khởi tạo các
Subscriber.
SQL Server Snapshot Agent luôn luôn tạo ra các tập tin bản sao, nhưng Agent
phân phát các tập tin khác nhau tùy thuộc vào các kiểu nhân bản đang sử dụng.
Snapshot Replication và Transactional Replication sử dụng Distribution Agent để
phân phát các tập tin, trong khi Merge Replication sử dụng SQL Server Merge Agent.
Snapshot Agent chạy tại Distributor. Distribution Agent và Merge Agent chạy tại
Distributor để đẩy dữ liệu đến các Subscription, hoặc chạy tại các Subscriber để kéo
các Subscription [14].

20


CHƯƠNG 1 - TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN


Hình 1.1: Cách thức Snapshot Replication hoạt động
Cách thức Merge Replication hoạt động
Merge Replication được cài đặt bởi SQL Server Snapshot Agent và Merge
Agent. Nếu Publication chưa được lọc hoặc sử dụng các bộ lọc tỉnh, Snapshot Agent
tạo ra một bản sao duy nhất. Nếu Publication sử dụng bộ lọc tham số, Snapshot Agent
tạo ra một bản sao cho mỗi phân vùng dữ liệu. Merge Agent áp dụng khởi tạo các bản
sao đến các Subscriber. Nó cũng trộn dữ liệu thay đổi gia tăng xảy ra tại Publisher
hoặc các Subscriber sau khi bản sao đã được khởi tạo, phát hiện và giải quyết bất kỳ
các xung đột theo các nguyên tắc đã được cấu hình [14].

21


CHƯƠNG 1 - TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN

Hình 1.2: Cách thức Merge Replication hoạt động
Cách thức Transactional Replication hoạt động
Transactional Replication được cài đặt bởi SQL Server Snapshot Agent, Log
Reader Agent và Distribution Agent. Snapshot Agent chuẩn bị các tệp tin bản sao
chứa đựng lược đồ và dữ liệu của các bảng được xuất bản, các đối tượng cơ sở dữ
liệu lưu trữ các tập tin trong thư mục bản sao, và lưu trữ các Jobs đồng bộ trong cơ
sở dữ liệu phân tán trên Distributor.
Log Reader Agent giám sát các Transaction Log của mỗi cấu hình cơ sở dữ liệu
cho Transactional Replication và sao chép các transaction được đánh dấu nhân bản
từ Transaction Log vào cơ sở dữ liệu phân tán. Distribution Agent sao chép các tập
tin khởi tạo bản sao từ thư mục bản sao và tổ chức các transaction trong các bảng của
cở dữ liệu phân tán đến các Subscriber.

22



×