Hiện nay, nhiều trường đã xây dựng các phần mềm quản lý học sinh sinh viên dựa trên hệ quản trị cơ sở dữ liệu tập trung, nhưng khối lượng dữ liệu được sử dụng trong mỗi một năm học rất l
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM
- -
LÊ THÀNH TRUNG
XÂY DỰNG CƠ SỞ DỮ LIỆU PHÂN TÁN QUẢN LÝ
HỌC SINH – SINH VIÊN TẠI TRƯỜNG CAO ĐẲNG KỸ NGHỆ
DUNG QUẤT
LUẬN VĂN THẠC SĨ CHUYÊN NGÀNH HỆ THỐNG THÔNG TIN
Đà Nẵng – Năm 2019
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM
- -
LÊ THÀNH TRUNG
XÂY DỰNG CƠ SỞ DỮ LIỆU PHÂN TÁN QUẢN LÝ
HỌC SINH – SINH VIÊN TẠI TRƯỜNG CAO ĐẲNG KỸ NGHỆ
Trang 3MỞ ĐẦU 1
1 Lý do chọn đề tài: 1
2 Mục tiêu nghiên cứu: 1
3 Đối tượng và phạm vi nghiên cứu: 2
3.1 Đối tượng nghiên cứu: 2
3.2 Phạm vi nghiên cứu: 2
4 Phương pháp nghiên cứu: 2
4.1 Phương pháp đọc tài liệu, phân tích, tổng hợp: 2
4.2 Phương pháp cài đặt thuật toán, thử nghiệm 2
5 Ý nghĩa khoa học và thực tiễn của đề tài: 2
5.1 Về mặt lý thuyết: 2
5.2 Về mặc thực tiễn: 2
6 Bố cục của luận văn: 3
7 Kết luận 3
CHƯƠNG 1: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN 4
1.1 Tổng quan về Hệ quản trị CSDL phân tán 4
1.1.1 Cơ sở dữ liệu phân tán 5
1.1.2 Hệ quản trị CSDL phân tán 6
1.2 So sánh CSDL phân tán và CSDL tập trung 7
1.2.1 Điều khiển tập trung 7
1.2.2 Độc lập dữ liệu 8
1.2.3 Giảm dư thừa dữ liệu 8
1.2.4 Biệt lập và bảo mật: 9
1.3 Các mô hình tổ chức hệ thống phân tán 9
1.3.1 Mô hình Peer-to-Peer 9
1.3.2 Mô hình File server 9
1.3.3 Mô hình Client/Server 9
1.3.4 Mô hình CSDL phân tán (Distributed database model) 10
1.4 Các đặc trưng của các loại hình hệ thống phân tán 10
1.4.1 Đặc trưng của hệ thống File Server và kiến trúc Client/Server 10
Trang 41.5 Ưu và nhược điểm của phân tán 12
1.5.1 Ưu điểm 12
1.5.2 Nhược điểm 13
1.6 Các loại truy xuất CSDL phân tán 13
1.6.1 Truy xuất từ xa thông qua các tác vụ cơ bản 13
1.6.2 Truy xuất từ xa thông qua chương trình phụ trợ 13
1.7 Các mức trong suốt của CSDL phân tán 13
1.7.1 Kiến trúc cơ bản của một CSDL phân tán 13
1.7.2 Các đặc điểm chính của hệ phân tán 16
1.7.3 Tính trong suốt phân tán 17
1.8 Thuật toán nhiều bản sao 20
1.8.1 Mô hình giải thuật 20
1.8.2 Tổng quát 20
1.8.3 Thuật toán Lamport 21
1.8.4 Thuật toán Herman đảm bảo sự gắn bó yếu nhờ dấu 22
1.8.5 Thuật toán Ellis đảm bảo sự gắn bó mạnh 22
CHƯƠNG 2 THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ CÁC VẤN ĐỀ VỀ QUẢN LÝ HỌC SINH SINH VIÊN 23
2.1 Thiết kế Cơ sở dữ liệu phân tán 23
2.1.1 Các công việc cần làm để thiết kế hệ thống phân tán 23
2.1.2 Các sản phẩm yêu cầu sau khi phân tích thiết kế 23
2.2 Các chiến lược phân tán dữ liệu 24
2.2.1 Tập trung dữ liệu 24
2.2.2 Chia nhỏ dữ liệu 24
2.2.3 Sao lặp dữ liệu 24
2.2.4 Phương thức lai 24
2.3 Phân mảnh dữ liệu 25
2.3.1 Phân mảnh ngang 26
2.3.2 Phân mảnh dọc 27
2.3.3 Phân mảnh hỗn hợp 27
Trang 52.5 Sử dụng hệ thống mạng nội bộ hiện có và nghiên cứu hiện trạng mạng nội bộ
của Trường 29
2.6 Công tác Quản lý HS-SV trong Trường Cao đẳng Kỹ nghệ Dung Quất 30
2.6.1 Quản lý hồ sơ thông tin về học sinh, sinh viên 30
2.6.2 Quản lý điểm rèn luyện 31
2.6.3 Quản lý chuyên cần 31
2.6.4 Quản lý học bổng 31
2.6.5 Quản lý thi đua, khen thưởng, kỷ luật 31
2.6.6 Quán lý miễn giảm học phí 32
2.6.7 Quản lý ký túc xá 32
2.6.8 Quản lý ngoại trú 32
2.7 Đồng bộ hóa dữ liệu 32
2.7.1 Các thành phần đồng bộ hóa dữ liệu 32
2.7.2 Giới thiệu tính năng Replication trong SQL Server 33
2.7.3 Các loại nhân bản phổ biến 34
2.7.4 Thực hiện Replication trên SQL Server với CSDL thử nghiệm 36
CHƯƠNG 3 ÁP DỤNG THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG CƠ SỞ DỮ LIỆU PHÂN TÁN TRONG CÔNG TÁC QUẢN LÝ HỌC SINH - SINH VIÊN TẠI TRƯỜNG CAO ĐẲNG KỸ NGHỆ DUNG QUẤT 47
3.1 Nguyên lý thiết kế 47
3.2 Đề xuất giải pháp 47
3.2.1 Mô tả thiết kế CSDL phân tán 47
3.2.2 Lựa chọn vị trí đặt CSDL và phân nhóm người sử dụng 48
3.3 Áp dụng Xây dựng Hệ thống CSDL phân tán 49
3.3.1 Biểu đồ luồng dữ liệu mức ngữ cảnh 49
3.3.2 Biểu đồ chức năng 50
3.3.3 Đối tượng sử dụng 50
3.3.4 Các đối tượng của hệ thống 51
3.3.5 Xây dựng các thực thể và thuộc tính 51
3.3.6 Mô hình thực thể quan hệ 54
Trang 63.3.8 Thiết kế Dữ liệu phân tán cho hệ thống 58
3.3.9 Thực hiện Cài đặt Replication trên SQL Server với CSDL thử nghiệm 59
3.4 Kết quả đạt đƣợc 69
3.5 Đánh giá kết quả chạy thực nghiệm 69
KẾT LUẬN 71
TÀI LIỆU THAM KHẢO 72
Trang 7Tôi xin chân thành cảm ơn toàn thể quý thầy cô trong Khoa tin Trường Đại học
Sư Phạm là những người đã hết lòng dạy dỗ và truyền đạt những kiến thức quý báu cho tôi trong suốt thời gian học tập
Tôi xin gởi lời cảm ơn sâu sắc đến Thầy TS Nguyễn Đình Lầu – Trường Đại học Sư Phạm – Đại học Đà Nẵng người đã giúp đỡ tôi trong suốt thời gian tôi thực hiện đề tài
Thầy đã định hướng, tạo những điều kiện thuận lợi và đã tận tình hướng dẫn để tôi hoàn thành đề tài này
Tôi xin gửi lời cảm ơn chân thành đến gia đình, bạn bè đã luôn là nguồn động viên to lớn, giúp đỡ tôi trong suốt quá trình tôi thực hiện đề tài
Đà Nẵng, ngày 07 tháng 04 năm 2019
Tác giả
Lê Thành Trung
Trang 8Tôi xin cam đoan:
Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của Thầy TS Nguyễn Đình Lầu
Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng và trung thực Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo hay gian trá, tôi xin chịu hoàn toàn trách nhiệm
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công
bố trong bất kỳ công trình nào khác
Đà Nẵng, ngày 07 tháng 04 năm 2019
Tác giả
Lê Thành Trung
Trang 10NAME OF THESIS: BUILDING THE BASIS OF MANAGEMENT
MANAGEMENT DATA STUDENTS - STUDENTS AT TECHNOLOGY
COLLEGE DUNG QUAT
Major: Information system
Full name: Le Thanh Trung
Supervisors: Nguyen Dinh Lau
Training institution: The University of Da Nang University science and education
Stemming Summary: Currently, universities and colleges i_n our country are organizing and
managing databases and information on Students - Students in the direction of centralized management so the organization of management requires high accuracy, continuously and synchronously among the Faculties within the School The traditional management of a database is a centralized database like before will not solve the problem mentioned above Instead, it is managing students' database and information - Students in colleges are now computerized and especially the management of students who are interested and monitored closely and continuously between the vocational departments and the training department
in the school Stemming from this practical need, the DBMS disperses an important trend of information technology in one of the effective night management approaches in high management, ensuring facility Information security data based on computer network system
Distributed database design and student management software Dung Quat Technical College based on SQL Server 2008 database management system shows that this is a modern database system, very strong support for distributed databases As a solid theoretical basis for users who want to learn and research distributed databases, users can apply them to develop large systems in a distributed environment and wide use Successfully building a distributed database for the student management system of Dung Quat Technical College The system is designed in the direction of data dispersion, data is synchronized at the servers, thus increasing processing speed and reducing network congestion when there are many objects exploiting the system It is necessary to study more dispersed trust, control and disperse according
to timestamps, optimize problems, and control concurrency in distributed database Further study the features to complete Student Management software Deploy on the school network and may be wider in the region Combining concurrency control algorithms, optimizing the problem into the system so that the system works well to meet the needs of users and produce the desired results
Key word: Information Technology; Distributed database management system; SQL server 2008; Internet; Software technology, Operating system
Trang 11TT Ký hiệu Diễn dãi
4 (DBMS) Database Management System Hệ quản trị cơ sở dữ liệu
DANH SÁCH CÁC BẢNG
Trang 12Số hiệu Tên Hình vẽ Trang
Hình 1.6 Các đoạn và hình ảnh vật lý của một quan hệ tổng thể 15
Trang 13Hình 3.2 Biểu đồ phân rã chức năng 50
Hình 3.7 Tạo Publication cho máy trạm 1 – Thiết lập thông số 62 Hình 3.8 Tạo Publication cho máy trạm 1 – Đặt tên Publication 63
Hình 3.14 Màn hình chức năng quản lý thông tin sinh viên máy trạm 1 69 Hình 3.15 Màn hình chức năng quản lý thông tin sinh viên máy trạm 2 69
Trang 14MỞ ĐẦU
1 Lý do chọn đề tài:
Việc ứng dụng công nghệ thông tin vào các lĩnh vực đời sống xã hội, vào các ngành kinh doanh, như viễn thông, ngành hàng không, thương mại điện tử, trong các
cơ quan hành chính , đặc biệt là ngành giáo dục, ngày càng phát triển mạnh mẽ
Hiện nay, nước ta đã và đang có rất nhiều nghiên cứu nhằm phát triển và hoàn thiện các hệ thống dữ liệu phân tán, để phát triển các ứng dụng trong nhiều lĩnh vực khác nhau
Một trong các nghiên cứu đó là xây dựng hệ thống thông tin phân tán quản lý học sinh - sinh viên trong Cao đẳng Kỹ nghệ Dung Quất
Hiện nay, nhiều trường đã xây dựng các phần mềm quản lý học sinh sinh viên dựa trên hệ quản trị cơ sở dữ liệu tập trung, nhưng khối lượng dữ liệu được sử dụng trong mỗi một năm học rất lớn và ngày một tăng, dẫn tới thời gian truy xuất dữ liệu rất lâu, gây ảnh huởng đến hiệu quả của quản lý đào tạo
Trường Cao đẳng Kỹ nghệ Dung Quất mà tiền thân là Trường Đào tạo nghề Dung Quất được thành lập ngày 11/6/2001 Thực hiện nhiệm vụ đào tạo nguồn nhân lực cho Khu kinh tế Dung Quất tỉnh Quảng Ngãi và Khu vực miền Trung – Tây nguyên Nhà trường được đầu tư xây dựng trên diện tích gần 11 hecta gồm các khu nhà học lý thuyết, khu nhà xưởng thực hành, khu giảng đường, hội trường, thư viện, khu hiệu bộ, khu nhà ở chuyên gia, khu nhà ăn căn tin Tuy nhiên bên cạnh việc đầu tư trang thiết bị phục vụ giảng dạy Nhà trường còn chưa phát triển hệ thống mạng Lan nội bộ và liên kết cơ sở dữ liệu tại các Phòng, Khoa, đơn vị còn bất cập chưa chú trọng đến đầu tư CNTT trong nhà trường
Do đó, việc xây dựng hệ thống thông tin phân tán để hỗ trợ cho việc quản lý học sinh sinh viên của Trường Cao đẳng kỹ nghệ Dung Quất là vấn đề cấp thiết hiện nay Đó là lý do mà tôi chọn đề tài này
2 Mục tiêu nghiên cứu:
Nghiên cứu hệ quản trị cơ sở dữ liệu phân tán và dựa trên cơ sở lý thuyết đó xây dựng hệ thống cơ sở dữ liệu phân tán để hỗ trợ trong quản lý học sinh - sinh viên
cụ thể là:
o Tổ chức tiếp nhận hồ sơ HSSV trúng tuyển vào học
o Theo dõi và phối hợp tổ chức quản lý việc học tập của HSSV
o Theo dõi và phối hợp tổ chức quản lý việc rèn luyện của HSSV
o Theo dõi và tổng hợp các kết quả học tập và kết quả rèn luyện của HSSV
Do đây là một hệ thống quản lý HSSV tương đối lớn, không đủ thời gian để xây dựng toàn bộ hệ thống nên đề tài sẽ tập trung xây dựng hệ thống cơ sở dữ liệu phân tán cài đặt trên mạng LAN đó nhằm hỗ trợ trong việc quản lý HSSV một cách thuận tiện nhất
Trang 153 Đối tượng và phạm vi nghiên cứu:
3.1 Đối tượng nghiên cứu:
Hệ phân tán cơ sở dữ liệu để quản lý học sinh - sinh viên, và cơ sở dữ liệu SQL Server
Chiến lược phân tán dữ liệu
4 Phương pháp nghiên cứu:
4.1 Phương pháp đọc tài liệu, phân tích, tổng hợp:
Nghiên cứu các nội quy, quy chế quản lý và các tổ chức liên quan để áp dụng cho quản lý HSSV
Nghiên cứu hệ quản trị cơ sở dữ liệu SQL Server (các sách đã xuất bản, các tài liệu trên mạng )
Nghiên cứu các giải pháp phân quyền bảo mật và an ninh mạng, đảm bảo an toàn hệ thống dữ liệu
4.2 Phương pháp cài đặt thuật toán, thử nghiệm
5 Ý nghĩa khoa học và thực tiễn của đề tài:
Trang 166 Bố cục của luận văn:
CHƯƠNG 1
Trình bày các vấn đề liên quan đến việc thiết kế CSDL phân tán, đặc biệt làm rõ
ưu và nhược điểm của CSDL phân tán, so sánh CSDL phân tán và CSDL tập trung, các mô hình có thể triển khai hệ thống phân tán, các loại truy xuất, các mức trong suốt của CSDL phân tán
CHƯƠNG 2
Trình bày các chiến lược phân tán, các phương pháp thiết kế, các vấn đề thiết
kế, các phương pháp phân mảnh, cấp phát cho các mảnh
Trình bày các vấn đề liên quan đến công tác quản lý học sinh - sinh viên tại
trường cao đẳng kỹ nghệ Dung Quất
CHƯƠNG 3
Trình bày quy trình thiết kế CSDL phân tán cho hệ thống quản lý học sinh - sinh viên, trình bày công cụ quản trị CSDL phân tán và các bước triển khai trên hệ thống mạng
Trình bày kết quả chạy thực nghiệm và đánh giá kết quả chạy thực nghiệm
7 Kết luận
Trang 17CHƯƠNG 1
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN
Trong chương này tôi sẽ trình bày những vấn đề liên quan đến CSDL phân tán Nội dung của chương bao gồm giới thiệu về mạng LAN, giới thiệu về CSDL phân tán,
hệ quản trị CSDL phân tán, các đặc trưng của CSDL phân tán, so sánh CSDL phân tán với CSDL tập trung, các hình thức tổ chức hệ thống phân tán, đặc trưng của loại hình
hệ thống phân tán, ưu nhược điểm các loại truy xuất, các mức trong suốt của CSDL phân tán, thuật toán nhiều bản sao và đồng bộ dữ liệu
1.1 Tổng quan về Hệ quản trị CSDL phân tán
Công nghệ các hệ cơ sở dữ liệu phát triển từ mô hình xử lý dữ liệu, trong đó mỗi ứng dụng định nghĩa một hay nhiều tệp dữ liệu riêng của nó, sang mô hình định nghĩa
và quản lý dữ liệu tập trung Dẫn đến khái niệm độc lập dữ liệu, nghĩa là tính bất biến của các hệ ứng dụng đối với sự thay đổi cấu trúc lưu trữ và các chiến lược truy nhập
Trang 18Hình 1.2: Xử lý cơ sở dữ liệu
Trong ngữ cảnh hệ xử lý phân tán thì hệ cơ sở dữ liệu phân tán có thể được xem như những công cụ làm cho quá trình xử lý dữ liệu phân tán dễ dàng hơn và hiệu quả hơn Khái niệm hệ cơ sở dữ liệu phân tán ở đây bao gồm cả khái niệm cơ sở dữ liệu phân tán và hệ quản trị cơ sở dữ liệu phân tán
1.1.1 Cơ sở dữ liệu phân tán
a Định nghĩa
Cơ sở dữ liệu phân tán là một bộ sưu tập các cơ sở dữ liệu có quan hệ với nhau
về mặt logic và được phân bố trên nhiều máy chủ của mạng máy tính Cơ sở dữ liệu phân tán là các tập tin liên đới logic và cấu trúc phải được truy xuất thông qua một giao diện chung
Định nghĩa này nhấn mạnh hai khía cạnh quan trọng cơ sở dự liệu phân tán
- Tính phân tán: Dữ liệu không cư trú trên cùng một site, vì vậy có thể phân biệt được cơ sở dự liệu phân tán và cơ sở dự liệu tập trung
- Sự tương quan logic: Các loại dữ liệu có một số tính chất ràng buộc lẫn nhau, như vậy có thể phân biệt được CSDL phân tán với tập các CSDL địa phương hoặc với các tệp lưu trữ trên các site khác nhau
b Các đặc trưng của CSDL phân tán
Vô hình kết nối mạng: Trong môi trường phân tán, người dùng được tách khỏi
mọi chi tiết hoạt động của mạng
Vô hình nhân bản: Vì lý do về hiệu năng, độ tin cậy và tính sẵn sàng, người ta
mong muốn có thể nhân dữ liệu thành nhiều bản trên các máy trạm
Vô hình phân mảnh: Phân hoạch dữ liệu cho các vị trí khác nhau là yếu tố cần
thiết của hệ phân tán
Ưu điểm cơ sở dự liệu phân tán
- Đáp ứng nhanh hầu hết các ứng dụng sử dụng dữ liệu tại các trạm
- Kiểm soát dữ liệu địa phương theo hướng hoàng thiện sự tích hợp và quản lý dữ liệu từ xa
Ứng dụng 3
Ứng dụng 2
Ứng dụng 1
Mô tả dữ liệu Thao tác dữ liệu
…
CƠ SỞ
DỮ LIỆU
Trang 19- Tăng cường khả năng của hệ thống liên quan đến dữ liệu dư thừa
- Phù hợp cấu trúc tổ chức
- Nâng cao khả năng chia sẽ và tính tự trị địa phương
- Nâng cao tính sẵn sàng
- Nâng cao tính tin cậy
Nhược điểm cơ sở dự liệu phân tán
- Thiết kế cơ sở dự liệu phức tạp hơn
- Khó điều khiển tính nhất quán dữ liệu
- Khó phát hiện và khử lỗi
- Giá thành cao
- Vấn đề bảo mật
Cơ sở dự liệu phân tán quan trọng trong kinh tế, tổ chức và kỹ thuật với nhiều
lý do khác nhau, chúng có thể cài đặt trên một mạng máy tính với phạm vi rộng lớn hoặc nhỏ
Hiện nay các DBMS thương mại điều tích hợp các ứng dụng phân tán nên rất tiện cho người sử dụng
1.1.2 Hệ quản trị CSDL phân tán
a Định nghĩa
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 trị cơ
sở dữ liệu phân tán và làm cho việc phân tán đó là trong suốt và vô hình đối với người
sử dụng Nói cách khác CSDL phân tán là CSDL được phân tán một cách vật lý nhưng được thống nhất tổ chức như một CSDL duy nhất
Như vậy sự phân tán dữ liệu là trong suốt đối với người sủ dụng, việc quản lý
dữ liệu phân tán đòi hỏi mỗi trạm cài đặc thành phần hệ thống sau
- Thành phần quản trị cơ sở dữ liệu
- Thành phần truyền dữ liệu
- Từ điển dữ liệu, thông tin về sự phân tán dữ liệu trên mạng
- Thành phần cơ sở dự liệu phân tán
Các dịch vụ của hệ thống trên bao gồm:
- Các ứng dụng truy cập dữ liệu từ xa
- Cung cấp các mức trong suốt phân tán
- Hổ trợ quản trị và điều khiển CSDL bao gồm các bộ công cụ thu thập thông tin từ các trình tiện ích, cung cấp cách nhìn tổng quan về các file dữ liệu trên mạng
- Khả năng mở rộng với các hệ thống khác nhau
b Các thành phần của hệ quản trị CSDL phân tán
Gồm các thành phần sau: Bộ xử lý phía người sử dụng (User Procesor), xử lý tất cả tương tác với người sử dụng và bộ phận thứ 2 của DBMS phân tán là bộ phận xử
lý dữ liệu (Data Processor)
Bộ xử lý phía người sử dụng bao gồm:
Trang 20Bộ xử lý giao diện người sử dụng: Có trách nhiệm dịch các lệnh của người sử
dụng khi họ gửi đến và định dạng dữ liệu kết quả để gửi nó lại cho người sử dụng
Bộ kiểm soát dữ liệu ngữ nghĩa: sử dụng ràng buộc toàn vẹn và xác thực, được
định nghĩa như là một phần của lược đồ khái niệm cục bộ, để kiểm tra xem truy vấn của người sử dụng có được xử lý hay không Thành phần này cũng có trách nhiệm xác thực và một số chức năng khác
Bộ phân rã và bộ tối ưu hoá truy vấn toàn cục xác định chiến lược thực thi để
giảm thiểu chức năng chi phí, và dịch các truy vấn toàn cục ra thành các truy vấn cục
bộ bằng cách sử dụng các lược đồ khái niệm cục bộ, toàn cục và thư mục toàn cục Bộ tối ưu hoá truy vấn có trách nhiệm tạo ra chiến lược thực thi các hoạt động kết nối phân tán
Bộ giám sát thực thi phân tán phối hợp thực thi phân tán yêu cầu của người
sử dụng Bộ giám sát thực thi cũng được gọi là bộ quản lý giao dịch phân tán Việc thực thi truy vấn trong hệ phân tán, bộ giám sát thực thi tại một số trạm có thể, và thường, liên lạc với một bộ giám sát thực thi khác
Phần thứ hai của hệ quản trị CSDL phân tán là bộ xử lý dữ liệu gồm ba thành phần:
Bộ tối ưu hoá truy vấn cục bộ hoạt động như là bộ chọn đường dẫn truy nhập
Chọn đường truy nhập tốt nhất vào bất kỳ mục dữ liệu nào
Bộ quản lý khôi phục cục bộ có trách nhiệm đảm bảo duy trì tính nhất quán
trong CSDL cục bộ ngay cả khi có lỗi xảy ra
Bộ hỗ trợ thời gian thực thi truy nhập vào CSDL tùy vào các lệnh trong lịch
biểu được tạo ra bởi bộ tối ưu hóa truy vấn Bộ xử lý hỗ trợ thời gian thực thi là giao diện với hệ điều hành và chứa bộ quản lý vùng đệm CSDL (buffer hoặc cache), có trách nhiệm quản lý vùng đệm của bộ nhớ chính và quản lý việc truy nhập dữ liệu
1.2 So sánh CSDL phân tán và CSDL tập trung
Dựa trên 4 yếu tố để so sánh: điều khiển tập trung, độc lập dữ liệu, giảm dư thừa dữ liệu, biệt lập và bảo mật dữ liệu
1.2.1 Điều khiển tập trung
Điều khiển tập trung (Centralized Control) 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 được 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ị cơ sở
dữ liệu Chức năng cơ bản của người quản trị cơ sở dữ liệu (DBA - Database Administrator) là bảo đảm sự an toàn của dữ liệu 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 Nói chung, trong các cơ sở dữ liệu phân tán , sự điều khiển được thực hiện theo một cấu trúc điều khiển phân cấp bao gồm hai loại người quản trị cơ sở dữ liệu:
Người quản trị cơ sở dữ liệu toàn cục (Global Database Administrator) là người có trách nhiệm chính về toàn bộ cơ sở dữ liệu phân tán
Trang 21 Người quản trị cơ sở dữ liệu cục bộ (Local Database Administrator) là người có trách nhiệm về cơ sở dữ liệu cục bộ của họ
Trong CSDL tập trung: Điều khiển tập trung là động cơ mạnh nhất cho việc ra đời CSDL
Trong CSDL phân tán: Điều khiển tập trung ít được nhấn mạnh hơn, điều này phụ thuộc vào kiến trúc của CSDL phân tán
1.2.2 Độc lập dữ liệu
Độc lập dữ liệu (Data Independence) là một đặc điểm của cơ sở dữ liệu Độc lập dữ liệu có nghĩa là tổ chức lưu trữ dữ liệu là 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 về tổ chức lưu trữ vật lý của dữ liệu
Trong các hệ cơ sở dữ liệu phân tán, độc lập dữ liệu cũng quan trọng như trong các 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 (Distribution Transparency) Nhờ sự trong suốt phân tán mà các chương trình ứng dụng có thể được viết giống như trong cơ sở dữ liệu không được phân tán Vì vậy, tính đúng đắn của các chương trình ứng dụng không bị ảnh hưởng bởi sự di chuyển dữ liệu từ một vị trí này đến một vị trí khác Tuy nhiên, tốc độ thực hiện của các chương trình ứng dụng thì bị ảnh hưởng
Trong cơ sở dữ liệu tập trung được thể hiện thông qua một kiến trúc nhiều mức, các mức này có những mô tả khác nhau về dữ liệu và những ánh xạ biến đổi giữa các mức Sự trong suốt phân tán trong cơ sở dữ liệu phân tán được thê hiện bằng cách bổ sung thêm các mức trong suốt vào kiến trúc nhiều mức của cơ sở dữ liệu tập trung
1.2.3 Giảm dư thừa dữ liệu
Trong các cơ sở dữ liệu tập trung, sự dư thừa dữ liệu được giảm thiểu, vì tránh
sự không nhất quán giữa nhiều bản sao bằng cách chỉ có một bản sao và tiết kiệm vùng nhớ lưu trữ Các ứng dụng chia sẻ chung, truy xuất đến các tập tin dữ liệu
Tuy nhiên, trong các cơ sở dữ liệu phân tán, sự dư thừa dữ liệu là một đặc điểm cần thiết, vì các lý do sau:
+ Làm tăng tính cục bộ của các ứng dụng nếu dữ liệu được nhân bản tại tất cả các vị trí mà ứng dụng cần dữ liệu này Khi đó, các ứng dụng cục bộ được thực hiện nhanh hơn vì không cần phải truy xuất dữ liệu từ xa
+ Làm tăng tính sẵn sàng của hệ thống ứng dụng, vì một vị trí có sự cố sẽ không làm ngưng sự thực hiện của các ứng dụng ở những vị trí khác nếu dữ liệu tại vị trí bị hỏng được nhân bản tại các vị trí khác
Tuy nhiên, sự nhân bản dữ liệu cần phải xem xét kỹ lưỡng dựa vào hai loại ứng dụng cơ bản, đó là ứng dụng chỉ đọc và ứng dụng cập nhật Sự nhân bản dữ liệu giúp cho các ứng dụng chỉ đọc được thực hiện nhanh hơn, nhưng nó làm cho các ứng dụng cập bị thực hiện lâu hơn vì phải cập nhật dữ liệu tại các vị trí được nhân bản
Trang 22Như vậy, sự nhân bản dữ liệu sẽ là một ưu điểm nếu hệ thống có rất nhiều ứng dụng chỉ đọc và có rất ít ứng dụng cập nhật Trong trường hợp ngược lại thì sự nhân bản dữ liệu lại là một nhược điểm
vỡ toàn bộ hệ thống Trong trường hợp CSDL phân tán, điều này nghĩa là một số dữ liệu không thể truy nhập được, nhưng nếu biết cách hỗ trợ cho các giao dịch phân tán
và các giao thức ứng dụng, thì người sử dụng vẫn có thể truy nhập được tới phần khác trong CSDL phân tán
Giao dịch là một đơn vị tính toán cơ bản, nhất quán và tin cậy, bao gồm một chuỗi các thao tác CSDL được thực hiện chuyển từ trạng thái CSDL nhất quán này sang trạng thái CSDL nhất quán khác ngay cả khi có một số giao dịch được thực hiện đồng thời và thậm chí cả khi xảy ra lỗi Vì vậy, hệ quản trị CSDL phải hỗ trợ đầy đủ cho giao dịch đảm bảo rằng việc thực thi đồng thời các giao dịch của người sử dụng sẽ không vi phạm tính nhất quán của CSDL trong khi hệ thống có lỗi, với điều kiện là giao dịch được thực hiện chính xác, nghĩa là tuân theo các qui tắc toàn vẹn của CSDL
1.3.2 Mô hình File server
Có một số máy dịch vụ file được gán trực tiếp vào mạng LAN Mỗi máy cá nhân được phân chia một dung lượng cố định trên ổ cứng File Server, chương trình ở các máy tính cá nhân có thể tham chiếu đến các file trên phần đĩa tương ứng của nó bằng một đặc tả đường dẫn
Trang 23Server sẽ truy nhập vào cơ sở dữ liệu xử lý theo yêu cầu và gửi trả kết quả cho máy Client
1.3.4 Mô hình CSDL phân tán (Distributed database model)
Cả hai mô hình File Server và Client/Server đều giả định là dữ liệu nằm trên một bộ xử lý và chương trình ứng dụng truy nhập dữ liệu nằm trên một bộ xử lý khác, còn mô hình cơ sở dữ liệu phân tán lại giả định bản thân cơ sở dữ liệu có ở trên nhiều máy khác nhau
1.4 Các đặc trưng của các loại hình hệ thống phân tán
1.4.1 Đặc trưng của hệ thống File Server và kiến trúc Client/Server
a Đặc trưng của hệ thống File Server
Trong mô hình cơ sở dữ liệu theo kiểu File Server, các thành phần ứng dụng và phần mềm cơ sở dữ liệu ở trên một hệ thống máy tính và các File dữ liệu vật lý cơ sở
dữ liệu cài đặt trên hệ thống máy tính khác Một cấu hình như vậy thường được dùng trong môi trường cục bộ, trong đó một hoặc nhiều hệ thống máy tính đóng vai trò của Server lưu trữ các file dữ liệu
Mô hình File Server giống với mô hình tập trung, cơ sở dữ liệu và các thành phần ứng dụng, phần mềm cơ sở dữ liệu cài đặt trên các máy tính khác nhau Tuy nhiên các thành phần ứng dụng và phần mềm cơ sở dữ liệu có thể có cùng thiết kế để vận hành một môi trường tập trung Hệ điều hành mạng có thể thực hiện cơ chế đồng thời cho phép nhiều người sử dụng cuối có thể truy nhập vào cùng cơ sở dữ liệu
b Đặc trưng của kiến trúc Client/Server
Trong mô hình cơ sở dữ liệu Client/Server, thường nói đến các phần mềm Front End Software và Back End Software Front End Software được chạy trên thiết bị truy nhập đầu cuối hoặc trên các Workstation, nhằm đáp ứng các yêu cầu xử lý đơn lẻ riêng biệt Nó đóng vai trò của Client trong ứng dụng cơ sở dữ liệu Client/Server và thực hiện các chức năng hướng tới nhu cầu của người sử dụng Front End Software chia thành các loại sau:
End User Database Software: Phần mềm cơ sở dữ liệu này có thể được người
sử dụng thực hiện trên thiết bị đầu cuối, truy nhập vào các cơ sở dữ liệu cục bộ, kết nối với các cơ sở dữ liệu trên Server
Simple Query and Reporting Software: là phần mềm được thiết kế để cung cấp
các công cụ xử lý dữ liệu từ cơ sở dữ liệu và tạo các báo cáo đơn giản từ dữ liệu đã có
Data Analysis Software: cung cấp các hàm về tìm kiếm, khôi phục và cung cấp
các phân tích phức tạp cho người sử dụng
Application Development Tools: là phần mềm cung cấp các khả năng phát triển
các ứng dụng cơ sở dữ liệu Bao gồm các công cụ về thông dịch, biên dịch đơn đến các công cụ CASE (Computer Aided Software Engineering) Chúng tự động tất cả các bước trong quá trình phát triển ứng dụng và sinh ra chương trình cho các ứng dụng
Trang 24Database Administration Tools: Các công cụ cho phép người quản trị cơ sở dữ
liệu thực hiện việc quản trị cơ sở dữ liệu như định nghĩa, lưu trữ hay phục hồi CSDL Back End Software được cài đặt trên Server cơ sở dữ liệu, bao gồm phần mềm cơ sở
dữ liệu Client/Server và phần mềm mạng
Hình 1.3: Mô hình Client – Server
1.4.2 Các chức năng của kiến trúc Client/Server
Các hệ quản trị CSDL Client/Server cung cấp kiến trúc hai lớp chức năng Server và chức năng Client, nhằm tạo ra sự dễ dàng trong việc quản lý tính phức tạp của các hệ quản trị CSDL hiện đại và tính phức tạp của việc phân tán dữ liệu
Server thực hiện hầu hết các công việc quản lý dữ liệu Nghĩa là tất cả mọi xử
lý và tối ưu hoá truy vấn, quản lý giao dịch và quản lý lưu trữ đều được thực hiện trên Srver Client, ngoài ứng dụng và giao diện người sử dụng, có một module hệ quản trị CSDL Client trách nhiệm quản lý dữ liệu và khóa giao dịch được gửi đến Client Client và Server trao đổi với nhau bởi các câu lệnh SQL Cụ thể hơn, Client chuyển truy vấn SQL đến Server, Server sẽ thực hiện và trả lại kết quả cho Client
Loại kiến trúc Client/Server đơn giản chỉ có một Server được truy nhập bởi nhiều Client, gọi là đa Client-một Server Việc quản lý dữ liệu không khác so với CSDL tập trung CSDL được lưu chỉ trên Server và có phần mềm quản lý nó Tuy nhiên, sự khác biệt quan trọng so với các hệ thống tập trung là cách thực thi giao dịch
và quản lý bộ nhớ Cache
Loại kiến trúc có nhiều Server trong hệ thống, được gọi là đa Client- đa Server
Có hai chiến lược quản lý: hoặc Client quản lý kết nối của nó tới Server hoặc Client chỉ biết Server chủ của nó và liên lạc với các Server khác qua Server chủ khi có yêu cầu Chiến lược thứ nhất làm đơn giản cho các Server, nhưng lại gắn thêm nhiều trách nhiệm cho các máy Client Điều này dẫn đến một hệ thống được gọi là hệ máy khách
tự phục vụ Mặt khác, với chiến lược thứ hai, tập trung vào chức năng quản lý dữ liệu tại Server Vì vậy, tính trong suốt của truy nhập dữ liệu được cung cấp tại giao diện Server
Trang 25Mô hình CSDL logic Client/Server là duy nhất Mô hình mức vật lý của nó có thể phân tán Vì vậy phân biệt giữa Client/Server và ngang hàng không phải ở mức độ trong suốt được cung cấp cho người sử dụng và cho ứng dụng mà ở mô hình kiến trúc được dùng để nhận ra mức độ trong suốt
Hình 1.4: Kiến trúc tham chiếu Client – Server
1.5 Ưu và nhược điểm của phân tán
1.5.1 Ưu điểm
Đáp ứng nhanh hầu hết các ứng dụng sử dụng dữ liệu tại các trạm
Tăng cường các đơn thể ứng dụng và CSDL mà không cần làm cản trở người sử dụng hiện tại
Kiểm soát dữ liệu địa phương theo hướng hoàn thiện sự tích hợp và quản trị dữ liệu từ xa
Tăng cường khả năng của hệ thống liên quan đến sự dư thừa dữ liệu
Trang 261.5.2 Nhược điểm
Phần mềm đắt và phức tạp
Phải xử lý các thay đổi thông báo mọi địa điểm
Khó kiểm soát tính toàn vẹn dữ liệu với nhiều bản sao dữ liệu được phân bố khắp mọi nơi
Đáp ứng chậm nhu cầu của các trạm trong trường hợp các phần mềm ứng dụng không được phân bố phù hợp với việc sử dụng chung
1.6 Các loại truy xuất CSDL phân tán
1.6.1 Truy xuất từ xa thông qua các tác vụ cơ bản
Ứng dụng phát ra một yêu cầu truy xuất CSDL ở một vị trí nào đó Yêu càu này
sẽ được hệ quản trị CSDL phân tán gửi đến vị trí chứa dữ liệu đó Thực hiện xong sẽ gửi kết quả về
1.6.2 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ợ đặt tại vị trí từ xa Chương trình phụ trợ này sẽ truy xuất CSDL từ xa và trả lại kết quả cho ứng dụng đang yêu cầu
1.7 Các mức trong suốt của CSDL phân tán
1.7.1 Kiến trúc cơ bản của một CSDL phân tán
Sơ đồ tổng thể (Global Schema)
Sơ đồ phân đoạn
(Fragmentation Schema)
Sơ đồ định vị (Allocation Schema)
Các sơ đồ độc lập vị trí
Sơ đồ ánh xạ địa phương 1
(Local mapping Schema 1)
Sơ đồ ánh xạ địa phương n (Local mapping Schema n)
CSDL địa phương n
(Local Database n)
Hình 1.5: Kiến trúc cơ bản của CSDL phân tán
Trang 27a Sơ đồ tổng thể
Xác định tất cả các dữ liệu sẽ được lưu trữ trong CSDL phân tán cũng như các
dữ liệu không được phân tán ở các trạm trong hệ thống
Sơ đồ tổng thể được định nghĩa theo cách như trong CSDL tập trung
Trong mô hình quan hệ, sơ đồ tổng thể bao gồm định nghĩa của tập các quan hệ tổng thể (global realtion)
b Sơ đồ phân đoạn
Mỗi quan hệ tổng thể có thể chia thành một vài phần không giao nhau gọi là phân đoạn
Có nhiều các khác nhau để thực hiện việc phân chia này
Sơ đồ phân đoạn mô tả các ánh xạ giữa các quan hệ tổng thể và các đoạn được định nghĩa trong sơ đồ phân đoạn
Các đoạn mô tả bằng tên của quan hệ tổng thể cùng với chỉ mục đoạn Chẳng hạng, Ri được hiểu là đoạn thứ i của quan hệ R
Do đó ta có thể ánh xạ một – một giữa một ảnh vật lý và một cặp ( quan hệ tổng thể, trạm)
Các ảnh vật lý có thể chỉ ra bằng tên của một quan hệ tổng thể và một chỉ mục trạm
Ký hiệu Ri để chỉ đoạn thứ i của quan hệ tổng thể R
Ký hiệu Rj để chỉ ảnh vật lý của quan hệ tổng thể R tại trạm j
Tương tự như vậy, bản sao của đoạn i thuộc quan hệ R tại trạm j được ký hiệu
là Rij
d Sơ đồ ánh xạ địa phương
Thực hiện ánh xạ các ảnh vật lý lên các đối tượng được thực hiện bởi hệ quản trị CSDL địa phương
Tất cả các đoạn của một hệ quản trị tổng thể trên cùng một trạm tạo ra một ảnh vật lý
Trang 28Hình 1.6: Các đoạn và hình ảnh vật lý của một quan hệ tổng thể
3 yếu tố được suy ra từ kiểu kiến trúc này là: Tách rời khái niệm phân đoạn dữ liệu với khái niệm định vị dữ liệu; Biết được dữ liệu dư thừa; Độc lập với các DBMS địa phương
- Tách rời khái niệm phân đoạn dữ liệu với khái niệm định vị dữ liệu:
Phân đoạn dữ liệu, bao gồm những công việc mà người lập trình ứng dụng làm việc với quan hệ tổng thể, phân chia quan hệ tổng thể thành các đoạn
Thông qua tính trong suốt phân đoạn (fragmentation transparency) người lập trình sẽ nhìn thấy được những đoạn dữ liệu bị phân chia như thế nào
Định vị dữ liệu lại liên quan đến các công việc của người sử dụng và người lập trình ứng dụng tại trên các đoạn dữ liệu được định vị tại các trạm
Thông qua tính trong suốt vị trí (location transparency) người lập trình sẽ biết được vị trí của các đoạn dữ liệu trên các trạm
- Biết được dữ liệu dư thừa:
Người lập trình ứng dụng có thể biết được dư thừa dữ liệu ở các trạm
Trên hình vẽ trên, chúng ta thấy rằng hai ảnh vật lý R2 và R3 có trùng lặp dữ liệu Do đó các đoạn dữ liệu trùng nhau có thể tránh được khi xây dựng các khối ảnh vật lý
- Độc lập với các DBMS địa phương:
Tính chất này còn được gọi là trong suốt ánh xạ địa phương (local mapping transparency), cho phép chúng ta khảo sát các vấn đề về quản lý CSDL phân tán mà không cần phải hiểu rõ mô hình dữ liệu của DBMS địa phương đang sử dụng
Trang 291.7.2 Các đặc điểm chính của hệ phân tán
a Chia sẻ tài nguyên
Chia sẻ tài nguyên được thực hiện thông qua mạng Mỗi tài nguyên cần phải được quản lý bởi một chương trình có giao diện Các tài nguyên có thể được truy nhập, cập nhật một cách tin cậy và nhất quán
Quản lý tài nguyên: bao gồm
Lập kế hoạch dự phòng
Đặt tên cho các lớp tài nguyên
Cho phép tài nguyên được truy nhập từ nơi này đến nơi khác
Ánh xạ tên tài nguyên vào địa chỉ truyền thông
b Tính mở
Tính mở của hệ thống phân tán là tính dễ dàng mở rộng phần cứng của nó Một
hệ thống được gọi là có tính mở thì phải có các điều kiện sau:
Hệ thống có thể tạo nên bởi nhiều loại phần cứng và phần mềm của nhiều nhà cung cấp khác nhau
Có thể bổ sung vào các dịch vụ dùng chung tài nguyên mà không phá hỏng hay nhân đôi các dịch vụ đang tồn tại
Tính mở được hoàn thiện bằng cách xác định hay phân định rõ các giao diện chính của một hệ và làm cho nó tương thích với các nhà phát triển phần mềm
Tính mở của hệ phân tán dựa trên việc cung cấp cơ chế truyền thông giữa các tiến trình và công khai các giao diện dùng để truy nhập các tài nguyên chung
c Khả năng song song
Hệ phân tán hoạt động trên một mạng truyền thông có nhiều máy tính, mỗi máy
có thể có một hay nhiều CPU
Có thể thực hiện nhiều tiến trình trong cùng một thời điểm Việc thực hiện tiến trình theo cơ chế phân chia thời gian (một CPU) hay (nhiều CPU)
Khả năng làm việc song song trong hệ phân tán được thể hiện qua hai tình huống sau:
Nhiều người sử dụng đồng thời đưa ra các lệnh hay các
Tương tác với các chương trình ứng dụng
Nhiều tiến trình Server chạy đồng thời, mỗi tiến trình phải đáp ứng yêu cầu từ các Clients
Trang 30Ví dụ: tần suất sử dụng trên mạng đột ngột Để tránh tình trạng tắc nghẽn xảy ra khi chỉ có một Server và phải đáp ứng các yêu cầu truy nhập các file đó Người ta nhân bản các file trên một Server khác và hệ thống được thiết kế sao cho việc thêm Server được dễ dàng Một số giải pháp khác là sử dụng Cache và các bảng sao dữ liệu
e Khả năng thứ lỗi
Việc thiết kế khả năng thứ lỗi các hệ thống máy tính dựa trên hai giải pháp sau:
Dùng khả năng thay thế để đảm bảo sự hoạt động liên tục và hiệu quả
Dùng các chương trình hồi phục dữ liệu khi xảy ra sự cố
f Đảm bảo tính tin cậy và nhất quán
Hệ phân tán phải đảm bảo về khả năng bảo mật của dữ liệu, các chức năng khôi phục hư hỏng phải đảm bảo Ngoài ra, các yêu cầu của hệ thống về tính nhất quán cũng thể hiện như: không có mâu thuẫn trong nội dung cơ sở dữ liệu
1.7.3 Tính trong suốt phân tán
Tính trong suốt của một hệ thống phân tán được hiểu như là việc che khuất đi các thành phần riêng biệt của hệ đối với người sử dụng và những người lập trình ứng dụng
a Trong suốt phân đoạn
Khi dữ liệu đã được phân đoạn thì việc truy cập vào CSDL được thực hiện bình thường như là chưa bị phân tán và không ảnh hưởng tới người sử dụng
Ví dụ: Xét quan hệ tổng thể NCC (Id, Tên, Tuổi) và các phân đoạn được tách ra
từ nó:
NCC1 (Id, Tên, Tuổi)
NCC2 (Id, Tên, Tuổi)
NCC3 (Id, Tên, Tuổi)
Giả sử DDBMS cung cấp tính trong suốt về phân đoạn, khi đó ta có thể thấy tính trong suốt này được thể hiện như sau:
Khi muốn tìm một người có Id = “Id1” thì chỉ cần tìm trên quan hệ tổng thể NCC mà không cần biết quan hệ NCC có phân tán hay không
SELECT *
FROM NCC
WHERE Id = “Id1”
Trang 31NCC2
NCC3DDBMS
Các thao tác để lấy hoặc cập nhật một dữ liệu từ xa được tự động thực hiện bởi
hệ thống tại điểm đưa ra yêu cầu
Tính trong suốt về vị trí 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ừ một
vị trí này đến một vị trí khác và cho phép tạo các bản sao mới mà không ảnh hưởng đến các ứng dụng
Ví dụ: Với quan hệ tổng thể R và các phân đoạn như đã nói ở trên nhưng giả sử rằng DDBMS cung cấp trong suốt về vị trí nhưng không cung cấp trong suốt về phân đoạn
Xét câu truy vấn tìm người có Id = “Id1”
Đầu tiên hệ thống sẽ thực hiện tìm kiếm ở phân đoạn NCC1 và nếu DBMS trả
về biến điều khiển #FOUND thì một câu lệnh truy vấn tương tự được thực hiện trên phân đoạn NCC2
Trang 32Ở đây quan hệ NCC2 được sao làm hai bản trên hai vị trí2 và vị trí3, ta chỉ cần tìm thông tin trên quan hệ NCC2 mà không cần quan tâm nó ở vị trí nào
c Trong suốt ánh xạ địa phương
Là một đặ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
Vị trí 1
Vị trí 2
Hình 1.9: Sự trong suốt ánh xạ địa phương
Trang 331.8 Thuật toán nhiều bản sao
1.8.1 Mô hình giải thuật
Mô hình và giải thuật nghiên cứu phải đảm bảo các đặc tính toàn vẹn và tuân thủ theo các giai đoạn thể hiện trong hình vẽ sau Mỗi giai đoạn cập nhật thể hiện những đặc điểm riêng biệt về sự gắn bó dữ liệu giữa các bản sao:
Hình 1.10: Trạng thái dữ liệu trong các giai đoạn cập nhật
1.8.2 Tổng quát
Việc phát hiện và xử lý lỗi trong quá trình xử lý được tiến hành ngay sau khi tác
tử nhận được yêu cầu cập nhật Nếu mọi cố gắng sửa lỗi không thể thực hiện có kết quả, thì thông điệp sẽ được phát đi để yêu cầu tác tử gửi phát lại thông tin Trong trường hợp công việc cập nhật kết thúc tốt đẹp, một thông điệp khẳng định cũng được phát đi bởi tác tử nhận Sau khi phát đi thông điệp, tác tử gửi chuyển sang trạng thái chờ thông điệp mới, còn tác tử nhận thông điệp chỉ chuyển sang trạng thái chờ khi đã nhận đủ các thông điệp khẳng định
Giả sử rằng có thể xác định một trật tự giữa các sự kiện của hệ phân tán nhờ vào quan hệ được ký hiệu là: → và gọi là “có trước” hay “ở ngay trước” Quan hệ này tối thiểu phải thỏa mãn được các ràng buộc thể hiện trong bảng dưới đây
Trang 34STT Ký hiệu Mô tả
Nếu A và B là hai sự kiện của cùng một máy chủ và nếu A được thực hiện trước B thì theo trật tự cục bộ của máy chủ ta có: A → B
2 C2 Nếu A là phát thông điệp bởi một máy chủ nào đó và nếu B là
thu của thông điệp này thì ta có: A → B 1.8.3 Thuật toán Lamport
Nội dung cơ bản của thuật toán này là trạm phát được gắn một giá trị gọi là dấu Giá trị này có tính chất thời điểm cho trạm phát thông tin và dựa vào đồng hồ logic cục
bộ của chính trạm
Thuật toán:
Mỗi trạm S đều có trang bị đồng hồ logic với các giá trị nguyên gọi là HS Đồng
hồ logic tăng lên giữa hai sự kiện liên tiếp nhau Giá trị khởi tạo tại mỗi trạm là 0 Đồng hồ logic hoạt động theo nguyên tắc sau:
Đánh dấu mỗi sự kiện bằng giá trị đồng hồ logic của chính trạm
Khi có một sự kiện cục bộ xảy ra, thì tăng bộ đếm đồng hồ logic lên 1
Khi trạm E phát thông điệp, nó sẽ ghi dấu e của mình dựa trên giá trị hiện hành của HE
Khi trạm E nhận thông điệp có dấu thời gian là H’, nó cập nhật đồng hồ
HE riêng của mình:
H E = max(H’, H E ) +1
Với thời gian này cho phép xác định một quan hệ trật tự toàn bộ mà ta đã ký hiệu “→” và cho phép ta kiểm tra được các ràng buộc C1 và C2
Một sự kiện a sinh ra trong trạm I và được đánh dấu bởi đồng hồ cục bộ gọi là
HI(a) Nếu a và b đều là hai sự kiện trên hai trạm khác nhau I, J, ta luôn có quan hệ như sau:
a → b ⇔H I (a) < H J (b)
Đây là trật tự không chặt chẽ vì hai sự kiện trên hai trạm khác nhau có thể đến cùng một thời điểm Để có được trật tự chặt chẽ thì ta kết hợp thêm một số ID cố định cho mỗi trạm và bằng cách đánh dấu thời gian cho mỗi sự kiện a của trạm i bằng cặp (HI(a), I)
Trang 351.8.4 Thuật toán Herman đảm bảo sự gắn bó yếu nhờ dấu
Tập hợp tất cả các yêu cầu cập nhật được sắp xếp theo cùng một kiểu trên tất cả các trạm nhờ cơ chế dấu Theo đó mỗi yêu cầu được phát đi cho tập hợp các trạm Trên mỗi trạm, tồn tại một tiến trình Server đảm nhận nhiệm vụ tiếp nhận các yêu cầu theo trật tự của dấu Điều đó cho phép có được sự gắn bó yếu giữa các bản sao khác nhau
1.8.5 Thuật toán Ellis đảm bảo sự gắn bó mạnh
Tập hợp bao gồm các trạm được tổ chức theo kiểu vòng tròn ảo, các cập nhật được thực hiện theo hai thì: một là thống nhất giữa các trạm, hai là thực hiện cập nhật
Do vậy, thuật toán này đảm bảo sự gắn bó mạnh Nếu có nhiều yêu cầu cập nhật diễn ra đồng thời thì ta phải có quy tắc để quyết định yêu cầu nào được tiếp nhận và thỏa mãn Nhằm phục vụ cho ý tưởng đó, ta thường hay sử dụng dấu phối hợp cho mỗi cập nhật và ta xử lý yêu cầu có thời gian lâu nhất
+ Triển khai hệ ổn định:
Mỗi trạm có thể có các trạng thái sau:
- Nghỉ ngơi: trạm không thực hiện cập nhật nào cả
- Hoạt động: trạm đã nhận một yêu cầu cập nhật cục bộ mà yêu cầu này đã được
truyền cho các trạm khác để kiểm tra
- Thụ động: trạm đã đồng ý cho một cập nhật và chờ trật tự tương ứng
- Cập nhật: trạm đang trong tình trạng chuyển của cập nhật, trong khi đó tất cả
các yêu cầu khác truyền đến đều được lưu trữ Chúng sẽ được xử lý khi quay về một rong các trạng thái khác
Lúc khởi sự, tất cả các trạm đều trong trạng thái nghỉ ngơi
Trạm khởi sự việc cập nhật, đầu tiên cần phải gửi một yêu cầu cho phép cập nhật, nó chỉ làm được công việc đó trong trạng thái nghỉ ngơi Lúc này nó được nhận dấu và được gửi vào vòng tròn, trạm khởi sự chuyển trạng thái từ nghỉ ngơi sang thụ động
Nếu chỉ có một yêu cầu duy nhất được đưa vào vòng tròn, nó đi qua tất cả các trạm để chuyển các trạm này từ Khi nó đã trở về nơi khởi sự thì việc thống nhất coi như hoàn tất Việc cập nhật nói riêng lúc này được gửi đi và mỗi trạm sau khi thực hiện lại trở về trạng thái nghỉ ngơi
Tóm lại, trong chương này tôi đã trình bày được các vấn đề liên quan đến CSDL phân tán Từ những lý thuyết trên giúp người sử dụng biết được CSDL, hệ quản trị CSDL là gì? Và cũng cho chúng ta biết được các đặc trưng của CSDL phân tán, điểm khác với CSDL tập trung, các ưu điểm của CSDL phân tán, các hình thức tổ chức
hệ thống phân tán và các loại truy xuất CSDL phân tán Đặc biệt đối với các mức trong suốt của CSDL phân tán giúp người sử dụng biết được kiến trúc cơ bản của CSDL phân tán và đây cũng là điều kiện tốt để tôi nghiên cứu lý thuyết thiết kế CSDL phân tán ở chương sau
Trang 36CHƯƠNG 2 THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ CÁC VẤN ĐỀ VỀ QUẢN
LÝ HỌC SINH SINH VIÊN
Thiết kế một hệ thống máy tính phân tán cần phải chọn những vị trí đặt dữ liệu
và các chương trình trên một mạng máy tính và rất có thể phải kể luôn cả việc thiết kế
Trình bày các vấn đề liên quan đến công tác quản lý học sinh-sinh viên tại Trường Cao đẳng Kỹ nghệ Dung Quất
2.1 Thiết kế Cơ sở dữ liệu phân tán
Hệ thống quản lý sinh viên là một hệ thống lớn, Trường Cao đẳng Kỹ nghệ Dung Quất có nhiều phòng ban chức năng cùng sử dụng hệ thống với lượng người dùng nhiều, số luồng dữ liệu trao đổi giữa client và server rất lớn, nếu sử dụng hệ CSDL tập trung sẽ dẫn đến tình trạng nghẽn mạng và “thắt cổ chai” tại CSDL trung tâm Vì thế giải pháp hiệu quả để giải quyết vấn đề trên là sử dụng CSDL phân tán, CSDL sẽ được lưu trên nhiều server đặt tại các vị trí khác nhau, việc đồng bộ các dữ liệu đó về CSDL trung tâm sẽ được thực hiện bởi tính năng replication trong SQL Server
2.1.1 Các công việc cần làm để thiết kế hệ thống phân tán
- Xác định kiến trúc mô hình phân tán tổng thể
- Định vị các địa phương cần phân tán, loại hình phân tán sử dụng cho mỗi
địa phương (toàn bộ, bản sao, lai, )
- Tiến hành cân đối các yếu tốt được phân tán bao gồm các phần tử dữ liệu
và các hoạt động xử lý trên mỗi trạm
Trang 37 Đặc trưng về con người (trình độ, kỹ năng, )
- Mô tả về sử dụng dữ liệu cho mỗi trạm
Các phần tử dữ liệu sử dụng từ hệ thống
Các phần tử dữ liệu cần phải tạo ra
Các phần tử dữ liệu cập nhật
Các phần tử dữ liệu xóa
- Mô tả quá trình nghiệp vụ cho mỗi trạm
Danh sách các xử lý (sơ đồ chức năng) ở các trạm
Mô tả các xử lý
- Các thỏa thuận về phương án kiến trúc hệ thống cho mỗi trạm: cho nhu
cầu về dữ liệu và xử lý cho trạm đó
Có cần hay không về các trợ giúp không phải kỹ thuật
Có cần hay không về hệ thống địa phương, về nối mạng
Có cần hay không về các cấu hình phân tán khác
2.2 Các chiến lược phân tán dữ liệu
Việc định vị và phân tán dữ liệu ở các nút trong một mạng máy tính sẽ quyết định tính hiệu quả và đúng đắn của hệ thống phân tán
Có 4 chiến lược phân tán dữ liệu cơ bản: Tập trung dữ liệu, chia nhỏ dữ liệu, sao lặp dữ liệu, phương thức lai
2.2.1 Tập trung dữ liệu
Tất cả các dữ liệu được tập trung một chổ Cách này đơn giản nhưng có 3 nhược điểm:
- Dữ liệu không sẵn sàng cho người sử dụng truy nhập từ xa
- Chi phí truyền thông lớn, thường làm cực đại việc truy nhập dữ liệu tới nơi tập
Trang 38Cơ sở dữ liệu được phân thành nhiều phần: quan trọng và không quan trọng
- Phần ít quan trọng được lưu giữ một nơi
- Phần quan trọng được lưu trữ ở nhiều nơi khác
là công việc đầu tiên cần phải thực hiện, mục đích việc phân mảnh dữ liệu tạo ra các đơn vị cấp phát logic sao cho chi phí thực hiện truy vấn thông tin là thấp nhất Thiết kế phân mảnh bằng các nhóm một số bộ trong trường hợp phân mảnh dọc có cùng đặc tính theo quan điểm cấp phát các mảnh hình thành bằng các phương pháp nhân mảnh tạo ra các đơn vị cấp phát dữ liệu khác nhau
Các lý do phân mảnh
Trong thiết kế cơ sở dữ liệu phân tán cần phải thực hiện phân mảnh dữ liệu vì:
Hệ quản trị cơ sở dự liệu, các quan hệ bảng được lưu trữ dưới dạng 2 chiều các thao tác đối với CSDL được thực hiện trên các bảng
Việc phân rả 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 giao dịch đồng thời, việc phân mảnh các quan hệ cũng cho phép thực hiện song song một câu vấn tin bằng cách chia nó thành một tập các câu vấn tin con hoạt động trên các mảnh Vì vậy việc phân mảnh sẽ làm tăng mức độ hoạt động, đồng thời tăng lưu lượng hệ thống
Khung nhìn hoặc đơn vị truy xuất của các ứng dụng không phải là toàn bộ quan
+ hoặc là toàn bộ quan hệ
+ hoặc quan hệ được lưu ở một vị trí có chạy ứng dụng
Thiết đến dữ liệu ở xa Chọn lựa sau sẽ gây ra nhiều vấn đề khi cập nhật và lãng phí không gian lưu trữ
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 Dưới đây là ba quy tắc tuân thủ khi phân mảnh cơ sở dự liệu quan hệ
Trang 39- Tính đầy đủ: Quan hệ R được phân rã thành các mảnh R1, R2, .Rn, thì mổi mục dữ liệu có trong quan hệ R sẽ được chứa ít nhất một mảnh Ri (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 các mảnh mà không bị mất
- Tính phục hồi: Nếu một quan hệ R được phân rã thành các mảnh R1, R2, Rn, khi đó R= Ri, Ri € FR toàn tử thay đổi tùy theo từng loại phân mảnh Khả năng phụ hồi quan hệ từ các mảnh sẽ đảm bảo bảo toàn các phụ thuộc
- Tính tách biệt: Nếu quan hệ R được phân rã thành các mảnh Ri, i=1, n và mục
dữ liệu dinằm trong một mảnh Ri thì nó sẽ không nằm trong mạnh Rk, (k#J).Quy tắc này đảm bảo các mảnh phân rã rời nhau Trong trường hợp phân mảnh dọc khóa chính của quan hệ phải được lập lại trong tất cả các mảnh Vì vậy tính tách biệt trong phân mảnh dọc được hiểu không liên quan gì đến khóa chính của quan hệ
Có hai loại phân mảnh ngang:
- Phân mảnh ngang nguyên thủy (primary horizontal fragmentation): phân
mảnh ngang nguyên thủy của một quan hệ được thực hiện dựa trên các vị từ được định nghĩa trên quan hệ đó
Trang 40Phâ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ệ chủ nhân của một lược đồ của CSDL Vì thế cho biết quan hệ R, các mảnh ngang của R là các R Rl = ơFl(R), 1 < i < z
Trong đó Fl là công thức chọn được sử dụng để có được mảnh Rl Chú ý rằng nếu Fl có dạng chuẩn hội, nó là một vị từ hội sơ cấp (mj)
- Phân mảnh ngang dẫn xuất (derived horizontal fragmentation): phân mảnh
ngang dẫn xuất của một quan hệ được thực hiện dựa trên các vị từ được định nghĩa trên quan hệ khác
Như vậy, trong phân mảnh ngang tập các vị từ đóng một vai trò quan trọng
2.3.2 Phân mảnh dọc
Các quan hệ được chia theo chiều dọc Nghĩa là thiết lập một quan hệ mới chỉ
có một số thuộc thuộc tính quan hệ gốc thực tế đây là phép chiếu trên tập con các thuộc tính quan hệ
Ví dụ:
Tách dọc quan hệ PROJ thành 2 quan hệ PROJ1 và PROJ2 như sau:
π PNO, BUDGET (PROJ) và π PNO, PNAME,LOG (PROJ) và
Phân mảnh dọc một quan hệ tổng thể n-bộ R là tách R thành các quan hệ con
R1, R2, , Rk sao cho quan hệ R có thể được khôi phục lại từ các quan hệ con này bằng phép nối: R = R1 R2 ., Rk
Mục đích của phân mảnh dọc là phân hoạch một quan hệ thành một tập các quan hệ nhỏ hơn để nhiều ứng dụng có thể chỉ chạy trên một quan hệ
2.3.3 Phân mảnh hỗn hợp
Cách đơn giản nhất để phân mảnh hỗn hợp gồm có: Áp dụng phân mảnh ngang cho các mảnh phân chia theo chiều dọc; phân mảnh dọc cho các mảnh phân chia theo chiều ngang
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 cho một lược đồ CSDL không đủ đáp ứng các yêu cầu từ ứng dụng Trong 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, sinh ra một lối phân hoạch có cấu trúc cây Bởi vì hai chiến lược này được áp dụng lần lượt, chọn lựa này được gọi là phân mảnh hỗn hợp
Khuyết điểm của việc phân mảnh: