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

XÂY DỰNG HỆ THỐNG CƠ SỞ DỮ LIỆU PHÂN TÁN QUẢN LÝ ĐÀO TẠO ÁP DỤNG CHO CÁC TRƯỜNG ĐẠI HỌC – CAO ĐẲNG - Full 10 điểm

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 (4.57 MB, 66 trang )

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG CĐ CÔNG NGHỆ THÔNG TIN

BÁO CÁO TỔNG KẾT
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP CƠ SỞ

XÂY DỰNG HỆ THỐNG CƠ SỞ DỮ LIỆU PHÂN TÁN
QUẢN LÝ ĐÀO TẠO ÁP DỤNG CHO CÁC TRƯỜNG

ĐẠI HỌC – CAO ĐẲNG
Mã số: T2013-07-04

Chủ nhiệm đề tài: Nguyễn Thị Ly Sa

Đà Nẵng, 12/2013

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG CĐ CÔNG NGHỆ THÔNG TIN

BÁO CÁO TỔNG KẾT
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP CƠ SỞ

XÂY DỰNG HỆ THỐNG CƠ SỞ DỮ LIỆU PHÂN TÁN
QUẢN LÝ ĐÀO TẠO ÁP DỤNG CHO CÁC TRƯỜNG

ĐẠI HỌC – CAO ĐẲNG

Mã số: T2013-07-04


Xác nhận của cơ quan chủ trì đề tài Chủ nhiệm đề tài

Nguyễn Thị Ly Sa
Đà Nẵng, 12/2013

MỤC LỤC

MỞ ĐẦU ............................................................................................................... 1
CHƯƠNG 1. LÝ THUYẾT VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN............................ 3
1.1. Các khái niệm.........................................................................................................3
1.2. Các lý do sử dụng cơ sở dữ liệu phân tán ..............................................................4
1.3. Hạn chế của cơ sở dữ liệu phân tán........................................................................4
1.4. Kiến trúc của hệ cơ sở dữ liệu phân tán .................................................................5
1.5. Kỹ thuật thiết kế cơ sở dữ liệu phân tán.................................................................5

1.5.1. Kiến trúc cơ bản của cơ sở dữ liệu phân tán ...................................................5
1.5.2. Các chiến lược thiết kế cơ sở dữ liệu phân tán................................................6
1.5.3. Phân mảnh (Fragmentation) ............................................................................6
1.5.4. Nhân bản (Replication) ...................................................................................7
1.5.5. Hạn chế của phân mảnh và nhân bản ..............................................................8

CHƯƠNG 2. CƠ SỞ DỮ LIỆU PHÂN TÁN TRONG MS SQL SERVER.......... 9
2.1. Distributed Transaction..........................................................................................9
2.2. Replication ...........................................................................................................11

2.2.1. Khái niệm ......................................................................................................11
2.2.2. Các loại Replication trong MS SQL Server ..................................................12
2.3. Lợi ích của Replication ........................................................................................13
2.4. Các vấn đề cơ bản trong Replication ...................................................................13
2.4.1. Thành phần chính trong Replication .............................................................13

2.4.2. Mơ hình nhân bản logic.................................................................................14
2.4.3. Các mơ hình nhân bản vật lý .........................................................................15
2.4.4. Kỹ thuật chuyển dữ liệu từ Publisher tới Subcriber ......................................17
2.4.5. Các loại Agent ...............................................................................................18
CHƯƠNG 3. REPLICATION ................................................................................ 19
3.1. Snapshot Replication............................................................................................19
3.1.1. Giới thiệu Snapshot Replication....................................................................19
3.1.2. Hoạt động của Snapshot Replication.............................................................19
3.2. Transactional Replication.....................................................................................20
3.2.1. Giới thiệu Transactional Replication.............................................................20
3.2.2. Hoạt động của Transactional Replication .....................................................21
3.2.3. Transactional Replication with updatable Subcription .................................21

3.3. Merge Replication ................................................................................................22
3.3.1. Giới thiệu Merge Replication ........................................................................22
3.3.2. Hoạt động của Merge Replication.................................................................23

CHƯƠNG 4. XÂY DỰNG MƠ HÌNH PHÂN TÁN.............................................. 24
4.1. Qui trình quản lý đào tạo......................................................................................24
4.2. Mơ hình cơ sở dữ liệu phân tán quản lý đào tạo .................................................24
4.3. Thiết kế cơ sở dữ liệu phân tán ............................................................................25
4.4. Giải pháp đồng bộ cơ sở dữ liệu phân tán............................................................26
4.5. Các vấn đề trong đồng bộ dữ liệu ........................................................................26
4.6. An toàn và bảo mật trong Replication .................................................................27
4.7. Cài đặt thực nghiệm .............................................................................................27
4.8. Kiểm tra kết quả đồng bộ thơng qua chương trình ứng dụng ..............................31
4.9. Đánh giá kết quả thực nghiệm .............................................................................36

