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

Cơ sở dữ liệu phân tán và ứng dụng trong chuyển tiền điện tử

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 (2.45 MB, 125 trang )





ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ




ĐẶNG ĐÌNH NHƢỢNG



CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ ỨNG DỤNG
TRONG CHUYỂN TIỀN ĐIỆN TỬ






LUẬN VĂN THẠC SĨ




Hà Nội – 2011







ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ


ĐẶNG ĐÌNH NHƢỢNG


CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ ỨNG DỤNG
TRONG CHUYỂN TIỀN ĐIỆN TỬ

Ngành: CÔNG NGHỆ THÔNG TIN
Chuyên ngành: CÔNG NGHỆ PHẦN MỀM
Mã số: 60 48 10

LUẬN VĂN THẠC SĨ

Người hướng dẫn khoa học
PGS.TS. NGUYỄN VĂN VỴ




Hà Nội – 2011


5


MỤC LỤC

CHƢƠNG 1 - TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN 15
1.1 Cơ sở dữ liệu phân tán 15
1.1.1 Sự ra đời của CSDL phân tán 15
1.1.2 Khái niệm hệ CSDL phân tán 15
1.1.3 Khái niệm hệ quản trị CSDL phân tán 15
1.1.4 Phân loại các hệ CSDL phân tán. 15
1.2 Kiến trúc hệ quản trị CSDL phân tán 17
1.2.1 Tiêu chuẩn hóa hệ quản trị CSDL 17
1.2.2 Mô hình kiến trúc hệ DBMS phân tán 18
1.2.3 Kiến trúc hệ quản trị CSDL phân tán 19
1.3 Thiết kế CSDL phân tán 22
1.3.1 Phân đoạn 23
1.3.2 Định vị 23
1.4 Tổng quan về xử lý truy vấn 23
1.5 Xử lý tƣơng tranh trong CSDL phân tán 25
1.5.1 Giao dịch 25
1.5.2 Điều khiển đồng thời phân tán 28
1.6 Độ tin cậy của hệ CSDL phân tán 33
1.6.1 Các sự cố trong hệ quản trị CSDL phân tán 33
1.6.2 Một số giao thức khả tín cục bộ 33
1.6.3 Một số giao thức khả tín phân tán 36
1.7 Vấn đề An toàn dữ liệu 38
1.7.1 Vấn đề An toàn mạng 38
1.7.2 Vấn đề An toàn CSDL 38
1.7.3 Quản lý khung nhìn 39
1.7.4 An toàn dữ liệu 39
1.7.5 Kiểm soát toàn vẹn ngữ nghĩa 40
6


CHƢƠNG 2- MỘT SỐ CÔNG CỤ HỖ TRỢ PHÂN TÁN CỦA ORACLE 44
2.1 Kiến trúc CSDL phân tán trong Oracle 44
2.1.1 Hệ thống CSDL đồng nhất 44
2.1.2 Hệ thống CSDL không đồng nhất 44
2.1.3 Kiến trúc CSDL Client/Server 45
2.1.4 Cơ sở dữ liệu liên kết 45
2.2 Trong suốt vị trí trong Oracle 48
2.2.1 Tạo trong suốt vị trí bằng khung nhìn (view) 48
2.2.2 Tạo trong suốt vị trí bằng bí danh (Synonyms) 48
2.2.3 Tạo trong suốt vị trí bằng sử dụng thủ tục 48
2.3 Các mô hình phân tán dữ liệu trong Oracle 49
2.3.1 Phân tán dữ liệu hoàn toàn 49
2.3.2 Phương pháp phân tán phân đoạn 51
2.3.3 Phương pháp phân tán sao lặp 53
2.3.4 Kết hợp các chiến lược 54
2.4 Các công cụ hỗ trợ CSDL phân tán của Oracle 54
2.4.1 Snapshot 54
2.4.2 Các thao tác chính với Read-Only Snapshot 55
2.4.3 Update Snapshot 56
2.4.4 Vấn đề làm tươi các Snapshot 57
2.4.5 Giải quyết xung đột trong Oracle 58
2.5 An ninh trong CSDL phân tán Oracle 59
2.5.1 Phương pháp sử dụng đối tượng trung gian để bảo mật CSDL 60
2.5.2 Kiểm soát CSDL liên kết 63
2.5.3 Kiểm soát dữ liệu phân tán trong Oracle 64

CHƢƠNG 3 - BÀI TOÁN NGHIỆP VỤ CHUYỂN TIỀN NỘI BỘ TRONG
NGÂN HÀNG PHÁT TRIỂN VIỆT NAM 68
3.1 Tổ chức hoạt động của Ngân hàng Phát triển Việt Nam (VDB) 68

3.1.1 Nhiệm vụ và mục tiêu hoạt động của Ngân hàng Phát triển Việt Nam 68
7

3.1.2 Mô hình tổ chức và quản lý của Ngân hàng Phát triển Việt Nam 69
3.2 Tổng quan về phƣơng thức chuyển tiền 70
3.3 Bài toán nghiệp vụ chuyển tiền nội bộ trong VDB 71
3.3.1 Quy trình giao dịch chuyển tiền của khách hàng 71
3.3.2 Quy trình trao đổi thông tin giao dịch giữa Trung tâm thanh toán và các
ngân hàng Chi nhánh 74
3.3.3 Quy trình thực hiện với điện Nội bộ 75
3.3.4 Quy trình hạch toán thanh toán nội bộ 82

