MỤC LỤC
MỞ ĐẦU 1
1. Tính cấp thiết của đề tài 1
2. Mục tiêu nghiên cứu 2
3. Đối tượng và phạm vi nghiên cứu 2
4. Phương pháp nghiên cứu 3
5. Bố cục luận văn 3
6. Tổng quan tài liệu nghiên cứu 3
CHƯƠNG 1. TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN 4
1.1. MẠNG MÁY TÍNH 4
1.2. CƠ SỞ DỮ LIỆU PHÂN TÁN 6
1.2.1. Các khái niệm cơ bản về cơ sở dữ liệu phân tán 6
1.2.2. Hệ quản trị cơ sở dữ liệu phân tán (DDBMS) 7
1.2.3. Các điểm đặc trưng của cơ sở dữ liệu phân tán 8
1.2.4. Kiến trúc tham chiếu của cơ sở dữ liệu phân tán 10
1.2.5. Các loại truy xuất CSDL phân tán 13
1.3. CÁC MỨC TRONG SUỐT CỦA CSDL PHÂN TÁN 14
1.3.1. Khái niệm tính trong suốt 14
1.3.2. Một số khía cạnh điển hình của tính trong suốt 14
1.4. PHÂN MẢNH VÀ CẤP PHÁT DỮ LIỆU 17
1.4.1. Phân mảnh dữ liệu 17
1.4.2. Cấp phát tài nguyên 23
2.5. GIAO DỊCH
28
2.5.1. Định nghĩa giao dịch 28
2.5.2. Tính chất của giao dịch 29
2.5.3. Phân loại giao dịch 30
CHƯƠNG 2. PHÂN TÍCH, THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN
PHỤC VỤ THÔNG TIN NHANH VỀ NHÂN SỰ TẠI QUẢNG BÌNH . . 32
2.1. MÔ TẢ YÊU CẦU 32
2.1.1. Các căn cứ pháp lý về quản lý nhân sự 32
2.1.2. Cơ cấu tổ chức các cơ quan hành chính nhà nước 32
2.1.3. Các đối tượng tham gia vào hệ thống 32
2.1.4. Yêu cầu về các chức năng của hệ thống 33
2.1.5. Hệ thống mã hóa thông tin phục vụ xây dựng chương trình phân tán
phục vụ thông tin nhanh về nhân sự tại Quảng Bình 34
2.2. THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN 41
2.2.1. Mô hình tổng quát trong thiết kế CSDL phân tán 41
2.2.2. Phân mảnh dữ liệu 46
2.2.3. Cấp phát (chi phí phân bố các mảnh) 52
2.2.4. Xác định vị trí đặt cơ sở dữ liệu và phân nhóm người dùng 55
2.3. XỬ LÝ TRUY VẤN TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN 56
2.3.1. Khái niệm truy vấn 56
2.3.2. Các tầng của quá trình xử lý truy vấn phân tán 56
2.4. KIỂM SOÁT TÍNH TOÀN VẸN NGỮ NGHĨA 62
2.4.1. Kiểm soát toàn vẹn ngữ nghĩa tập trung 62
2.4.2. Kiểm soát toàn vẹn ngữ nghĩa phân tán 64
2.4.3. So sánh việc kiểm soát toàn vẹn ngữ nghĩa tập trung và phân tán 67
CHƯƠNG 3. XÂY DỰNG CHƯƠNG TRÌNH PHÂN TÁN PHỤC VỤ
THÔNG TIN NHANH VỀ NHÂN SỰ TẠI QUẢNG BÌNH 68
3.1. MÔ HÌNH CHỨC NĂNG CỦA HỆ THỐNG 68
3.1.1. Biểu đồ phân cấp chức năng 68
3.1.2. Biểu đồ luồng dữ liệu 68
3.2. TỐI ƯU HÓA TRUY VẤN PHÂN TÁN 70
3.2.1. Hàm chi phí 71
3.2.2. Số liệu thống kê cơ sở dữ liệu 72
3.2.3. Lực lượng của các kết quả trung gian 73
3.3. THUẬT TOAN TỐI ƯU HOA TRUY VẤN PHAN TAN SYSTEM R* 75
3.4. ĐIỀU KHIỂN ĐỒNG THỜI PHÂN TÁN
78
3.4.1. Phân loại các cơ chế điều khiển đồng thời 79
3.4.2. Điều khiển đồng thời bằng khóa chốt 79
3.4.3. Thuật toán điều khiển đồng thời bằng dấu 83
3.4.4. Quản lý khóa gài 84
3.5. KIẾN TRÚC CHƯƠNG TRÌNH ỨNG DỤNG PHÂN TÁN PHỤC VỤ
THÔNG TIN NHANH VỀ NHÂN SỰ TỈNH QUẢNG BÌNH 86
3.5.1. Kiến trúc chương trình 86
3.5.2. Các chức năng của chương trình 92
3.6. CÀI ĐẶT VÀ THỬ NGHIỆM 98
KẾT LUẬN VÀ KIẾN NGHỊ 99
1. Kết quả đạt được 99
2. Hạn chế 100
3. Hướng phát triển đề tài 100
DANH MỤC TÀI LIỆU THAM KHẢO 101
QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN THẠC SĨ (BẢN SAO).
DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT
CÁC KÝ HIỆU
1. Các phép toán tập hợp
∪
Phép hợp
∩
Phép giao
x
Tích đề các
2. Các phép toán quan
hệ
σ Phép chọn
π phép chiếu
Phép nối
ω Phép nửa nối
3. Các ký hiệu khác
length(A
i
) Chiều dài của thuộc tính A
i
card(R
j
) Số các bộ của quan hệ R
j
size(F
i
) Kích thước của một mảnh F
i
CÁC TỪ VIẾT TẮT
CSDL Cơ sở dữ liệu
CSDLPT Cơ sở dữ liệu phân tán
DDBMS Hệ quản trị cơ sở dữ liệu phân tán
NSD Người sử dụng
QTDL Quản trị dữ liệu
TTDL Truyền thông dữ liệu
TDDL Từ điển dữ liệu
DANH MỤC CÁC BẢNG
Số hiệu bảng Tên bảng Trang
Bảng 1.1.
So sánh các tính chất đặc trưng của CSDL tập
trung và CSDL phân tán
9
Bảng 2.1. Ký hiệu quy ước cho hệ thống mã 34
Bảng 2.2.
Dạng mã hóa sở ban ngành tương đương, huyện,
xã trực thuộc
35
Bảng 2.3.
Áp mã cho hệ thống cụ thể mã các sở, ngành
tương đương
35
Bảng 2.4. Áp mã cho hệ thống cụ thể mã các huyện 36
Bảng 2.5. Áp mã cho hệ thống cụ thể mã các xã thuộc huyện 36
Bảng 2.6.
Dạng mã hóa phòng trực thuộc sở ban ngành
tương đương hoặc huyện
37
Bảng 2.7.
Áp mã cụ thể cho phòng trực thuộc sở ban ngành
tương đương hoặc huyện
37
Bảng 2.8. Dạng mã hóa chức danh cán bộ, công chức cấp xã 38
Bảng 2.9.
Áp mã cụ thể cho chức danh cán bộ, công chức
cấp xã
38
Bảng 2.10. Dạng mã hóa nhân sự 38
Bảng 2.11. Áp mã cho nhân sự cụ thể 38
Bảng 2.12. Dạng mã hóa các quyền truy xuất ngang 39
Bảng 2.13. Dạng mã hóa các quyền truy xuất dọc 40
Bảng 2.14.
Áp dụng bảng mã cụ thể cho quyền truy xuất dọc
các sở, ban ngành tương đương
40
Bảng 2.15. Ma trận sử dụng thuộc tính 49
Bảng 2.16. Ma trận thuộc tính hấp dẫn AA 49
Bảng 2.17. Ma trận hấp dẫn tụ 51
Bảng 2.18.
So sánh kiểm soát toàn vẹn ngữ nghĩa tập trung và
phân tán
67
Bảng 3.1. Bảng tương thích của các thể thức khóa 80
DANH MỤC CÁC HÌNH
Số hiệu
Hình
Tên hình Trang
Hình 1.1.
Sự phân tán các cụm server trong hệ thống phục
vụ thông tin nhanh về nhân sự tại Quảng Bình
5
Hình 1.2. Môi trường hệ CSDL phân tán 6
Hình 1.3.
Các thành phần của CSDL phân tán thông tin
nhanh về nhân sự tại Quảng Bình
8
Hình 1.4. Kiến trúc tham chiếu của CSDL phân tán 11
Hình 1.5.
Các phân mảnh và mô hình vật lý cho một quan hệ
toàn cục
12
Hình 1.6. Truy xuất từ xa thông qua các tác vụ cơ bản 13
Hình 1.7. Truy xuất từ xa thông qua chương trình phụ trợ 13
Hình 1.8. Trong suốt phân đoạn 15
Hình 1.9. Trong suốt định vị 15
Hình 1.10. Trong suốt ánh xạ địa phương 16
Hình 1.11. Phân mảnh hỗn hợp 23
Hình 1.12. Mô hình giao dịch 29
Hình 2.1.
Cơ cấu tổ chức các cơ quan hành chính tỉnh Quảng
Bình
32
Hình 2.2. Mô hình phân cấp quản lý 42
Hình 2.3. Sơ đồ thiết kế CSDL theo mô hình từ trên xuống 45
Hình 2.4. Kịch bản chi phí đọc 52
Hình 2.5. Kịch bản chi phí ghi 53
Hình 2.6. Mô hình cấp phát dữ liệu phân tán 56
Hình 2.7.
Lược đồ phân tầng tổng quát để xử lý truy vấn
phân tán
57
Hình 3.1. Biểu đồ phân cấp chức năng 68
Hình 3.2. Biểu đồ luồng dữ liệu mức ngữ cảnh 68
Hình 3.3. Biểu đồ luồng dữ liệu mức đỉnh 69
Hình 3.4.
a,b,c
Các Biểu đồ luồng dữ liệu mức dưới đỉnh 69,70
Hình 3.5. Phân loại các thuật toán điều khiển tương tranh 78
Số hiệu
Hình
Tên hình Trang
Hình 3.6. Biểu đồ khóa 2 pha (2PL) 80
Hình 3.7. Biểu đồ khóa 2 pha nghiêm ngặt 81
Hình 3.8. Cấu trúc truyền giao của khóa 2 pha tập trung 82
Hình 3.9. Cấu trúc truyền giao của khóa 2 pha phân tán 82
Hình 3.10.
Kiến trúc chương trình ứng dụng phân tán phục vụ
thông tin nhanh về nhân sự tỉnh Quảng Bình
87
Hình 3.11.
Mô hình phân tán và cập nhật mảnh trên các cụm
server
89
Hình 3.12. Chức năng đăng nhập 91
Hình 3.13. Giao diện NSD thêm thông tin nhân sự 93
Hình 3.14.
a,b,c,d
Cập nhật các thông tin khác 93
Hình 3.15. Lựa chọn đơn vị để liệt kê nhân sự trực thuộc 94
Hình 3.16. Chức năng thuyên chuyển công tác 95
Hình 3.17.
a,b
Đăng nhập hệ thống (a) và kết quả bảng dữ liệu
nhân sự (b) ở cụm server 3
96
Hình 3.18.
a,b
Đăng nhập hệ thống (a) và kết quả bảng dữ liệu
nhân sự (b) ở cụm server 2
96
Hình 3.19.
a,b
Đăng nhập hệ thống (a) và kết quả bảng dữ liệu
nhân sự (b) ở cụm server 1
97
1
MỞ ĐẦU
1. Tính cấp thiết của đề tài
Về cơ cấu tổ chức, tỉnh Quảng Bình có 159 đơn vị hành chính cấp xã, 8
huyện, thành phố và 20 sở, ban ngành là các cơ quan hành chính cấp tỉnh
thuộc Ủy ban nhân dân tỉnh quản lý. Sở Nội vụ là cơ quan chuyên môn, giúp
Ủy ban nhân dân tỉnh quản lý cán bộ, công chức, viên chức toàn tỉnh với 187
đầu mối các cơ quan, ban, ngành. Việc quản lý nhân sự được bố trí phân tán
theo tổ chức và phân cấp quản lý đa tầng.
Đến năm 2012, toàn tỉnh Quảng Bình có hơn 20.000 công chức, viên
chức. Đối với cấp xã, toàn tỉnh hiện có 3.300 cán bộ, công chức và 6.700
người hoạt động không chuyên trách. Như vậy, trong toàn tỉnh có gần 30.000
hồ sơ cán bộ, công chức, viên chức và những người hoạt động không chuyên
trách cần được quản lý.
Hồ sơ cán bộ, công chức là tài liệu quan trọng có tính pháp lý phản ánh
trung thực về lý lịch của từng cá nhân cán bộ, công chức.
Trên thực tế, công tác quản lý hồ sơ cán bộ, công chức bằng phương
pháp truyền thống (hồ sơ giấy) nói chung và hồ sơ điện tử về cán bộ, công
chức nói riêng thời gian qua chưa được quan tâm, chỉ đạo để thực hiện một
cách đầy đủ và nghiêm túc. Do vậy, khi các cơ quan Nhà nước có thẩm quyền
yêu cầu số liệu để phục vụ cho việc nghiên cứu hoạch định chính sách đối với
đội ngũ cán bộ, công chức hoặc ra quyết định về nhân sự thì các cơ quan
chuyên môn không cung cấp được hoặc nếu có thì bản thân số liệu đó lại lạc
hậu và thiếu chính xác, không đầy đủ và thường không kịp thời.
Từ thực tế nêu trên, để đáp ứng yêu cầu về tính kịp thời, nâng cao chất
lượng và hiệu quả công cụ quản lý cán bộ, công chức chính quy và hiện
đại, cần thiết xây dựng cơ sở dữ liệu thông tin về cán bộ, công chức hành
2
chính nhà nước của tỉnh. Vì vậy, đề tài “Xây dựng cơ sở dữ liệu phân tán
phục vụ thông tin nhanh về nhân sự tại Quảng Bình” được lựa chọn là
hướng đi phù hợp với hệ thống quản lý đa tầng, phức tạp, phải xử lý theo
hướng phân tán mới giải quyết được yêu cầu bài toán; đồng thời hỗ trợ
thực hiện cải cách hành chính, hướng tới chính quyền điện tử là vấn đề tỉnh
Quảng Bình đang quan tâm ưu tiên thực hiện trong giai đoạn hiện nay.
2. Mục tiêu nghiên cứu
Nghiên cứu lý thuyết cơ sở dữ liệu phân tán để xây dựng cơ sở dữ liệu
phân tán giải quyết bài toán đã đặt ra. Tập trung vào hai nội dung chính: tin
học hóa trong công tác quản lý hành chính nhà nước và trợ giúp thông tin
nhanh về nhân sự. Ứng dụng có khả năng kết nối mạng giữa ba cấp: tỉnh,
huyện và xã; có khả năng mở rộng để kết nối với cơ sở dữ liệu Trung ương
trong tương lai.
3. Đối tượng và phạm vi nghiên cứu
3.1. Đối tượng nghiên cứu
- Lý thuyết hệ tin học phân tán; cơ sở dữ liệu phân tán.
- Các công cụ, công nghệ được sử dụng để xây dựng cơ sở dữ liệu phân
tán theo mô hình giải pháp đã lựu chọn.
- Hồ sơ cán bộ, công chức, viên chức tỉnh Quảng Bình.
3.2. Phạm vi nghiên cứu
- Quy trình quản lý hồ sơ cán bộ, công chức; các văn bản quy phạm pháp
luật về quản lý hồ sơ cán bộ, công chức hiện hành.
- Thiết kế, phân mảnh cơ sở dữ liệu và cấp phát các mảnh; điều khiển
đồng thời phân tán.
3
4. Phương pháp nghiên cứu
- Nghiên cứu lý thuyết:
+ Các văn bản quy phạm pháp luật hiện hành quy định về quản
lý cán bộ, công chức;
+ Các nguyên lý về cơ sở dữ liệu phân tán.
- Nghiên cứu thực nghiệm:
+ Phân cấp, quy trình quản lý cán bộ, công chức, quản lý hồ sơ
cán bộ, công chức tại tỉnh Quảng Bình;
+ Cài đặt thực nghiệm cơ sở dữ liệu.
5. Bố cục luận văn
Luận văn gồm có 3 chương, gồm:
Chương 1. Tổng quan về cơ sở dữ liệu phân tán
Chương 2. Phân tích, thiết kế cơ sở dữ liệu phân tán phục vụ thông tin
nhanh về nhân sự tại Quảng Bình
Chương 3. Xây dựng chương trình phân tán phục vụ thông tin nhanh về
nhân sự tại Quảng Bình
6. Tổng quan tài liệu nghiên cứu
- Quy định hiện hiện hành của Nhà nước về quản lý cán bộ, công chức,
viên chức và tình hình thực tế của địa phương;
- Hệ tin học phân phân tán; nguyên lý hệ cơ sở dữ liệu phân tán
- Ngôn ngữ lập trình Java và JSP
- Hệ quản trị cơ sở dữ liệu MySQL
4
CHƯƠNG 1
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN
Hệ cơ sở dữ liệu phân tán phục vụ thông tin nhanh về nhân sự tại Quảng
Bình là hệ thống hợp nhất quản lý từ cấp tỉnh đến tất cả các xã trực thuộc
huyện, do dó cơ sở dữ liệu phục vụ quản lý phải hợp nhất và là tài nguyên
dùng chung để khai thác hiệu quả về công tác quản lý nhân sự.
Hệ thống có sự phân cấp khác nhau nhằm mục đích quản lý, tra cứu,
thống kê và cập nhật thông tin một cách nhanh chóng, hiệu quả. Trên cơ sở
đó, hệ quản lý phân cấp thành 3 cụm Server khác nhau và phân tán trên phạm
vi địa lý khác nhau. Cụm thứ nhất quản lý nhân sự cấp sở, ban ngành tương
đương trực thuộc tỉnh. Cụm thứ hai quản lý nhân sự cấp huyện, ở đây chủ yếu
quản lý nhân sự các phòng trực thuộc huyện. Cụm thứ ba quản lý nhân sự cấp
xã, công tác quản lý tập trung là các cán bộ có chức danh thuộc xã.
Việc phân tán cơ sở dữ liệu và chương trình trên hệ thống 3 cụm Server
khác nhau theo Hình 1 buộc phải có sự phân tích, thiết kế và vận hành hệ đảm
bảo tính hoạt động ổn định và gắn bó trên hệ. Bên cạnh đó, công tác quản lý
các luồng dữ liệu khai thác dùng chung là yếu tố sống còn của hệ, như vậy ta
có thể phân chia hệ thành hai thành phần cơ bản là mạng máy tính và cơ sở dữ
liệu phân tán.
1.1. MẠNG MÁY TÍNH
- Là tập các máy tính tự vận hành, được kết nối lại và có khả năng trao
đổi thông tin giữa chúng.
- Các máy tính trên một mạng thường được gọi là các nút hay các trạm,
chúng tạo ra các phần cứng cơ bản của mạng và được kết nối lại với nhau bởi
một đường truyền.
5
- Một mạng máy tính là
một trường hợp đặc biệt của
môi trường xử lý phân tán,
trong đó các máy tính là các
thiết bị được kết nối vào kênh
truyền dữ liệu.
- Việc chuyển các ứng
dụng trên máy tính cá nhân
cũng như các ứng dụng trên
các hệ thống máy lớn trung
tâm sang mô hình phân tán là
một xu hướng phát triển
mạnh.
- Cần lựa chọn hình thức phân tán thích hợp nào cho mỗi mô hình được
chuyển đổi. Đây là yêu tố quan trọng để xây dựng hệ thống phù hợp với từng
yêu cầu và chức năng của các ứng dụng khác nhau; đối với hệ phục vụ thông
tin nhanh về nhân sự tại Quảng Bình, phương pháp phân tán lựa chọn là phân
tán không đồng nhất, dữ liệu được phân mảnh dọc và bố trí trên các cụm
Server khác nhau. Dữ liệu phân mảnh dựa trên nền tảng của cơ sở dữ liệu
phân tán cho phép dữ liệu được cập nhật trên 1 cụm Server lập tức sẽ cập nhật
trên các cụm còn lại nếu được phân quyền và ở Server cấp cao hơn.
Hình 1.1. Sự phân tán các cụm server trong hệ
thống phục vụ thông tin nhanh về nhân sự tại
Quảng Bình
6
1.2. CƠ SỞ DỮ LIỆU PHÂN TÁN
1.2.1. Các khái niệm cơ bản về cơ sở dữ liệu phân tán
Nguyên lý các hệ cơ
sở dữ liệu phân tán được
xây dựng dựa trên sự kết
hợp của hai hướng tiếp cận
đối với quá trình xử lý dữ
liệu đó là: lý thuyết hệ cơ
sở dữ liệu và công nghệ
mạng máy tính [4].
Một cơ sở dữ liệu
phân tán là một tập hợp
nhiều cơ sở dữ liệu có liên
đới logic và được phân bố
trên một mạng máy tính theo Hình 1.2.
Mỗi vị trí có quyền tự quản cơ sở dữ liệu cục bộ của mình và thực thi các
ứng dụng cục bộ. Mỗi vị trí cũng phải tham gia vào việc thực thi ít nhất một
ứng dụng toàn cục mà yêu cầu truy xuất dữ liệu tại nhiều vị trí qua mạng.
Đị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:
- Tính phân tán: Dữ liệu thực tế không cư trú ở cùng một vị trí;
- Sự tương quan logic: Các dữ liệu có một số tính chất ràng buộc lẫn
nhau.
Đối với hệ thống phục vụ thông tin nhanh về nhân sự tại Quảng Bình có
các đặc điểm về xử lý tại các cụm Server:
Cụm Server cấp xã: nhập liệu cán bộ, xử lý thông tin về cá nhân, thống
kê chuyển một phần thông tin về cán bộ mới cập nhật lên cụm Server cấp
Hình 1.2. Môi trường hệ cơ sở dữ liệu phân tán
7
huyện.
Cụm Server cấp huyện: nhập liệu cán bộ, xử lý thông tin về cá nhân,
thống kê chuyển một phần thông tin về cán bộ mới cập nhật lên cụm Server
cấp sở.
Cụm Server cấp sở, ban ngành và tương đương: nhập liệu cán bộ, xử lý
thông tin về cá nhân, thống kê thông tin về cán bộ, việc cập nhật chỉ tiến hành
cục bộ.
1.2.2. Hệ quản trị cơ sở dữ liệu phân tán (DDBMS)
Hệ quản trị cơ sở dữ liệu phân tán là 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 trong suốt
đối với người sử dụng [3].
Hệ quản trị cơ sở dữ liệu phân tán hỗ trợ việc tạo và bảo trì cơ sở dữ liệu
phân tán, chúng có các thành phần tương tự như một hệ quản trị cơ sở dữ liệu
tập trung và các thành phần hỗ trợ trong việc chuyển tải dữ liệu đến các trạm
và ngược lại.
Có ba kiểu kiến trúc DDBMS: Kiến trúc khách/đại lý, kiến trúc ngang
hàng; kiến trúc phức hệ.
Hệ quản trị cơ sở dữ liệu phân tán được phân làm 2 loại :
- Cơ sở dữ liệu phân tán thuần nhất;
- Cơ sở dữ liệu phân tán hỗn tạp.
Theo Hình 1.3 các thành phần nhất thiết một DDBMS thông tin nhanh
về nhân sự tại Quảng Bình phải có:
- Quản trị dữ liệu: QTDL
- Truyền thông dữ liệu: TTDL
- Từ điển dữ liệu: TDDL dùng để mô tả thông tin về sự phân tán của dữ
liệu trên mạng.
- Cơ sở dữ liệu phân tán: CSDLPT
8
- Người sử dụng: NSD
Theo hình 1.3, người sử dụng tác động đến truyền thông dữ liệu để yêu
cầu nguồn thông tin mà mình mong muốn, các hoạt động bên trong hệ thống
người dùng không quan tâm đến hay cần biết hiện nguồn dữ liệu đang nằm ở
vị trí nào. Các kết nối để lựa chọn dữ liệu trên các cụm Server khác được thực
hiện dựa trên thành phần là cơ sở dữ liệu phân tán.
Hình 1.3. Các thành phần của cơ sở dữ liệu phân tán
thông tin nhanh về nhân sự tại Quảng Bình
9
1.2.3. Các điểm đặc trưng của cơ sở dữ liệu phân tán
Cơ sở dữ liệu phân tán không đơn giản là việc phân tán các cơ sở dữ liệu
tập trung, nó cho phép thiết kế các hệ thống có các tính chất khác với hệ
thống tập trung truyền thống. So sánh các tính chất đặc trưng của cơ sở dữ
liệu tập trung và cơ sở dữ liệu phân tán như sau:
Bảng 1.1. So sánh các tính chất đặc trưng của cơ sở dữ liệu tập trung
và cơ sở dữ liệu phân tán
Tính chất đặc
trưng
Cơ sở dữ liệu tập trung Cơ sở dữ liệu phân tán
Cấu trúc
điều khiển
- Đ
iều
khiển tập trung trên
các
tài
nguyên thông
tin.
- Cần có người quản trị
cơ
sở dữ
liệu.
- Cấu trúc điều khiển
phân
cấp: quản trị cơ sở dữ
liệu
toàn cục và quản trị cơ sở
dữ
liệu cục bộ phân
tán.
Độc lập
dữ
liệu
- Tổ chức dữ liệu trong
suốt
với lập trình viên.
Các
chương trình được viết
có
cái nhìn “quan niệm” về
dữ
liệu.
- Ưu điểm: các chương
trình
không bị ảnh hưởng bởi
sự
thay đổi tổ chức vật lý
của
dữ
liệu
- Tính chất độc lập dữ liệu như
trong cơ sở dữ liệu tập trung
- Bổ sung tính chất trong suốt
phân tán; tính đúng đắn của các
chương trình ứng dụng không bị
ảnh huởng bởi sự di chuyển dữ
liệu từ vị trí này đến vị trí khác.
10
Tính chất đặc
trưng
Cơ sở dữ liệu tập trung Cơ sở dữ liệu phân tán
Dư thừa dữ
liệu
Giảm thiểu dư thừa dữ liệu
do:
- Tính gắn bó dữ liệu.
- Tiết kiệm dung lượng nhớ.
- Giảm thiểu dư thừa dữ liệu
đảm bảo tính gắn bó
.
- Nhân bản dữ liệu đến các địa
điểm mà các ứng dụng cần đến,
giúp việc thực thi các ứng dụng
không dừng nếu có một địa
điểm bị hỏng. Tuy nhiên vấn đề
quản lý gắn bó dữ liệu sẽ phức
tạp hơn.
Các cấu
trúc vật lý
phức tạp và
truy xuất
hiệu quả
Các cấu trúc vật lý phức tạp
giúp cho việc truy xuất dữ
liệu được hiệu quả.
Các cấu trúc vật lý phức tạp
giúp liên lạc dữ liệu trong cơ
sở dữ liệu phân tán.
Tính toàn
vẹn, phục
hồi, đồng
thời
Dựa vào giao dịch. Dựa vào giao dịch phân tán.
Việc chọn lựa cơ sở dữ liệu phân tán sẽ thích hợp đối với các ứng dụng
phát triển trong một hệ thống mạng diện rộng do cải tiến hiệu năng, giảm
tranh chấp và giảm chi phí truyền bằng cách phân mảnh và phân tán dữ liệu
hợp lý. Đối với trường hợp xây dựng hệ thống phục vụ thông tin nhanh về
nhân sự tại Quảng Bình, việc lựa chọn cơ sử dữ liệu phân mảnh dọc là bài
11
toán tối ưu cho ứng dụng quản lý, tra cứu và thống kê nhân sự tại tỉnh và đảm
bảo hiệu năng khai thác sử dụng và giảm chi phí truyền.
1.2.4. Kiến trúc tham chiếu của cơ sở dữ liệu phân tán
Kiến trúc tham chiếu không được cài đặt rõ ràng trên tất cả cơ sở dữ
liệu
phân tán, tuy nhiên các mức của nó được khái quát chính xác, thích hợp
để mô tả
tổ
chức chung cho mọi hệ cơ sở dữ liệu phân tán
.
Hình 1.4. Kiến trúc tham chiếu của cơ sở dữ liệu phân tán
- Lược đồ toàn cục: Mô tả tổng thể và thống nhất chung nhất của tất cả
dữ liệu của cơ sở dữ liệu phân tán độc lập với môi trường phân tán.
- Lược đồ phân mảnh: Mỗi quan hệ toàn cục có thể được chia thành các
thành phần không trùng nhau được gọi là các phân mảnh. Lược đồ phân mảnh
12
định nghĩa ánh xạ giữa các quan hệ toàn cục và các phân mảnh. Ánh xạ này là
một - nhiều: Một số mảnh tương ứng với một quan hệ toàn cục, nhưng chỉ
một quan hệ toàn cục tương ứng với một mảnh. Ký hiệu R
i
là mảnh thứ i của
quan hệ toàn cục R.
- Lược đồ cấp phát: Các mảnh là các thành phần logic của các quan hệ
toàn cục, được lưu trữ vật lý tại một hay một số vị trí. Lược đồ cấp phát xác
định vị trí của một mảnh. Kiểu ánh xạ định nghĩa trong lược đồ cục bộ xác
định cơ sở dữ liệu phân tán có dư thừa hay không. Trong trường hợp ánh xạ là
một-nhiều thì nó dư thừa, ngược lại nếu ánh xạ có kiểu một-một thì nó không
dư thừa. Tất cả các mảnh tương ứng với cùng một quan hệ toàn cục R và được
lưu trữ tại vị trí j tạo thành ảnh vật lý của quan hệ R tại vị trí j. Kí hiệu R
j
chỉ
ảnh vật lý của quan hệ toàn cục R tại vị trí j.
Hình 1.5. Các phân mảnh và mô hình vật lý cho một quan hệ toàn cục
(
R
1
2
chỉ một bản sao
của
mảnh R
2
lưu trữ tại vị trí
1 )
13
- Lược đồ ánh xạ cục bộ: Ánh xạ các hình ảnh vật lý tới các đối tượng
được thao tác bởi các hệ quản trị cơ sở dữ liệu cục bộ. Trong hệ không thuần
nhất ta có các kiểu ánh xạ cục bộ khác nhau tại các vị trí khác nhau.
Ba đối tượng quan trọng nhất của kiến trúc này là sự tách biệt giữa sự
phân mảnh dữ liệu và sự cục bộ hóa dữ liệu, điều khiển dư thừa dữ liệu và
tính độc lập ở các hệ quản trị cơ sở dữ liệu cục bộ.
1.2.5. Các loại truy xuất CSDL phân tán
a. Truy xuất từ xa thông qua các tác vụ cơ bản
Chương trình ứng
dụng từ Sở Nội vụ
phát ra một yêu cầu
truy xuất CSDL thông
tin cá nhân phòng
Giáo dục và Đào tạo
thuộc huyện Lệ Thủy.
Yêu cầu này sẽ được
DDBMS
1
xử lý, sau
khi xử lý xong,
chương trình tiếp tục
gửi yêu cầu truy xuất
CSDL gửi DDBMS
2
xử lý và gửi đến vị trí chứa dữ liệu đó. Thực hiện xong sẽ
gửi kết quả trả về (theo Hình 1.6).
Hình 1.6. Truy xuất từ xa thông qua các tác vụ cơ bản
14
b. Truy xuất từ xa
thông qua chương
trình phụ trợ
Một ứng dụng yêu
cầu thực hiện một
chương trình phụ trợ.
Chương trình phụ trợ
này sẽ truy xuất CSDL
từ xa và trả lại kết quả
cho chương trình ứng
dụng đang yêu cầu. Tại
Sở Nội vụ yêu cầu xem
lý lích trích ngang của Chủ tịch Hội đồng nhân dân từ cấp tỉnh đến cấp xã.
Cụm Server 1 sau khi tiếp nhận yêu cầu, lập tức phái sinh chương trình phụ
trợ để lọc và trích xuất thông tin từ các cụm Server khác, các yêu cầu lập tức
xử lý nội bộ và gửi đến cụm Server 2 và cụm Server 2 chuyển tiếp yêu cầu
đến cụm Server 3. Sau khi thực hiện xong các yêu cầu và các kết quả trả về,
chương trình phụ trợ sẽ tổng hợp lại và trả kết quả về cho người sử dụng.
1.3. CÁC MỨC TRONG SUỐT CỦA CSDL PHÂN TÁN
1.3.1. Khái niệm tính trong suốt
Tính trong suốt là tính chất căn bản của hệ phân tán. Tính trong suốt của
hệ phân tán được hiểu như là sự che khuất đi các thành phần riêng biệt của hệ
thống máy tính đối với người sử dụng và những người lập trình ứng dụng.
Người sử dụng có quyền truy cập đến dữ liệu đặt tại một vị trí dữ liệu ở xa
một cách tự động nhờ hệ thống mà không cần biết đến sự phân tán của tất cả
dữ liệu trên mạng. Hệ thống tạo cho người dùng cảm giác là dữ liệu được coi
như đặt tại máy tính cục bộ của mình.
Hình 1.7. Truy xuất từ xa thông qua chương trình phụ trợ
15
Sự che khuất thông tin phụ thuộc hệ thống khỏi người dùng dựa trên việc
cân bằng giữa tính đơn giản và tính hiệu quả. Đáng tiếc, hai tính chất này
xung đột nhau. Bởi vậy, mong muốn một mục tiêu trong suốt hoàn toàn là
không thích hợp. Hệ phân tán tốt là cố gắng đạt được tính trong suốt cao nhất
có thể được.
1.3.2. Một số khía cạnh điển hình của tính trong suốt
Tính trong suốt thể hiện trong nhiều khía cạnh, dưới đây là một số khía
cạnh điển hình nhất:
- Trong suốt phân đoạn
(trong suốt duyệt lại) theo
Hình 1.8 chỉ dẫn rằng sự tăng
trưởng hệ thống theo chiều
dọc là tỷ lệ nghịch với sự tăng
trưởng hệ thống theo chiều
ngang. Sự duyệt lại phần mềm
bị che khuất đối với người
dùng. Khi dữ liệu đã được
phân mảnh thì việc truy cập
vào cơ sở dữ liệu được thực hiện như lúc chưa phân tán và không ảnh hưởng
tới người sử dụng.
- Trong suốt định vị
(trong suốt tên): theo Hình
1.9 người dùng không nhận
biết được vị trí của đối tượng.
Đối tượng được định vị và chỉ
dẫn theo tên lôgic trong một
hệ thống thống nhất. Trong
Hình 1.8. Trong suốt phân đoạn
Hình 1.9. Trong suốt định vị
16
suốt di trú (còn được gọi là độc lập định vị): là tính chất bổ sung vào trong
suốt định vị theo nghĩa không những đối tượng được chỉ dẫn bằng tên lôgic
mà đối tượng còn được di chuyển tới định vị vật lý khác mà không cần đổi
tên.
Tính trong suốt định vị rất hữu ích, nó cho phép người sử dụng bỏ qua
các bản sao dữ liệu đã tồn tại ở mỗi vị trí. Do đó, có thể di chuyển một bản
sao dữ liệu từ vị trí này đến vị trí khác và cho phép tạo ra bản sao mới mà
không ảnh hưởng đến các ứng dụng.
- Trong suốt ánh xạ
địa phương: theo Hình
1.10 đó là đặc tính quan
trọng trong một hệ
thống DBMS không
đồng nhất. Ứng dụng
tham chiếu đến các đối
tượng có các tên độc lập
từ các hệ thống cục bộ địa phương. Ứng dụng được cài đặt trên một hệ thống
không đồng nhất nhưng được sử dụng như một hệ thống đồng nhất.
- Trong suốt nhân bản: đưa ra tính gắn bó của đa thể hiện (hoặc vùng)
của file và dữ liệu. Tính chất này quan hệ mật thiết với trong suốt đồng thời
song được cụ thể hơn vì file và dữ liệu là loại đối tượng đặc biệt.
- Trong suốt đồng thời: cho phép chia sẻ đối tượng dùng chung không
gặp tranh chấp. Nó tương tự như khái niệm phân chia thời gian theo nghĩa
khái quát.
- Trong suốt song song: cho phép các hoạt động song song mà người
dùng không cần biết hoạt động song song đó xảy ra như thế nào, ở đâu và khi
nào. Tính song song có thể không được người dùng đặc tả.
Hình 1.10. Trong suốt ánh xạ địa phương
17
- Trong suốt truy nhập: Truy nhập đối tượng địa phương/toàn cục theo
cùng một cách thức. Sự tách rời vật lý của các đối tượng hệ thống được che
khuất tới người dùng.
- Trong suốt lỗi: cung cấp khả năng thứ lỗi của hệ thống được hiểu là lỗi
trong hệ thống có thể được biến đổi thành sự giảm hiệu năng hệ thống một
cách mềm dẻo hơn chứ không phải chỉ là làm cực tiểu sự đổ vỡ và nguy hiểm
đối với người dùng.
- Trong suốt hiệu năng: cố gắng giành được tính gắn bó và khẳng định
(không cần thiết ngang bằng) mức độ hiệu năng thậm chí khi thay đổi cấu trúc
hệ thống hoặc phân bố tải. Hơn nữa, người dùng không phải chịu sự chậm trễ
hoặc thay đổi quá mức khi thao tác từ xa. Trong suốt hiệu năng còn được thể
hiện là hiệu năng hệ thống không bị giảm theo thời gian.
- Trong suốt kích thước: liên quan đến tính mềm dẻo và tiềm tàng. Nó
cho phép sự tăng trưởng của hệ thống được che khuất đối với người sử dụng.
Kích thước hệ thống không tạo ra tác động đối với nhận thức của người dùng.
1.4. PHÂN MẢNH VÀ CẤP PHÁT DỮ LIỆU
1.4.1. Phân mảnh dữ liệu
a. Lý do phân mảnh
Trong các hệ quản trị CSDL, các quan hệ được lưu trữ dưới dạng các
bảng 2 chiều. Thao tác đối với CSDL được thực hiện trên các bảng. Tuy nhiên
trong thực tế, các ứng dụng chỉ yêu cầu thao tác trên các tập con của các quan
hệ, là khung nhìn dữ liệu của người sử dụng. Vì vậy việc xem tập con của
quan hệ là đơn vị truy xuất thông tin để phân tán dữ liệu là hợp lý.
Phân rã một quan hệ thành nhiều mảnh, mỗi mảnh được xử lý như một
đơn vị dữ liệu, sẽ cho phép thực hiện nhiều giao dịch đồng thời. Phân mảnh
các quan hệ cũng cho phép thực hiện song song một câu truy vấn bằng cách
chia nó thành một tập các câu truy vấn con hoạt tác trên các mảnh. Vì thế việc
18
phân mảnh sẽ làm tăng mức độ hoạt động đồng thời và tăng lưu lượng hoạt
động của hệ thống.
Tuy nhiên việc phân mảnh cũng thể hiện những hạn chế nhất định:
- Nếu ứng dụng có những yêu cầu “xung đột” ngăn cản phân rã thành các
mảnh được sử dụng độc quyền;
- Những ứng dụng có các khung nhìn được định nghĩa trên nhiều mảnh
khác nhau sẽ làm giảm hiệu suất hoạt động của hệ thống, làm tăng chi
phí truy xuất dữ liệu đến các mảnh và tăng chi phí kết nối các mảnh;
- Việc kiểm soát ngữ nghĩa, đặc biệt là vấn đề kiểm tra tính toàn vẹn sẽ
khó khăn hơn.
Đối với hệ thống phục vụ thông tin nhanh về nhân sự tại Quảng Bình,
dữ liệu được phân rã và phân tán trên 3 cụm Server khác nhau và với mức độ
yêu cầu tính chất về tra cứu, thống kê thông tin đối với bài toán quản lý nhân
sự được đặt ra tại tỉnh thì hệ thống phân mảnh dọc là thích hợp nhất với điều
kiện hiện nay. Nhưng với nhu cầu phát triển thì hệ thống có thể sử dụng
phương pháp phân mảnh lai sẽ mang lại hiệu quả cao hơn trong việc xây dựng
ứng dụng và cơ sở dữ liệu phân tán. Trong luận văn này, tôi giới thiệu cả ba
phương pháp phân mảnh nhưng giải pháp của bài toán là lựa chọn phân mảnh
dọc, do đó các phương pháp phân tích, thiết kế tập trung vào phân mảnh này
sẽ được trình bày trong Chương 2.
b. Các quy tắc phân mảnh
Các nguyên tắc để đảm bảo cơ sở dữ liệu khi phân mảnh sẽ đảm bảo tính
không thay đổi về ngữ nghĩa. Ba qui tắc phải tuân thủ khi phân mảnh cơ sở dữ
liệu quan hệ:
- Tính đầy đủ
Quan hệ R được phân rã thành các mảnh R
1
, R
2,
…, R
n
, thì mỗi mục dữ
liệu có trong quan hệ R sẽ được chứa trong ít nhất một mảnh R
i
(i=1, , n).
Quy tắc này đảm bảo cho các mục dữ liệu trong R được ánh xạ hoàn toàn vào