CHƯƠNG 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ....................................... 37
5.1. Kết quả đạt được ..................................................................................................37

5.2. Hạn chế.................................................................................................................37
5.3. Hướng phát triển ..................................................................................................37

TÀI LIỆU THAM KHẢO........................................................................................... 38

DANH MỤC HÌNH VẼ

Hình 1. Hệ cơ sở dữ liệu phân tán và hệ cơ sở dữ liệu tập trung ................................. 3
Hình 2. Kiến trúc cơ sở dữ liệu phân tán ...................................................................... 5
Hình 3. Minh họa các phương pháp phân mảnh .......................................................... 6
Hình 4. Quá trình truyền một Distributed Transaction qua các site .......................... 10
Hình 5. Mức độ độc lập và độ trễ của các phương pháp phân tán ............................ 12
Hình 6. Mơ hình nhân bản logic ................................................................................. 15
Hình 7. Mơ hình nhân bản Publisher/Distributor-Subscriber đơn giản..................... 15
Hình 8. Mơ hình nhân bản vật lý Central Publisher-Multiple Subscribers................ 16
Hình 9. Mơ hình central Subscriber/Multiple Publisher ............................................ 16
Hình 10. Mơ hình Multiple Publishers-Multiple Subscriber ...................................... 17
Hình 11. Hoạt động của Snapshot Replication........................................................... 20
Hình 12. Hoạt động của Transactional Replication ................................................... 21
Hình 13. Hoạt động của Merge Replication ............................................................... 23
Hình 14. Một mơ hình cơ sở dữ liệu phân tán quản lý đào tạo .................................. 25
Hình 15. Cơ sở dữ liệu được dùng thử nghiệm ........................................................... 28
Hình 16. Cấu hình Replication trong MS SQL Server ................................................ 29
Hình 17. Cơ sở dữ liệu tại các server ......................................................................... 29
Hình 18. Kết quả đồng bộ dữ liệu giữa server Phòng đào tạo và server Khoa ......... 30
Hình 19. Kết quả đồng bộ dữ liệu giữa server Phòng đào tạo và server Sinh viên ... 30
Hình 20. Đăng nhập vào server Phịng đào tạo và server Sinh viên .......................... 31
Hình 21. Thêm mới một dịng dữ liệu tại server Phịng đào tạo................................. 31
Hình 22. Dòng dữ liệu mới được đồng bộ về server Khoa ......................................... 32
Hình 23. Cập nhật dữ liệu liệu tại server Phịng đào tạo ........................................... 32

Hình 24. Cập nhật dữ liệu liệu tại server Khoa......................................................... 33
Hình 25. Kết quả sau khi đồng độ tại server Phịng đào tạo ...................................... 33
Hình 26. Kết quả sau khi đồng độ tại server Khoa..................................................... 34
Hình 27. Cập nhật dữ liệu tại server Phòng đào tạo .................................................. 34
Hình 28. Cập nhật dữ liệu tại server Khoa ................................................................. 35
Hình 29. Kết quả sau khi đồng độ tại server Phịng đào tạo ...................................... 35
Hình 30. Kết quả sau khi đồng độ tại server Khoa..................................................... 36

DANH MỤC BẢNG

Bảng 1. So sánh các phương pháp nhân bản..............................................................7

2PC DANH MỤC TỪ VIẾT TẮT

DB : Two Phase Commit
DBMS : Cao Đẳng
DDB : DataBase
DDBS : Distributed Database Management System
DTC : Distributed DataBase
ĐHĐN : Distributed Database System-DDBS
IPSEC : Distributed Transaction Coordinator
IT : Đại học Đà Nẵng
LAN : IP Security
MS : Information Technology
PAL : Local Area Network
SSL : Microsoft
VPN
Publication Access List
: Secure Sockets Layer
: Virtual Private Network


ĐẠI HỌC ĐÀ NẴNG CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG CĐ CÔNG NGHỆ THÔNG TIN Độc lập – Tự do – Hạnh phúc

THÔNG TIN KẾT QUẢ NGHIÊN CỨU

1. Thông tin chung:

- Tên đề tài: XÂY DỰNG HỆ THỐNG CƠ SỞ DỮ LIỆU PHÂN TÁN QUẢN
LÝ ĐÀO TẠO ÁP DỤNG CHO CÁC TRƯỜNG ĐẠI HỌC – CAO ĐẲNG

- Mã số: T2013-07-04
- Chủ nhiệm: NGUYỄN THỊ LY SA
- Thành viên tham gia:
- Cơ quan chủ trì: Trường Cao đẳng Cơng nghệ thông tin – Đại học Đà Nẵng
- Thời gian thực hiện: từ ngày 01/01/2013 đến ngày 31/12/2013

2. Mục tiêu:

- Tìm hiểu cơ sở dữ liệu phân tán và các các kỹ thuật phân tán dữ liệu trong MS
SQL Server, đặc biệt là kỹ thuật Replication .