CHƢƠNG 4 - PHÂN TÍCH THIẾT KẾ, CÀI ĐẶT THỬ NGHIỆM VÀ
TRIỂN KHAI HỆ THỐNG 88
4.1 Phân tích hệ thống 88
4.1.1 Yêu cầu hệ thống 88
4.1.2 Phân tích và lựa chọn kiến trúc phân tán 91
4.1.3 Sơ đồ ngữ cảnh 94
4.1.4 Mô hình dòng dữ liệu 94
4.1.5 Quan hệ thực thể 100
4.2 Thiết kế hệ thống 100
4.2.1 Các thực thể trong hệ thống 100
4.2.2 Mối quan hệ giữa các bảng trong hệ thống 107
4.2.3 Các công cụ và chức năng của Oracle được sử dụng 111
4.2.4 Các công cụ và chức năng bảo mật, an toàn 111
4.2.5 Một số bảng chính trong cơ sở dữ liệu 116
4.2.6 Giới thiệu một số màn hình giao diện chính 117

KẾT LUẬN 122
TÀI LIỆU THAM KHẢO 124

PHỤ LỤC 125
8

CÁC KÝ HIỆU VIẾT TẮT

Ký hiệu viết
tắt
Diễn giải
C
Confidential
CN
Chi nhánh
CSDL
Cơ sở dữ liệu
DBMS
Hệ quản trị Cơ sở dữ liệu
GCS
Lược đồ khái niệm toàn cục
GDV
Giao dịch viên
HSC
Hội sở chính
KH
Khách hàng
KSV
Kiểm soát viên
LCS
Lược đồ khái niệm cục bộ
LTT
Lệnh thanh toán

MT
Điện chuyển tiền
NH
Ngân hàng
NHTM
Ngân hàng Thương mại
OLS
Oracle Label Security
RBAC
Role Based Access Control - Kiểm soát truy nhập theo vai trò
S
Secret
T
Giao dịch
T
Top Secret
TK
Tài khoản
TM
Quản lý giao dịch
TT
Thanh toán
TTTT
Trung tâm thanh toán
U
Unclassified
VDB
Ngân hàng Phát triển Việt Nam
9


DANH MỤC BẢNG BIỂU

Bảng 2.1 Tên của cơ sở dữ liệu 44
Bảng 2.2 Bảng mô tả xác thực thông tin qua Database Link 64
Bảng 3.1 Thông tin của điện chuyển tiền 85
Bảng 3.2 Bút toán hạch toán của điện đi 87
Bảng 3.3 Bút toán hạch toán cho TTTT 87
Bảng 3.4 Bút toán hạch toán điện về ngân hàng Chi nhánh 87
Bảng 3.5 Bút toán hạch toán khi thanh toán cho khách hàng 88
Bảng 4.1 Bảng yêu cầu chức năng hệ thống 90
Bảng 4.2 Bảng danh sách các tác nhân 95
Bảng 4.3 Các sự kiện diễn ra tại Ngân hàng Chi nhánh lập điện 97
Bảng 4.4 Các sự kiện diễn ra tại Trung tâm thanh toán 97
Bảng 4.5 Các sự kiện diễn ra tại ngân hàng Chi nhánh nhận điện 98
10

DANH MỤC HÌNH VẼ
Hình 1.1: Mô hình CSDL phân tán 16
Hình 1.2: Kiến trúc tổng quan ANSI/SPARC 17
Hình 1.3: Kiến trúc tham chiếu máy khách-máy dịch vụ 20
Hình 1.4: Kiến trúc tham chiếu CSDL phân tán 21
Hình 1.5: Lược đồ phân tầng tổng quát để xử lý truy vấn phân tán 24
Hình 1.6: Mô hình bộ phận theo dõi hoạt động phân tán 28
Hình 1.7: Phân loại các thuật toán điều khiển đồng thời 29
Hình 1.8: Biểu đồ khóa 2 PL và 2 PL nghiêm ngặt 31
Hình 1.9: Giao diện giữa bộ khôi phục cục bộ và bộ quản lý vùng đệm 33
Hình 1.10: Giao diện nhật ký CSDL 34
Hình 1.11: Thực thi thao tác cập nhật 34
Hình 1.12: Hành động REDO 35
Hình 1.13: Hành động UNDO 35

Hình 1.14: Các hành động trong giao thức ủy thác 2 pha 36
Hình 1.15: Các hành động trong giao thức ủy thác 3 pha 37
Hình 2.1: Cơ sở dữ liệu Oracle đồng nhất phân tán 45
Hình 2.2: Một hệ thống CSDL Oracle phân tán 46
Hình 2.3: Cơ sở dữ liệu Oracle liên kết 47
Hình 2.4: Mô hình phân tán dữ liệu hoàn toàn 50
Hình 2.5: Mô hình phân tán dữ liệu của phương pháp phân tán phân đoạn 52
Hình 2.6: Mô hình phân tán dữ liệu sao lặp 53
Hình 2.7: Mô phỏng tầng CSDL mã hoá để bảo mật CSDL 61
Hình 2.8: Mô phỏng phương pháp sử dụng bảng ảo để truy xuất dữ liệu 62
Hình 2.9 Mã hoá với nhãn dữ liệu trong Oracle 65
Hình 3.1: Sơ đồ bộ máy tổ chức VDB 69
11

