1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xay 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

97 24 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 97
Dung lượng 8,43 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

TRƯỜ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 2

TRƯỜ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 3

MỞ ĐẦ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 4

1.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 5

2.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 6

3.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 7

Tô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 8

Tô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 10

NAME 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 11

TT 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 12

Số 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 13

Hì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 14

MỞ ĐẦ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 15

3 Đố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 16

6 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 17

CHƯƠ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 18

Hì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 20

Bộ 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 22

Như 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 23

Server 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 24

Database 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 25

Mô 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 26

1.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 27

a 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 28

Hì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 29

1.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 30

Ví 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 31

NCC2

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 33

1.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 34

STT 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 35

1.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 36

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

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 38

Cơ 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 40

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ệ 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:

Ngày đăng: 07/05/2021, 14:16

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w