- Xây dựng một mơ hình cơ sở dữ liệu phân tán trong quản lý đào tạo.

3. Tính mới và sáng tạo:

- Đề tài đã đề xuất một mơ hình cơ sở dữ liệu phân tán cho hệ thống quản lý đào
tạo và chọn lựa giải pháp đồng bộ cơ sở dữ liệu phân tán trong MS SQL Server


- Cài đặt thử nghiệm với cơ sở dữ liệu hiện đang sử dụng của Trường CĐ Công
nghệ Thơng tin-ĐHĐN

4. Tóm tắt kết quả nghiên cứu:

Đề tài đã đề xuất một mơ hình cơ sở dữ liệu phân tán cho hệ thống quản lý đào tạo
áp dụng cho các trường Đại học Cao đẳng. Cụ thể, hệ thống cơ sở dữ liệu phân tán
của Trường CĐ Công nghệ Thông tin-ĐHĐN gồm 3 server:

- Server dùng riêng cho Phòng Đào tạo và các bộ phận khác như Phịng Cơng
tác Sinh viên, Phịng Tài vụ để cập nhật lớp học phần, điểm, học phí, xét học vụ…
(gọi là server Phịng Đào tạo)

- Server dùng riêng cho các Khoa cập nhật thơng tin lịch trình giảng dạy của
giáo viên, điểm danh, phân công giáo viên hướng dẫn đề tài… (gọi là server Khoa)

- Server dành riêng cho sinh viên xem các thông tin cá nhân và thông tin liên
quan đến việc học tập qua internet như điểm, thời khóa biểu và đăng ký học phần…
(gọi là server Sinh viên )

Ba server này kết nối với nhau thông qua hệ thống mạng LAN, mọi dữ liệu trong
hệ thống quản lý đào tạo đều được lưu tại server Phòng Đào tạo, một phần dữ liệu
của server này được nhân bản đến 2 server còn lại theo đúng chức năng và nhiệm vụ
của từng server. Ba server này đều đặn đồng bộ dữ liệu với nhau để đảm bảo tính
chính xác cao nhất của dữ liệu.

Đề tài sử dụng kỹ thuật Replication trong MS SQL Server 2008 để cài đặt thử
nghiệm. Kết quả đồng bộ có độ chính xác đạt 100% và thời gian đồng bộ ở mức chấp
nhận được.


5. Tên sản phẩm:

- Hệ thống cơ sở dữ liệu phân tán quản lý đào tạo
- Bài báo đăng Kỷ yếu hội thảo nghiên cứu khoa học: Công Nghệ Thông Tin Và
Ứng Dụng Công Nghệ Thông Tin Trong Các Lĩnh Vực, Trường Cao đẳng Công
nghệ Thông tin, lần thứ 2.
- Báo cáo tổng kết kết quả nghiên cứu đề tài.

6. Hiệu quả, phương thức chuyển giao kết quả nghiên cứu và khả năng áp dụng:

- Về mặt Giáo dục - Đào tạo: Phục vụ công tác giảng dạy, nghiên cứu và thực
hành chuyên đề Cơ sở dữ liệu phân tán cho sinh viên trong khoa Công nghệ Thông
tin, chuyên ngành Hệ thống thông tin.

- Về sản phẩm ứng dụng : Góp phần nâng cao hiệu quả trong quá trình quản lý
đào tạo tại các trường Đại học Cao Đẳng.

7. Hình ảnh, sơ đồ minh họa chính:

Hình 1. Một mơ hình cơ sở dữ liệu phân tán trong quản lý đào tạo

Publisher: server Phòng Đào tạo
Publication ứng với server Khoa
Publication ứng với server Sinh
viên
Subscriber: server Sinhviên

Subscription tại server Sinh viên

Subscriber: server Khoa

Subscription tại server Khoa

Hình 2. Cấu hình Replication trong MS SQL Server

Cơ quan chủ trì Đà Nẵng, ngày 15 tháng 12 năm 2013
Chủ nhiệm đề tài

Nguyễn Thị Ly Sa

MỞ ĐẦU

1. Tổng quan tình hình nghiên cứu thuộc lĩnh vực của đề tài ở trong và ngồi
nước

Cơng nghệ cơ sở dữ liệu đã trải qua một quá trình hình thành và phát triển khá lâu
dài. Ban đầu, các hệ cơ sở dữ liệu thường gắn liền với ứng dụng, nghĩa là mỗi ứng
dụng định nghĩa và duy trì dữ liệu của riêng chúng. Phát triển hơn, dữ liệu được quản
lý một cách tập trung, nhiều ứng dụng khác nhau có thể truy xuất dữ liệu trực tiếp từ
cơ sở dữ liệu tập trung đó.

Cơ sở dữ liệu tập trung cũng tồn tại nhiều khuyết điểm, có thể kể đến đó là khi
trung tâm dữ liệu có sự cố thì tồn hệ thống sẽ ngừng hoạt động, hay tình trạng tắc
nghẽn khi có quá nhiều yêu cầu truy xuất vào cơ sở dữ liệu. Cơ sở dữ liệu phân tán ra
đời đã phần nào khắc phục được những điểm yếu của cơ sở dữ liệu tập trung. Là kết
quả của sự hợp nhất của hai hướng tiếp cận đối với q trình xử lý dữ liệu: cơng nghệ
cơ sở dữ liệu và cơng nghệ mạng máy tính.

Cơ sở dữ liệu phân tán gồm nhiều cơ sở dữ liệu tích hợp lại với nhau thơng qua
mạng máy tính để trao đổi dữ liệu. Cơ sở dữ liệu được tổ chức và lưu trữ ở những vị
trí khác nhau trong mạng máy tính và chương trình ứng dụng làm việc trên cơ sở truy

cập dữ liệu ở những điểm khác nhau đó. Xét trên khía cạnh người dùng, đặc biệt là
các cơng ty xí nghiệp lớn, thì cơ sở dữ liệu phân tán đáp ứng nhu cầu tốt hơn cơ sở
dữ liệu tập trung ứng với sự phân bố ngày càng rộng rãi của các tổ chức này.

Tuy nhiên, vấn đề lớn nhất của hệ thống cơ sở dữ liệu phân tán nói chung và của
đề tài nói riêng chính là sự phức tạp của nó, bên cạnh vấn đề của cơ sở dữ liệu tập
trung còn rất nhiều vấn đề phải giải quyết như: thiết kế cơ sở dữ liệu phân tán, xử lý
truy vấn đồng thời trong phân tán, đảm bảo tính chính xác, toàn vẹn dữ liệu và an
toàn hệ thống… Quản lý một hệ thống cơ sở dữ liệu phân tán là một thách thức ngay
cả đối với người có nhiều kiến thức và kinh nghiệm trong lĩnh vực này. Vì vậy, quyết
định có sử dụng hệ thống cơ sở dữ liệu phân tán thay cho hệ thống cơ sở dữ liệu tập
trung hay khơng là cả bài tốn lớn cần phải giải quyết.

2. Tính cấp thiết của đề tài
Hiện nay phần lớn hệ thống quản lý đào tạo của các Trường Đại học Cao đẳng, cụ

thể Trường CĐ Công nghệ Thông tin-Đại học Đà Nẵng được xây dựng theo mơ hình
cơ sở dữ liệu tập trung, cơ sở dữ liệu được lưu ở một máy chủ (server) và mọi hoạt
động như đăng ký học phần của sinh viên, nhập điểm của phòng đào tạo hay quản lý

1

lớp học của giáo viên… đều truy cập trực tiếp lên một server gây nên sự quá tải xử lý
cho server, giảm hiệu suất hoạt động của toàn bộ hệ thống.

Nhằm góp phần nâng cao hiệu quả trong việc quản lý sinh viên của các trường Đại
học Cao đẳng, đề tài này tập trung tìm hiểu và xây dựng mơ hình cơ sở dữ liệu phân
tán phù hợp với các yêu cầu đặt ra của hệ thống quản lý đào tạo.

3. Mục tiêu của đề tài

Xây dựng hệ thống cơ sở dữ liệu phân tán quản lý đào tạo áp dụng vào các trường

Đại học Cao Đẳng, cụ thể là trường CĐ Công nghệ Thông tin - Đại học Đà Nẵng

4. Đối tượng, phạm vi nghiên cứu
4.1. Đối tượng nghiên cứu:

Mô hình cơ sở dữ liệu phân tán và giải pháp đồng bộ cơ sở dữ liệu
4.2. Phạm vi nghiên cứu:

Hệ thống quản lý đào tạo trường CĐ Công nghệ Thông tin - ĐHĐN.
MS SQL Server 2008

5. Cách tiếp cận, phương pháp nghiên cứu
- Từ thực tế quản lý đào tạo của các trường Đại học Cao Đẳng, đề tài đề xuất

một mơ hình cơ sở dữ liệu phân tán phù hợp với hệ thống quản lý đào tạo.
- Tìm hiểu các kỹ thuật phân tán dữ liệu trong MS SQL Server và chọn lựa

phương pháp thích hợp với mơ hình đã đề xuất
- Cài đặt thực nghiệm vào hệ thống quản lý đào tạo của Trường CĐ Công nghệ

Thông tin - ĐHĐN.

6. Nội dung nghiên cứu:
- Thực trạng hệ thống quản lý đào tạo của các trường Đại học Cao đẳng, cụ thể

là Trường CĐ Công nghệ Thông tin- ĐHĐN
- Mơ hình cơ sở dữ liệu phân tán quản lý đào tạo và giải pháp đồng bộ cơ sở dữ