Hình 3.2: Sơ đồ bộ máy tổ chức Hội sở chính VDB 70
Hình 3.3: Sơ đồ tổng quát quy trình giao dịch chuyển tiền của khách hàng trong
hệ thống Ngân hàng Phát triển 73
Hình 3.4: Sơ đồ giao dịch giữa Ngân hàng Chi nhánh gửi điện và Ngân hàng
chi nhánh nhận điện 73
Hình 3.5 Sơ đồ hoạt động của giao dịch chuyển tiền 74
Hình 3.6: Mô hình trao đổi thông tin giao dịch giữa Trung tâm thanh toán và
các ngân hàng Chi nhánh 75
Hình 3.7: Quy trình thực hiện đối với điện đi Chi nhánh Online 76
Hình 3.8: Sơ đồ hoạt động của điện đi Chi nhánh Online 77
Hình 3.9: Quy trình thực hiện đối với điện về chi nhánh Online 78
Hình 3.10: Sơ đồ hoạt động nhận điện về Chi nhánh Online 79
Hình 3.11: Quy trình hủy điện với loại hình chi nhánh online 81
Hình 3.12: Sơ đồ hoạt động nhận điện về Chi nhánh Online 82
Hình 4.1: Sơ đồ trao đổi dữ liệu giữa trung tâm Thanh toán và ngân hàng Chi
nhánh 93

Hình 4.2: Sơ đồ ngữ cảnh của hệ thống 94
Hình 4.3: Sơ đồ luồng dữ liệu ngữ cảnh tại ngân hàng Chi nhánh lập điện 98
Hình 4.4: Sơ đồ luồng dữ liệu ngữ cảnh tại Trung tâm thanh toán 99
Hình 4.5: Sơ đồ luồng dữ liệu ngữ cảnh tại ngân hàng Chi nhánh nhận điện 99
Hình 4.6: Sơ đồ quan hệ thực thể 100
Hình 4.7: Mối quan hệ giữa các bảng dữ liệu quản danh mục 108
Hình 4.8: Sơ đồ mối quan hệ các thông tin trên bức điện 109
Hình 4.9: Các bảng dữ liệu quản lý hạch toán thanh toán 110
Hình 4.10: Sơ đồ mối quan hệ giữa các bảng quản lý nhật ký giao dịch 110
Hình 4.11: Sơ đồ mối quan hệ giữa người dùng và các đối tượng trên giao diện
người dùng 110
Hình 4.12: Bảng Tài khoản tiền gửi của Khách hàng (DDMAST) 116
12

Hình 4.13: Bảng Tài khoản Kế toán (GLMAST) 116
Hình 4.14: Bảng hồ sơ Khách hàng 117
Hình 4.15: Bảng giao dịch phát sinh trên Tài khoản Kế toán 117
Hình 4.16: Bảng giao dịch phát sinh trên Tài khoản thanh toán của KH 117
Hình 4.17: Màn hình giao diện tạo điện đi 118
Hình 4.18: Màn hình nhận và duyệt điện về Chi nhánh 118
Hình 4.19: Màn hình quản lý Ngân hàng Chi nhánh tham gia chuyển tiền 119
Hình 4.20: Màn hình Quản lý Hồ sơ Khách hàng 119
Hình 4.21: Màn hình quản lý danh sách Tài khoản của khách hàng 120
Hình 4.22: Màn hình quản lý Người dùng 120
Hình 4.23: Màn hình quản lý Quyền thao tác trên các đối tượng CSDL 121
Hình 4.24: Màn hình Phân quyền người dùng 121

13

LỜI MỞ ĐẦU


̣
ra đơ
̀
i cu
̉
a hê
̣
thống thanh toán điện tử là một bước chuyển đổi rất lớn
trong công ta
́
c thanh toán cho khách hàng. Điểm khác biệt lớn nhất giữa thanh
toán điện tử và thanh toán truyền thống là thông qua các phương tiện điện tử loại
bỏ hầu hết việc giao nhận giấy tờ và việc ký truyền thống, thay vào đó là các
phương pháp xác thực mới.
Dùng phương pháp mới để xác nhận đúng người có quyền ra lệnh thanh toán
mà không cần tiếp xúc trực tiếp. Lợi ích lớn nhất là sự tiết kiệm chi phí và tạo
thuận lợi cho các bên giao dịch, các giao dịch qua kênh điện tử có chi phí vận
hành rất thấp. Chi phí chủ yếu là đầu tư ban đầu, trong điều kiện công nghệ phát
triển nhanh như hiện nay, chi phí đầu tư ban đầu cũng đã giảm đi đáng kể.
Doanh nghiệp không cần phải đầu tư nhân sự, địa điểm và các chi phí lưu
chuyển hồ sơ cho việc giao dịch.
Giao dịch bằng phương tiện điện tử nhanh hơn so với phương pháp truyền
thống, thông thường giao dịch tại quầy cho một khách hàng chuyển tiền mất
khoảng 15 phút, không kể thời gian đi lại và chờ đợi nhưng giao dịch trên
Internet, Mobile hoặc qua hệ thống thẻ chỉ qua một vài thao tác đơn giản trong
một vài phút.
Với thanh toán điện tử, các bên có thể tiến hành giao dịch khi ở cách xa
nhau, không bị giới hạn bởi không gian địa lý. Với người tiêu dùng, họ có thể
ngồi tại nhà để đặt hàng, mua sắm nhiều loại hàng hóa, dịch vụ nhanh chóng.

Việc không phải mang theo nhiều tiền mặt, giảm thiểu rủi ro mất tiền, tiền giả,
nhầm lẫn… sẽ giảm bớt được việc thiếu minh bạch so với giao dịch bằng tiền
mặt.
Là một cán bộ làm việc trong ngành tài chính, vơ
́
i thơ
̀
i gian nhiều năm gắn
bố vơ
́
i ư
́
ng du
̣
ng công nghê
̣
thông tin va
̀
o nghiê
̣
p vu
̣
của ngành, đă
̣
c biê
̣
t trong
công ta
́
c thanh toa

́
n, vì vậy tôi chọn đề tài:
“Cơ sở dữ liệu phân tán và ứng dụng trong chuyển tiền điện tử” làm đề
tài Luâ
̣
n văn tốt nghiê
̣
p thạc sĩ.
Mục đích của việc nghiện cứu đề tài này là nhằm đưa ra những giải pháp đối

́
i nghiê
̣
p vu
̣
thanh toa
́
n chuyển tiền sao cho nga
̀
y ca
̀
ng hoa
̀
n thiê
̣
n hơn , nhanh
hơn, thuâ
̣
n tiê
̣

n hơn va
̀
đáp ứng được các yêu cầu về an ninh, an toa
̀
n ngày càng
cao của nghiệp vụ thanh toa
́
n cũng như tạo sự thuận lợi tốt nhất cho khách hàng
tham gia thanh toán.
14

Kết cấu cu
̉
a Luận văn, ngoài phần mở đầu và k ết luận , đề tài gồm có 4
chương:
Chương 1 - Tổng quan về cơ sở dữ liệu phân tán.
Chương 2 - Một số công cụ hỗ trợ phân tán của Oracle.
Chương 3 - Bài toán nghiệp vụ chuyển tiền Nội bộ trong Ngân hàng
Phát triển Việt Nam.
Chương 4 - Phân tích thiết kế, cài đặt thử nghiệm và triển khai hệ
thống.

15

Chương 1 - TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN
1.1 Cơ sở dữ liệu phân tán
1.1.1 Sự ra đời của CSDL phân tán
Sự phát triển các hệ cơ sở dữ liệu (CSDL) phân tán xuất phát từ nhiều yêu
cầu của thực tiễn hình thành và phát triển của các tổ chức. Nhiều tổ chức khi
tăng trưởng cần có cơ cấu hoạt động không tập trung. Nhiều đơn vị thành viên

của nó buộc phải phân tán ở những vị trí địa lý khác nhau. Vì thế, cần xây dựng
CSDL phân tán cho các tổ chức này đề đảm bảỏ hoạt động của tổ chức một cách
hiệu quả.
Trong quá trình hình thành hoặc hợp nhất, tổ chức cần phải tổ chức lại các
CSDL đã tồn tại. Chi phí cho việc xây dựng một hệ CSDL phân tán từ các
CSDL đã tồn tại thường nhỏ hơn đáng kể so với xây dựng lại một hệ CSDL
phân tán từ đầu.
Trong quá trình phát triển, một tổ chức có thể tăng thêm một số thành viên
mới. Khi đó hệ CSDL phân tán cho phép mở rộng hệ thống mà không làm ảnh
hưởng lớn tới các thành phần còn lại. Việc xây dựng hệ thống phân tán còn đảm
bảo hiệu quả công việc, độ tin cậy cao và khả năng sẵn dùng lớn của tổ chức.
1.1.2 Khái niệm hệ CSDL phân tán
Hệ CSDL phân tán là một tập hợp các CSDL có thể quan hệ với nhau và
được phân tán trên một mạng máy tính trải ra trên một không gian địa lý. Các
CSDL có quan hệ logic với nhau cho phép ta phân biệt một CSDL phân tán với
một tập các CSDL cục bộ. Một CSDL phân tán đòi hỏi phải có một cấu trúc tổ
chức lưu trữ và một phương pháp truy nhập dữ liệu có hiệu lực và hiệu quả.
1.1.3 Khái niệm hệ quản trị CSDL phân tán
Hệ quản trị CSDL phân tán là một phần mềm cho phép quản trị CSDL
phân tán và đảm bảo tính trong suốt của sự phân tán dữ liệu đối với người sử
dụng. Nhờ tính trong suốt này mà người sử dụng làm việc với CSDL phân tán
như làm việc với một CSDL tập trung.
1.1.4 Phân loại các hệ CSDL phân tán.
Có thể chia CSDL phân tán làm hai loại:
 Cơ sở dữ liệu phân tán thuần nhất: là CSDL phân tán được hình
thành do chia nhỏ CSDL thành nhiều CSDL địa phương, được lưu ở
16

các trạm của mạng máy tính. Tất cả các CSDL địa phương đều sử
dụng cùng một hệ quản trị CSDL và cùng một mô hình dữ liệu như

nhau.
 Cơ sở dữ liệu phân tán không thuần nhất: được tạo ra bằng cách kết
hợp các hệ CSDL địa phương thành một hệ CSDL. Các CSDL địa
phương có thể sử dụng hệ quản trị CSDL khác nhau và mô hình dữ
liệu khác nhau.
Cơ sở dữ liệu phân tán
Cơ sở dữ
liệu 1
Cơ sở dữ
liệu 2
Cơ sở dữ
liệu n
Mô hình
dữ liệu 1
Mô hình
dữ liệu 2
Mô hình
dữ liệu n
Trạm 1
Trạm 2 Trạm n
Hệ quản trị CSDL 1 Hệ quản trị CSDL 2 Hệ quản trị CSDL n

Hình 1.1: Mô hình CSDL phân tán
Sự không thuần nhất trong các hệ quản trị CSDL có thể có ở nhiều mức
khác nhau trong hệ thống, như sự khác nhau về phần cứng ở các trạm, hệ điều
hành khác nhau, giao thức mạng khác nhau…
17

1.2 Kiến trúc hệ quản trị CSDL phân tán
1.2.1 Tiêu chuẩn hóa hệ quản trị CSDL

Có 3 cách tiếp cận để tiêu chuẩn hóa hệ quản trị CSDL là:
 Dựa trên các thành phần: DBMS gồm một số thành phần, mỗi thành