liệu phân tán trong MS SQL Server
- Kết quả cài đặt thực nghiệm vào Trường CĐ Công nghệ Thông tin- ĐHĐN.

2

Chương 1. LÝ THUYẾT VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN

Chương này sẽ trình bày về các khái niệm trong cơ sở dữ liệu phân tán, lý do sử
dụng cơ sở dữ liệu phân tán cũng và các ưu và nhược điểm của nó.

1.1. Các khái niệm [1, 2]

Cơ sở dữ liệu phân tán (Distributed DataBase - DDB) 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. Trong đó liên đới
logic là dữ liệu ở các nơi được sử dụng để giải quyết chung một vấn đề, còn phân bố
trên một mạng máy tính là tồn bộ dữ liệu khơng phải lưu trữ ở một nơi mà lưu trữ
trên nhiều trạm thuộc mạng máy tính.

Hệ quản trị cơ sở dữ liệu phân tán (Distributed Database Management System-
DDBMS) được định nghĩa 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 sự phân tán trở nên “trong suốt” đối với người sử dụng.

Hệ cơ sở dữ liệu phân tán (Distributed Database System-DDBS): Được xây dựng
dựa trên hai công nghệ cơ bản là cơ sở dữ liệu và mạng máy tính. Một hệ cơ sở dữ
liệu phân tán không phải là tập hợp các tập tin được lưu riêng lẻ tại mỗi nút của một
mạng máy tính mà các tập tin này phải có liên đới logic với nhau, có cấu trúc và được
truy xuất qua một giao diện chung.

 Hệ cơ sở dữ liệu phân tán và hệ cơ sở dữ liệu tập trung


Trạm 1 Trạm 1

Trạm 5 Trạm 2 Trạm 5 Trạm 2

Mạng truyền dữ liệu Mạng truyền dữ liệu

Trạm 4 Trạm 3 Trạm 4 Trạm 3

(a) Hệ cơ sở dữ liệu phân tán (b) Hệ cơ sở dữ liệu tập trung

Hình 1. Hệ cơ sở dữ liệu phân tán và hệ cơ sở dữ liệu tập trung

Nếu như trong môi trường hệ cơ sở dữ liệu tập trung dữ liệu được tập trung tại một
nút mạng và mọi yêu cầu được chuyển tới vị trí đó, thì hệ cơ sở dữ liệu phân tán là
mơi trường trong đó dữ liệu phân tán trên một số vị trí.

 Hệ cơ sở dữ liệu phân tán và hệ xử lý phân tán

Hệ xử lý phân tán (Distributed Processing) hay cịn gọi là hệ tính tốn phân tán
(Distributed Computing) là hệ thống mà một số các bộ phận xử lý tự vận hành, được
liên kết bởi một mạng máy tính và cùng thực hiện các tác vụ mà chúng được phân

3

công. Như vậy sự khác nhau cơ bản giữa hệ cơ sở dữ liệu phân tán và hệ xử lý phân
tán chính là đối tượng phân tán, trong hệ cơ sở dữ liệu phân tán đối tượng phân tán là
dữ liệu còn trong hệ xử lý phân tán đối tượng phân tán là thành phần xử lý.

1.2. Các lý do sử dụng cơ sở dữ liệu phân tán [1, 2]


- Các tổ chức có cấu trúc phân tán: Trong thực tế có nhiều tổ chức được phân
tán khắp nơi, trong khi đó, dữ liệu quản lý ngày càng lớn và phục vụ cho đa người
dùng nằm phân tán, vì vậy cơ sở dữ liệu phân tán là con đường thích hợp với cấu trúc
tự nhiên của các tổ chức đó.

- Cần kết nối các cơ sở dữ liệu có sẵn: Cơ sở dữ liệu phân tán là giải pháp tự
nhiên khi có các cơ sở dữ liệu đang tồn tại và sự cần thiết xây dựng một ứng dụng
toàn cục. Trong trường hợp này cơ sở dữ liệu phân tán được tạo theo tiến trình từ
dưới lên dựa trên nền tảng cơ sở dữ liệu đang tồn tại. Tiến trình này địi hỏi phải tái
cấu trúc các cơ sở dữ liệu cục bộ ở một mức nhất định.

- Sự lớn mạnh của tổ chức: Các tổ chức có thể phát triển mở rộng bằng cách
thành lập thêm các đơn vị mới, vừa có tính tự trị, vừa có quan hệ với các đơn vị tổ
chức khác.

- Giảm chi phí truyền thơng: Việc tăng ứng dụng cục bộ có thể làm giảm chi phí
truyền thơng.

- Nâng cao hiệu suất: Có cơ chế xử lý song song và phân mảnh dữ liệu theo
ứng dụng làm cực đại hóa tính cục bộ của ứng dụng.

- Tăng độ tin cậy và tính sẵn sàng: Khi hệ thống cơ sở dữ liệu tập trung bị hỏng,
toàn bộ hệ thống trở nên vô dụng với tất cả các người dùng. Còn đối với cơ sở dữ liệu
phân tán, nếu có một thành phần nào đó của hệ thống bị hỏng, hệ thống vẫn có thể
duy trì hoạt động tại một số vị trí.

1.3. Hạn chế của cơ sở dữ liệu phân tán [1, 2]

Bên cạnh các ưu điểm được trình trình bày bên trên, hệ thống cơ sở dữ liệu phân
tán cũng có nhiều hạn chế sau:


- Tính phức tạp: Các vấn đề của hệ cơ sở dữ liệu phân tán dĩ nhiên là phức tạp
hơn rất nhiều với hệ cơ sở dữ liệu tập trung, bên cạnh các vấn đề của hệ tập trung nó
cịn rất nhiều vấn đề phải giải quyết như: thiết kế cơ sở dữ liệu phân tán, xử lý truy
vấn phân tán, điều khiển đồng thời phân tán, …

- Chi phí phần cứng: Một khi dữ liệu được sao lưu ở nhiều vị trí khác nhau sẽ
dẫn đến việc gia tăng các tài nguyên cần sử dụng để lưu trữ.

- Khó khăn trong việc đảm bảo tính tồn vẹn dữ liệu và sự an toàn của hệ thống.

4

1.4. Kiến trúc của hệ cơ sở dữ liệu phân tán [1, 2]

- Kiến trúc client/server: Dữ liệu được tập trung và xử lý hầu hết ở server, các
client chỉ lưu trữ và xử lý một phần dữ liệu thực sự cần thiết trong phạm vị hoạt động
của client đó.

- Kiến trúc peer-to-peer: Các vị trí ngang hàng nhau, có thể sử dụng như một hệ
thống độc lập, tự quản lý dữ liệu của chính mình và chia sẻ dữ liệu cho các vị trí
khác.

1.5. Kỹ thuật thiết kế cơ sở dữ liệu phân tán [1, 2]

1.5.1. Kiến trúc cơ bản của cơ sở dữ liệu phân tán

Lược đồ tổng thể

Lược đồ phân

mảnh

Lược đồ định vị

Lược đồ ánh xạ Lược đồ ánh xạ Lược đồ ánh xạ
địa phương 1 địa phương 2 địa phương 3

CSDL1 CSDL2 CSDL3

Hình 2. Kiến trúc cơ sở dữ liệu phân tán

- Lược đồ tổng thể: Định nghĩa tất cả các dữ liệu sẽ được lưu trữ trong cơ sở
dữ liệu phân tán. Trong mơ hình dữ liệu quan hệ, lược đồ tổng thể bao gồm tất cả các
lược đồ quan hệ.

- Lược đồ phân mảnh: Mỗi lược đồ quan hệ trong lược đồ tổng thể có thể chia
thành một vài phần khơng gối lên nhau được gọi là mảnh (Fragments). Có nhiều
cách khác nhau để thực hiện việc phân chia này (xem mục 1.5.3).

- Lược đồ định vị: Các mảnh từ lược đồ phân mảnh được định vị vật lý trên một
hoặc nhiều vị trí. Lược đồ định vị định nghĩa mảnh nào định vị tại các vị trí nào.

- Lược đồ ánh xạ địa phương: Tập hợp tất cả các mảnh được lưu trữ tại một vị
trí.

5

1.5.2. Các chiến lược thiết kế cơ sở dữ liệu phân tán
- Phương pháp top-down: Phương pháp này thích hợp với cơ sở dữ liệu được


thiết kế từ đầu. Bắt đầu từ việc thu thập và phân tích yêu cầu của hệ thống, tiếp theo
là thiết kế các lược đồ cần thiết trong cơ sở dữ liệu phân tán: lược đồ tổng thể, lược
đồ phân mảnh, lược đồ định vị và lược đồ ánh xạ địa phương.

- Phương pháp bottom-up: Trong thực tế, nhiều hệ thống đã có sẵn một số cơ sở
dữ liệu tại các địa phương, nhiệm vụ của người thiết kế là tích hợp chúng thành một
cơ sở dữ liệu tổng thể. Phương pháp này là q trình tích hợp lược đồ địa phương
thành lược đồ tổng thể.

1.5.3. Phân mảnh (Fragmentation)
Thiết kế phân mảnh chính là trả lời câu hỏi “Làm thế nào để cơ sở dữ liệu và các

ứng dụng chạy trên cơ sở dữ liệu đó có thể đặt ở nhiều vị trí?”. Phân mảnh là chia
một quan hệ thành những mảnh tách biệt, mỗi mảnh được phân bố tại các vị trí khác
nhau. Lý do của phân mảnh là có được đơn vị phân tán thích hợp. Thường thì khung
nhìn của các ứng dụng chỉ là tập con của quan hệ, nên đơn vị truy xuất khơng phải là
tồn bộ quan hệ mà là tập con của quan hệ. Do đó, xem tập con của quan hệ là đơn vị
phân tán là điều thích hợp duy nhất.