phần có một chức năng. Tương tác có trật tự và hệ thống giữa chúng
sẽ cung cấp toàn bộ chức năng của hệ thống.
 Dựa trên các chức năng, dựa vào nhóm người sử dụng để tạo ra các
chức năng cho nhóm người đó.
 Dựa trên dữ liệu: Các kiểu dữ liệu khác nhau được định nghĩa, kiến
trúc được đặc tả để xác định các đơn vị chức năng sử dụng dữ liệu
này.
Một kiến trúc phổ biến được xây dựng cho các hệ quản trị CSDL là kiến
trúc ANSI/SPARC.
` ` ` ` `
Lược đồ ngoài Lược đồ ngoài Lược đồ ngoài
Lược đồ khái niệm
Lược đồ trong

Hình 1.2: Kiến trúc tổng quan ANSI/SPARC
Trong đó:
 Lược đồ trong: xác định tổ chức vật lý của dữ liệu, cơ chế truy xuất
 Lược đồ khái niệm: định nghĩa khái niêm niệm của CSDL. Lược đồ
biểu diễn các đối tượng dữ liệu và mối quan hệ giữa chúng
18

 Lược đồ ngoài: Tập các khung nhìn, là phần CSDL mà người dùng
có thể truy xuất hay nhìn thấy.
1.2.2 Mô hình kiến trúc hệ DBMS phân tán
Mô hình được xây dựng dựa trên 3 yếu tố: tính tự trị, sự phân tán và tính đa
chủng.
 Tính tự trị
Tính tự vận hành là sự phân bố quyền điều khiển. Nó chỉ ra mục đích hoạt

động của từng DBMS. Tính tự vận hành biểu hiện qua một số yếu tố như các hệ
thống thành viên có trao đổi thông tin cho nhau hay không, chúng có thể thực
hiện giao dịch độc lập không, người ta có thể sửa đổi chúng không Sự hoạt
động cục bộ của từng DBMS không bị ảnh hưởng khi chúng tham gia vào hệ
DBMS. Các phương thức xử lý truy vấn và tối ưu hóa truy vấn của từng DBMS
không bị ảnh hưởng của việc thực hiện các câu truy vấn với nhiều CSDL. Tính
nhất quán và hoạt động của hệ thống không bị thay đổi khi có DBMS tham gia
hoặc tách khỏi hệ CSDL. Các DBMS còn có thể tự trị trong thiết kế, trong
truyền thông và thực thi. Thông dụng nhất thì có 3 kiểu lựa chọn sau:
 Hệ tích hợp chặt chẽ: nếu nó chỉ có một hình ảnh về toàn bộ hệ
thống CSDL. Trong hệ này có một bộ quản lý dữ liệu nắm quyền
kiểm soát việc xử lý yêu cầu của người sử dụng.
 Hệ thống bán tự trị: gồm các DBMS hoạt động độc lập. Mỗi DBMS
xác định những thành phần dữ liệu mà chúng sẽ chia sẻ cho DBMS
khác. Chúng phải tự thay đổi để có thể trao đổi thông tin với hệ
thống.
 Hệ kín: từng DBMS là cô lập, không biết đền DBMS khác, và không
biết cách để giao tác với chúng.
 Sự phân tán
Có một số cách phân tán các hệ DBMS sau:
 Phân tán kiểu khách chủ: tập trung nhiệm vụ quản lý dữ liệu cho các
hệ thống chủ, còn hệ thống khách lo cung cấp môi trường ứng dụng,
giao diện người dùng. Việc truyền thông diễn ra giữa hệ thống khách
và hệ thống chủ. Các vị trí trên mạng cũng được phân thành nhóm
các vị trí hệ thống chủ, và nhóm các vị trí khách. Chức năng của các
vị trí này cũng khác nhau.
19

 Phân tán kiểu ngang hàng (peer to peer) không có phân biệt máy
chủ, máy khách. Mỗi trạm đều có chức năng của một DBMS và có

thể trao đổi thông tin lẫn nhau để thực hiện truy vấn, giao tác…
 Không phân tán
 Tính đa chủng
Các hệ thống khác nhau về phần cứng, giao thức kết nối, bộ quản lý dữ
liệu. Đặc biệt là các hệ thống khác nhau về cách mô hình hóa dữ liệu, ngôn ngữ
truy vấn, giao thức quản lý các giao tác…
Tổng hợp của các phân loại trên cho ta 18 kiến trúc.
1.2.3 Kiến trúc hệ quản trị CSDL phân tán
 Các hệ khách chủ (máy khách/máy dịch vụ)
Hệ khách chủ xuất hiện vào những năm 90. Các chức năng của hệ phân
thành hai lớp. Lớp chức năng chủ, và lớp chức năng khách. Nó cung cấp một
kiến trúc hai tầng, dễ dàng cho việc quản lý độ phức tạp của các DBMS hiện tại
và độ phức tạp của việc phân tán dữ liệu.
Phần máy dịch vụ thực hiện phần lớn công việc quản lý dữ liệu. Mọi công
việc xử lý, tối ưu truy vấn, quản lý giao dịch, quản lý thiết bị lưu trữ để được
thực hiện tại phần máy dịch vụ.
Phần máy khách gồm các ứng dụng, giao diện, một môdun DBMS máy
khách quản lý dữ liệu được gửi đến và có thể quản lý các khóa chốt giao dịch.
Việc giao tiếp khách-chủ thể hiện ở việc truyền các câu lệnh SQL đi và
nhận kết quả trả về.
20

Hệ điều
hành
Phần mềm giao tiếp
DBMS khách
Giao diện
người dùng
Chương trình
ứng dụng

Hệ điều
hành
Phần mềm giao tiếp
Điều khiển dữ liệu
Tối ưu truy vấn
Quản lý giao dịch
Quản lý phục hồi
Xử lý hỗ trợ thời gian chạy
Kết quảCâu truy vấn
CSDL

Hình 1.3: Kiến trúc tham chiếu máy khách-máy dịch vụ
Có nhiều loại máy khách - máy dịch vụ
 Một máy dịch vụ- nhiều máy khách: Loại này không khác nhiều lắm
với CSDL tập trung. Chỉ khác ở cách thực hiện giao diện và quản lý
bộ nhớ tạm.
 Nhiều máy dịch vụ- nhiều máy khách: Có hai cách quản lý
o Mỗi máy khách tự quản lý kết nối của nó với máy dịch vụ
o Mỗi máy khách có một máy dịch vụ chính và nó giao tiếp với các máy
dịch vụ khác qua máy dịch vụ này.
 Các hệ phân tán ngang hàng
Trong hệ phân tán ngang hang, việc tổ chức dữ liệu trên các máy khác nhau
có một định nghĩa riêng cho mỗi vị trí. Nó được gọi là lược đồ cục bộ trong LIS
(local internal schema). Còn hình ảnh về dữ liệu của cả hệ thống được gọi là
21

lược đồ khái niệm toàn cục GCS (global conceptual schema). Nó mô tả cấu trúc
logic của dữ liệu tại mọi vị trí. Dữ liệu trong hệ phân tán thường được phân đoạn
(chia các quan hệ ra thành nhiều quan hệ con) và nhân bản (chứa các đoạn này
tại nhiều vị trí). Vì thế cần mô tả tổ chức logic của dữ liệu tại mỗi vị trí, gọi là

lược đồ khái niệm cục bộ LCS (local conceptual schema). GCS là hợp của các
LCS. Các ứng dụng và việc truy xuất được hỗ trợ bởi lược đồ ngoài ES (external
schema). Quan hệ của các lược đồ này được cho ở hình vẽ.
ES1 ES2 ESn
GCS
LCS1 LCS2 LCSn
LIS1 LIS2 LISn




Hình 1.4: Kiến trúc tham chiếu CSDL phân tán
Do tính độc lập dữ liệu, độc lập vị trí của CSDL, người dùng chỉ cần truy
vấn mà không cần quan tâm đến vị trí, thành phần cung cấp dữ liệu. Các câu
truy vấn toàn cục sẽ được hệ quản trị CSDL dịch thành các câu truy vấn cục bộ
và được các thành phần DBMS tại các vị trí khác nhau thực hiện.
Hai bộ phận trong một máy tính trạm là:
 Bộ phận xử lý phía người dùng
o Xử lý giao tiếp người dùng dịch các lệnh người dùng, định dạng dữ liệu
kết quả để chuyển lại cho người dùng
o Bộ phận kiểm soát ngữ nghĩa dữ liệu: sử dụng các ràng buộc toàn vẹn và
thông tin phân quyển trong lược đồ khái niệm cục bộ để kiểm tra xem
truy vấn có thể được xử lý hay không
o Bộ phận phân rã và tối ưu truy vấn toàn cục, phiên dịch các truy vấn
toàn cục thành các truy vấn cục bộ sử dụng các lược đồ khái niệm toàn
cục, lược đồ khái niệm cục bộ, thư mục toàn cục. Sau đó là tối ưu hóa
truy vấn, tạo cách ghép nối truy vấn tốt nhất.
22

o Bộ phận quản lý hoạt động phân tán: điều phối việc thực hiện phân tán

các yêu cầu của người dùng. Nó được gọi là bộ phận quản lý giao dịch
phân tán.
 Bộ phận xử lý dữ liệu
o Bộ phận tối ưu câu truy vấn toàn cục: hoạt động như một bộ chọn
đường truy xuất để tìm ra một đường thích hợp nhất cho việc truy xuất
dữ liệu.
o Bộ phận quản lý khôi phục cục bộ: đảm bảo các CSDL cục bộ duy trì
tính nhất quán khi có sự cố.
o Bộ phận hỗ trợ trong thời gian thực thi: sẽ truy xuất CSDL theo các
lệnh trong lịch do bộ phận tối ưu sinh ra. Nó chính là giao diện với hệ
điều hành và chứa bộ quản lý vùng đệm CSDL, quản lý vùng đệm và
quản lý việc truy xuất CSDL.
1.3 Thiết kế CSDL phân tán
Đối với hệ quản trị CSDL phân tán, việc phân tán đòi hỏi 2 điều sau:
 Phân tán hệ quản trị CSDL
 Phân tán các chương trình ứng dụng chạy trên hệ quản trị đó.
Có thể chỉ chia xẻ dữ liệu, tức là chỉ nhân bản chương trình lên, còn dữ liệu
thì không. Hoặc có thể chia xẻ cả chương trình và dữ liệu. Chương trình nằm tại
một vị trí và có thể yêu cầu một dịch vụ từ một chương trình ở vị trí khác hoặc
dữ liệu từ một vị trí khác.
Thiết kế CSDL phân tán gồm 4 giai đoạn chính là:
 Thiết kế khung nhìn tổng thể: định nghĩa giao diện cho người dùng
cuối. Nó cũng là bước thiết kế lược đồ khái niệm toàn cục GCS
 Thiết kế phân đoạn: kết quả là lược đồ khái niệm cục bộ LCS
 Thiết kế cấp phát: cấp phát các phân đoạn cho các vị trí.
 Thiết kế vật lý ở mỗi trạm: là thiết kế mô hình vật lý từ các lược đồ
LCS.
Hai vấn đề trong thiết kế phân tán cần giải quyết là phân đoạn và cấp phát
23


1.3.1 Phân đoạn
Thay vì phân tán các quan hệ, ta chia chúng thành nhiều quan hệ nhỏ hơn
gọi là các đoạn, và phân tán các đoạn này. Có các kiểu phân đoạn ngang, dọc.
Phân đoạn phải đảm bảo tính đầy đủ, tính tái thiết được, tính tách biệt.
1.3.2 Định vị
Các đoạn trên được cấp phát cho các vị trí trên mạng. Nó có thể được nhân
bản hoặc là duy nhất. Nhân bản cần phải đảm bảo độ tin cậy, hiệu quả cho các
truy vấn chỉ đọc. Đối với truy vấn cập nhật thì việc nhân bản sẽ gây nhiều khó
khăn để duy trì CSDL ở trạng thái nhất quán.
1.4 Tổng quan về xử lý truy vấn
Nhờ có sự che dấu các chi tiết về tổ chức vật lý của dữ liệu, các ngôn ngữ
CSDL quan hệ cho phép diễn tả các câu truy vấn phức tạp một cách chính xác
và đơn giản.
Bài toán xử lý truy vấn trong môi trường phân tán phức tạp hơn nhiều do
có nhiều tham số ảnh hưởng tới hiệu quả của truy vấn như sự phân đoạn hay
nhân bản dữ liệu. Hơn nữa, việc truy xuất sẽ lâu hơn do dữ liệu có thể lưu trữ ở
nhiều vị trí.
 Các đặc trưng của bộ phân xử lý truy vấn
Các kiểu tối ưu hóa: Một phương án tối ưu hóa trực tiếp là tìm kiếm trong
không gian lời giải, tiên đoán tất cả các chi phí của các cách thực hiện và chọn
ra cách có chi phí thấp nhất.
Thời điểm tối ưu hóa: Một câu truy vấn có thể được tối ưu tại nhiều thời
điểm: trước khi thực thi truy vấn hoặc trong khi thực thi truy vấn. Tối ưu trước
khi thực hiện truy vấn được thực hiện vào lúc biên dịch. Ngòai ra, người ta còn
sử dụng phương pháp hỗn hợp để thu được hiệu quả cao nhất.
Các tầng của xử lý truy vấn
Ta giả thiết rằng: xử lý vấn tin là trước khi thực thi truy vấn, và không sử
dụng các đoạn nhân bản. Các tầng của bộ xử lý truy vấn cho ở hình 1.5.
 Phân rã vấn tin
Tầng này phân rã câu truy vấn dạng phép tính quan hệ thành dạng đại số

quan hệ trên các quan hệ toàn cục. Qua trình truy vấn được mô tả trên hình 1.5.
24

Phân rã truy vấn
Cục bộ hóa dữ liệu
Tối ưu hóa truy vấn
toàn cục
Tối ưu hóa cục bộ
Truy vấn dạng phép tính trên
các hệ quan hệ phân tán
Truy vấn dạng đại số trên
các quan hệ phân tán
Truy vấn theo mảnh
Truy vấn theo mảnh đã tối ưu
kèm với các phép toán truyền
Truy vấn cục bộ đã tối ưu
Lược đồ
toàn cục
Lược đồ mảnh
Số liệu trên
các mảnh
Lược đồ
cục bộ

Hình 1.5: Lược đồ phân tầng tổng quát để xử lý truy vấn phân tán
 Cục bộ hóa dữ liệu
Sử dụng thông tin về sự phân bố dữ liệu để cục bộ hóa dữ liệu. Tầng này
xác định xem những đoạn nào cần cho câu truy vấn và biến đổi câu truy vấn
phân tán thành câu truy vấn trên các đoạn. Các truy vấn được phân đoạn và làm
đơn giản hóa để tạo được câu truy vấn tốt nhất.

 Tối ưu hóa truy vấn toàn cục
Mục đích của tầng này là tìm ra được một cách thực thi gần tối ưu cho các
truy vấn, tức là tìm một thứ tự tốt nhất cho việc thực hiện các phép toán trong
câu truy vấn theo đoạn, kể cả các thao tác truyền dữ liệu để giảm chi phí xuất
nhập, chi phí CPU, chi phí truyền.
25

 Tối ưu hóa truy vấn cục bộ
Tầng cuối cùng được thực hiện tại các vị trí có các đoạn cần cho câu truy
vấn. Mỗi câu truy vấn con được thực hiện tại một vị trí, gọi là truy vấn cục bộ.
Nó sẽ được tối ưu hóa bằng cách sử dụng lược đồ cục bộ của vị trí.
1.5 Xử lý tƣơng tranh trong CSDL phân tán
Khi truy vấn, có thể xảy ra tình huống có hai câu truy vấn của hai người
dùng khác nhau cùng cập nhật một mục dữ liệu, hoặc hệ thống bị sự cố và phải
ngừng hoạt động trong khi đang thực hiện truy vấn. Những tình huống này gây
tổn hại lớn đối với hệ thống nếu như không có biện pháp xử lý.
1.5.1 Giao dịch
 Định nghĩa
Giao dịch là một đơn vị tính toán nhất quán và tin cậy. Một giao dịch nhận
một CSDL, thực hiện một hành động trên CSDL và tạo tạo một bản CSDL mới.
Nó chuyển CSDL từ trạng thái cũ sang một trạng thái mới. Nói chung một giao
dịch được xem như một dãy các thao tác đọc và ghi trên CSDL cùng với các
bước tính toán cần thiết.
Một giao dịch được đặc tả trong ngôn ngữ SQL như sau
Begin_transaction dinh_danh
begin
EXEC SQL cau_truy_van
end.
Một giao dịch có thể hoàn thành công việc của mình gọi đã ủy thác
(commit). Ngược lại, nếu bị dừng mà chưa hoàn thành công việc thì ta gọi là

giao dịch bị hủy bỏ (abort). Khi một giao dịch bị hủy bỏ, quá trình thực thi sẽ
ngừng và tất cả mọi hành động đã thực hiện đều phải được phục hồi lại để đưa
CSDL về trạng thái đúng trước khi thực hiện giao dịch. Khi giao dịch đã được
ủy thác thì nó báo cho DBMS biết CSDL đã chuyển sang một trạng thái mới, và
kết quả này được lưu vào trong CSDL và không thể phục hồi lại được.
 Tính chất của giao dịch
Các giao dịch được đặc trưng bằng các thao tác đọc và ghi. Chúng có các
tính chất sau:
26

 Tính nhất thể: Có nghĩa là hành động của một giao dịch, hoặc là
hoàn thành tất cả, hoặc là không một hành động nào hoàn tất.
 Tính đúng đắn: Một giao dịch là đúng đắn, tức là ánh xạ CSDL từ
trạng thái đúng đắn này sang trạng thái đúng đắn khác. Có 4 yêu cầu
đảm bảo tính đúng đắn cho một giao dịch T:
o T không ghi đè lên dữ liệu của những giao dịch khác đang sử dụng.
o T không cho phép bất kỳ thao tác ghi nào lên dữ liệu mà nó đang làm
việc cho đến khi hoàn thành giao dịch
o T không đọc dữ liệu đang sử dụng của những giao dịch khác
o Những giao dịch khác không được sử dụng dữ liệu mà T đã đọc cho đến
khi T hoàn tất.
Một giao dịch T gọi là đúng đắn độ 3 nếu nó thoả mãn cả 4 yêu cầu trên.
Một giao dịch T gọi là đúng đắn độ 2 nếu nó thoả mãn 3 yêu cầu. Một giao dịch
T gọi là đúng đắn độ 1 nếu nó thoả mãn 2 yêu cầu. Một giao dịch T gọi là đúng
đắn độ 0 nếu nó thoả mãn yêu cầu 1.
 Tính biệt lập đòi hỏi mỗi giao dịch phải hoạt động với những trạng
thái đóng của CSDL, tức là một giao dịch khi đang thực thi không
thể uỷ thác các kết quả của nó cho những giao dịch khác đang cùng
hoạt động, chừng nào giao dịch chưa kết thúc.
 Tính bền vững đảm bảo rằng một giao dịch khi đã ủy thác thì kết quả

của nó không bị thay đổi và bị xóa khỏi CSDL.
 Các loại giao dịch
Phân loại theo thời gian hoạt động của giao dịch.
Có hai loại giao dịch:
 Giao dịch trực tuyến: Có thời gian thực thi/ đáp ứng rất ngắn khoảng
vài giây và truy xuất một phần CSDL rất nhỏ (ví dụ như giao dịch
ngân hang, giao dịch đặt chỗ máy bay)
 Giao dịch theo lô: Dùng nhiều thời gian hơn khoảng phút, giờ, ngày,
truy xuất CSDL khá lớn.
Phân loại theo cách tổ chức đọc ghi.
 Tổng quát: pha trộn các hành động đọc và ghi, không theo thứ tự
27

 Giao dịch hai bước: buộc mọi hành động đọc phải được thực hiện
trước mọi hành động ghi.
 Giao dịch hạn chế: buộc phải đọc một mục dữ liệu trước khi cập
nhật
 Giao dich hai bước hạn chế: nếu nó thuộc loại hai bước và loại hạn
chế.
 Giao dịch theo mô hình hành động: yêu cầu từng cặp <đọc, ghi>
được thực hiện theo kiểu nguyên tử.
Phân loại theo cấu trúc của giao dịch
 Giao dịch phẳng: có một điểm khởi đầu duy nhất begin_transaction,
và một điểm kết thúc duy nhất end_transaction.
 Giao dịch lồng: cho phép một giao dịch chứa các giao dịch khác.
Những giao dịch được đặt trong giao dịch khác gọi là giao dịch con.
Có hai kiểu là lồng đóng và lồng mở. Trong giao dịch lồng đóng, các
giao dịch con phải bắt đầu sau cha và kết thúc trước cha. Giao dịch
lồng mở cho phép bên ngoài thấy được một phần kết quả của nó.
Giao dịch lồng cho phép khôi phục một cách độc lập cho mỗi giao

dịch con sau khi gặp sự cố.
 Kiến trúc
Bộ phận theo dõi hoạt động phân tán gồm hai đơn vị là bộ quản lý giao
dịch (Transaction Manager-TM) và bộ xếp lịch (Scheduler-SC). TM chịu trách
nhiệm điều phối việc thực hiện các thao tác CSDL của các ứng dụng. Ngược lại
SC chịu trách nhiệm cài đặt một thuật toán điều khiển đồng thời cụ thể nhằm
đồng bộ hóa việc truy xuất CSDL. Ngòai ra, bộ quản lý khôi phục cục bộ tại mọi
vị trí để cài đặt các thủ tục khôi phục tại chỗ nhằm đưa CSDL về trạng thái đúng
sau khi xảy ra sự cố (xem hình 1.6).

×