Các phương pháp phân mảnh: phân mảnh ngang (Horizontal Fragmentation), phân
mảnh dọc (Vertical Fragmentation) và phân mảnh hỗn hợp (Mixed Fragmentation).

Hình 3. Minh họa các phương pháp phân mảnh

1. Phân mảnh ngang (Horizontal Fragmentation):
Phân mảnh ngang chính là việc chia quan hệ theo chiều ngang, kết quả của phân

mảnh ngang là các quan hệ con, số bộ trong các quan hệ con này là tách biệt nhau.
Phân mảnh ngang thực chất là phép chọn thỏa một điều kiện cho trước. Phân mảnh
ngang được chia làm 2 loại: phân mảnh ngang nguyên thủy và phân mảnh ngang dẫn

xuất.

6

- Phân mảnh ngang nguyên thủy: Phân mảnh ngang nguyên thuỷ được định
nghĩa bằng một phép toán chọn trên các quan hệ gốc. Với quan hệ R, các mảnh
ngang của R là các Ri: Ri = σFi(R), 1 ≤ i ≤ n. Trong đó Fi là điều kiện chọn được sử
dụng để có được mảnh Ri.

- Phân mảnh ngang dẫn xuất: Phân mảnh ngang dẫn xuất là phân rã một quan hệ
thành các mảnh dựa vào điều kiện chọn được định nghĩa trên một quan hệ khác có
liên quan.

2. Phân mảnh dọc (Vertical Fragmentation):

Một phân mảnh dọc cho một quan hệ R sinh ra các mảnh R1, R2,.., Rr, mỗi mảnh
chứa một tập con các thuộc tính của R và cả khoá của R . Phân mảnh dọc thực chất là
chia quan hệ theo chiều dọc, nghĩa là thiết lập các quan hệ mới từ một số thuộc tính
của quan hệ gốc. Thực chất đây là phép chiếu lên tập con các thuộc tính của quan hệ.

3. Phân mảnh hỗn hợp (Mixed Fragmentation):

Trong đa số các trường hợp, phân mảnh ngang hoặc phân mảnh dọc đơn giản
không đủ đáp ứng các yêu cầu từ ứng dụng. Có một số trường hợp phân mảnh dọc có
thể thực hiện sau một số mảnh ngang hoặc ngược lại, chọn lựa này được gọi là phân
mảnh hỗn hợp.

 Các qui tắc phân mảnh đúng đắn:
Khi phân mảnh một quan hệ phải tuân thủ các quy tắc sau để đảm bảo cơ sở dữ


liệu không bị thay đổi về ngữ nghĩa sau khi phân mảnh:

- Tính đầy đủ: Nếu một quan hệ R được phân thành các mảnh R1, R2,…, Rn thì
mỗi bộ giá trị có trong R phải có mặt trong một hoặc các đoạn Ri

- Tính tái thiết được: Nếu một quan hệ R được phân thành các mảnh R1, R2,…,
Rn thì cần phải tồn tại một phép toán ω sao cho có thể tái thiết quan hệ gốc R từ các
quan hệ phân rã Ri thơng qua phép tốn ω: R = ω(Ri).

- Tính tách biệt: Nếu một quan hệ R được phân đoạn ngang thành các quan hệ
R1, R2, …, Rn và bộ giá trị ti nằm trong đoạn Ri thì nó sẽ khơng nằm trong một đoạn
Rk nào nữa. Tiêu chuẩn này đảm bảo các đoạn tách rời nhau. Nếu quan hệ được phân
rã dọc thì khóa chính phải được lặp lại trong mỗi đoạn.

1.5.4. Nhân bản (Replication)

Cơ sở dữ liệu sau khi phân mảnh thích hợp cần phải được quyết định cấp phát các
mảnh cho các vị trí, các mảnh có thể được nhân bản hoặc có thể khơng nhân bản.

Trong cơ sở dữ liệu không nhân bản (được gọi là cơ sở dữ liệu phân hoạch), mỗi
mảnh được cấp phát trên một vị trí và khơng có bản sao nào trên các vị trí cịn lại.

7

Trường hợp nhân bản, hoặc toàn bộ hoặc toàn bộ cơ sở dữ liêu tồn tại ở mỗi vị trí (cơ
sở dữ liệu nhân bản hoàn toàn) hoặc các mảnh phân tán đến các vị trí, trong đó một
mảnh có thể có nhiều bản sao nằm tại nhiều vị trí (cơ sở dữ liệu nhân bản một phần).

Lý do cần nhân bản là nhằm đảm bảo được độ tin cậy và hiệu quả cho yêu cầu truy
vấn dữ liệu, cụ thể nếu có nhiều bản sao của một đơn vị dữ liệu đặt tại nhiều vị trí thì

người dùng vẫn có cơ hội truy xuất được dữ liệu ngay cả khi vị trí khác xảy ra sự cố.

Bảng 1 so sánh ba phương pháp nhân bản ứng với các chức năng khác nhau của hệ
cơ sở dữ liệu phân tán.

Nhân bản hoàn toàn Nhân bản một phần Phân hoạch
Khó
Xử lý truy vấn Dễ Khó Khó
Quản lý thư mục Dễ
Điều khiển đồng thời Dễ hoặc khơng tồn tại Khó Thấp
Độ tin cậy Có thể áp dụng
Tính thực tế Vừa phải Khó

Rất cao Cao

Có thể áp dụng Thực tế

Bảng 1. So sánh các phương pháp nhân bản

1.5.5. Hạn chế của phân mảnh và nhân bản

- Hạn chế của phân mảnh liên quan đến việc kiểm tra tính tồn vẹn của dữ liệu,
chẳng hạn như một số thuộc tính tham gia vào một ràng buộc có thể bị phân rã thành
các mảnh khác nhau và cấp phát cho những vị trí khác nhau, lúc đó việc kiểm tra
ràng buộc phải truy tìm dữ liệu ở nhiều vị trí. Hay một hạn chế khác của phân mảnh
khi một ứng dụng có các khung nhìn được định nghĩa trên nhiều mảnh khác nhau sẽ
giảm hiệu suất hoạt động.

- Đối với việc nhân bản, việc cập nhật dữ liệu cũng gặp nhiều rắc rối vì hệ thống
phải đảm bảo rằng tất cả các bản sao ở các vị trí phải được cập nhật chính xác.


Vì vậy, quyết định phân mảnh như thế nào, có nhân bản hay khơng và việc phân
bố các mảnh tới các vị trí sao cho tối ưu là bài toán qui hoạch toán học với độ phức
tạp NP-hard nhằm hạ tối đa chi phí lưu trữ, chi phí xử lý và truyền thơng.

8

Chương 2. CƠ SỞ DỮ LIỆU PHÂN TÁN TRONG MS SQL SERVER

MS SQL Server hỗ trợ hai phương pháp phân tán dữ liệu là Distributed
Transaction và Replication. Chương này sẽ trình bày đặc điểm của từng phương
pháp, đặc biệt là Replication và sự khác nhau giữa chúng.

2.1. Distributed Transaction [3]

Transaction (giao dịch) là một đơn vị xử lý nguyên tố gồm tập hợp các thao tác
truy xuất tới những hạng mục dữ liệu. Transaction phải thỏa mãn 4 tiêu chí sau đây:

- Tính nguyên tố: Hoặc là tất cả các thao tác trong giao dịch được thực hiện thành
công hoặc không thao tác nào thành công cả.

- Tính nhất quán: Khi giao dịch kết thúc (thành cơng hay thất bại), tồn bộ dữ
liệu phải ở trong trạng thái nhất qn.

- Tính cơ lập: Khi có nhiều giao dịch thực thi đồng thời thì kết quả của giao dịch
này không ảnh hưởng tới kết quả của giao dịch kia.

- Tính bền vững: Khi một giao dịch hồn thành thì tất cả thay đổi của nó trên dữ
liệu vẫn được duy trì bền vững bất chấp sự cố có thể xảy ra.


Chẳng hạn, một giao dịch T chuyển số tiền 100$ từ tài khoản A1 sang tài khoản
A2 tại một ngân hàng B gồm hai thao tác như sau:

 O1: Rút 100$ từ tài khoản A1.
 O2: Nạp 100$ vào tài khoản A2.
Giao dịch T được gọi là thành công khi cả hai hành động thành công, nếu một
trong hai hành động thất bại thì hành động cịn lại phải thất bại và giao dịch lúc đó
được xem là thất bại.
Distributed Transaction tượng trưng cho một trong hai cách phân tán dữ liệu trong
MS SQL Server. Distributed transaction là một giao dịch bao gồm những thao tác
truy cập đến những hạng mục dữ liệu trên nhiều site khác nhau. Sự kết hợp các site
để cùng thực hiện một giao dịch được điều hành bởi bộ phận quản lý giao dịch. MS
DTC (Microsoft Distributed Transaction Coordinator) là một bộ phận quản lý giao
dịch, bằng cách áp dụng kỹ thuật Two Phase Commit (2PC), MS DTC đảm bảo sự
hoàn thành giao dịch tại tất cả các site vào cùng một thời điểm.
Mở rộng ví dụ chuyển tiền bên trên, ngân hàng B có 2 chi nhánh B1 và B2 trong
đó tài khoản A1 được quản lý bởi site ở chi nhánh B1 và tài khoản A2 được quản lý
bởi site ở chi nhánh B2. Khi đó, giao dịch T là một distributed transaction, việc thực
thi của giao dịch T liên quan đến việc thực thi của cả 2 site.

9


×