Professional Documents
Culture Documents
Ứng dụng tốt công nghệ thông tin trong quản lý đào tạo là chìa khóa
thành công trong việc quản lý của các nhà trường, là tiền đề nâng cao chất lượng
và hiệu quả đào tạo. Cùng với mục đích này, đề tài đã tập trung tìm hiểu và xây
dựng mô hình cơ sở dữ liệu phân tán phù hợp với yêu cầu của hệ thống quản lý
đào tạo thay cho hệ thống cơ sở dữ liệu tập trung nhiều bất cập trong hiện tại,
góp phần nâng cao hiệu quả trong việc quản lý sinh viên của các trường Đại học.
Công nghệ cơ sở dữ liệu (DataBase - DB) đã trải qua một quá trình hình
thành và phát triển khá lâu dài. Ban đầu, các hệ cơ sở dữ liệu thường gắn liền
với ứng dụng, nghĩa là mỗi ứng dụng định nghĩa và duy trì dữ liệu của riêng
chúng. Phát triển hơn, dữ liệu được quản lý một cách tập trung, nhiều ứng
dụng khác nhau có thể truy xuất dữ liệu trực tiếp từ cơ sở dữ liệu tập trung đó.
Tuy nhiên, cơ sở dữ liệu tập trung cũng tồn tại nhiều khuyết điểm, có thể
kể đến đó là khi trung tâm lưu trữ và xử lý dữ liệu có sự cố thì toàn hệ thống sẽ
ngừng hoạt động, hay tình trạng tắc nghẽn khi có quá nhiều yêu cầu truy xuất
dữ liệu. Cơ sở dữ liệu phân tán ra đời đã phần nào khắc phục được những hạn
chế của cơ sở dữ liệu tập trung, là kết quả của sự hợp nhất hai hướng tiếp cận
đối với quá trình xử lý dữ liệu
Trong giới hạn của một báo cáo tiểu luận kết thúc môn học, nội dung của
bản báo cáo “Dùng ngôn ngữ C# viết chương trình cho hệ đa server với CSDL
gắn bó cho phép quản lý đào tạo từ xa trong điều kiện có sự cố”.
Trong quá trình thực hiện tiểu luận này, chúng em xin chân thành biết ơn
sự giúp đỡ của TS. Nguyễn Hà Huy Cường.
Chúng em xin chân thành cảm ơn
MỤC LỤC
LỜI MỞ ĐẦU
MỤC LỤC
DANH MỤC BẢNG BIỂU
DANH MỤC HÌNH ẢNH
DANH MỤC CỤM TỪ VIẾT TẮT
CHƢƠNG 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN .................... 1
1.1. Hệ phân tán ............................................................................................... 1
1.2. Nguyên tắc xây dựng hệ phân tán ............................................................. 1
1.3. Hệ cơ sở dữ liệu phân tán (Distributed database system) ........................ 2
1.4. Giao dịch và quản lý giao dịch ................................................................. 3
1.4.1. Các khái niệm ..................................................................................... 3
1.4.2. Tình huống kết thúc giao dịch. ........................................................... 4
1.4.3. Đặc trưng hoá các giao dịch................................................................ 5
1.4.4. Các tính chất của giao dịch. ................................................................ 5
1.5. Điều khiển đồng thời phân tán .................................................................. 8
1.6. Độ khả tín của hệ quản trị CSDL phân tán ............................................... 9
1.6.1. Hệ thống, trạng thái và sự cố: ............................................................. 9
1.6.2. Độ khả tín và độ khả dụng ................................................................ 11
1.6.3. Sự cố trong hệ quản trị CSDL phân tán ............................................ 11
1.6.4. Nghi thức khả tín cục bộ ................................................................... 14
1.6.5. Các nghi thức khả tín phân tán. ........................................................ 15
1.7. Giải thuật đảm bảo gắn bó dữ liệu .......................................................... 16
CHƢƠNG 2 THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN .............................. 18
2.1 Các chiến lược thiết kế ............................................................................. 18
2.1.1. Thiết kế từ trên xuống ....................................................................... 18
2.1.2. Thiết kế từ dưới lên ........................................................................... 18
2.2. Các vấn đề thiết kế cơ sở dữ liệu phân tán............................................... 19
2.2.1. Vấn đề phân rã trên cơ sở dữ liệu tập trung ...................................... 19
2.2.2. Sự cần thiết phân mảnh dữ liệu phân tán .......................................... 19
2.2.3. Những tồn tại trong phân mảnh dữ liệu ............................................ 19
2.3. Kỹ thuật thiết kế cơ sở dữ liệu phân tán .................................................. 20
2.3.1. Bài toán phân mảnh dữ liệu phân tán ................................................ 20
2.3.2. Bài toán định vị phân tán .................................................................. 20
2.4. Các quy tắc phân mảnh đúng đắn ............................................................ 21
2.5. Thảo luận về thiết kế cơ sở dữ liệu phân tán ........................................... 21
2.6. Thiết kế cơ sở dữ liệu phân tán bằng các kỹ thuật phân mảnh ngang ..... 21
2.7. Phân tích bài toán cho đề tài xây dựng đồng bộ quản lý học liệu ........... 22
2.7.1. Lựa chọn phương pháp phân tán ....................................................... 22
2.7.2. Bài toán ............................................................................................. 23
2.7.3. Phân tích thực thể .............................................................................. 23
2.7.3. Phân tích yêu cầu hệ thống................................................................ 25
2.7.4. Biểu đồ quan hệ ................................. Error! Bookmark not defined.
CHƢƠNG 3 XÂY DỰNG ĐỒNG BỘ DỮ LIỆU CHO BÀI TOÁN “HỆ
THỐNG QUẢN LÝ ĐĂNG KÝ TÍN CHỈ MÔN HỌC” ............................... 29
3.1. Qui trình quản lý đào tạo ........................................................................ 29
3.2. Mô hình cơ sở dữ liệu phân tán trong quản lý đào tạo ........................... 29
3.3. Chọn lựa phương pháp phân tán ............................................................. 30
3.4. Giải pháp đồng bộ cơ sở dữ liệu phân tán .............................................. 31
3.4.1. Thành phần chính trong Replication................................................. 31
3.4.2. Các loại Replication .......................................................................... 31
3.5. Các vấn đề trong đồng bộ dữ liệu ........................................................... 32
KẾT LUẬN ........................................................................................................ 34
TÀI LIỆU THAM KHẢO ................................................................................ 35
DANH MỤC BẢNG BIỂU
Bảng 1.1 Nguyên tắc xây dựng hệ phân tán......................................................... 1
Bảng 1.2 Cơ chế duy trì sự gắn bó trong môi trường phân tán............................ 3
Bảng 1.3 Đặc tính toàn vẹn .................................................................................. 3
Bảng 4.1. Kết quả các lần thử nghiệm ............................................................... 32
DANH MỤC HÌNH ẢNH
Hình 1.1Các thực thể của hệ tin học phân tán....................................................... 1
Hình 1.2 Môi trường của hệ cơ sở dữ liệu phân tán ............................................. 3
Hình 1.3 Ba giai đoạn của một giao dịch .............................................................. 4
Hình 1.4 Mô hình chi tiết của bộ phận theo dõi phân tán ..................................... 7
Hình 1.5 Sơ đồ hệ thống...................................................................................... 10
Hình 1.6 Nguồn gốc của các sự cố hệ thống ....................................................... 11
Hình 1.7 Giao diện giữa LRM và BM ................................................................ 14
Hình 1.8 Thực thi các thao tác cập nhật .............................................................. 15
Hình 1.9 Cấu trúc giao tiếp 2 PC tuyến tính ....................................................... 17
DANH MỤC CỤM TỪ VIẾT TẮT
STT Cụm từ Viết tắt
1 Cơ sở dữ liệu CDSL
2 Distributed database system DDBS
3 Structured Query Language SQL
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
2
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
3
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
Nếu một tiến trình bị sự cố trước khi kết thúc T nhưng lại sau các thao
1
tác thay đổi cần thiết của T, trạng thái của hệ là gắn bó.
Nếu một tiến trình bị sự cố trước khi diễn ra các thay đổi của T, trạng
2
thái của hệ là gắn bó.
Nếu một tiến trình bị sự cố giữa các thay đổi của T, trạng thái của hệ
3
là không gắn bó.
4
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
Một giao dịch luôn luôn kết thúc ngay cả khi có xảy ra sự cố. Nếu giao dịch
có thể hoàn tất thành công tác vụ của nó, chúng ta nói giao dịch đó uỷ thác
(commit). ngược lại nếu một giao dịch phải ngừng lại khi chưa hoàn tất công
việc, chúng ta nói nó bị huỷ bỏ (abort). Ngoài ra DBMS có thể huỷ bỏ một giao
dịch, chẳng hạn do bị khoá cài (deadlock). Khi một giao dịch bị huỷ bỏ, quá
trình thực thi sẽ ngùng và tất cả mọi hành động đã được thực hiện đều phải được
hồi lại (undo), đưa CSDL trở về trạng thái trước khi thực hiện giao dịch. Quá
trình này gọi là cuộn ngược (rollback).
Vai trò quan trọng của uỷ thác biểu hiện ở hai mặt. Thứ nhất lệnh uỷ thác thông
tin cho DBMS biết rằng tác vụ của giao dịch đó bây giờ cần đượcphản ánh vào
trong CSDL, qua đó làm cho các giao dịch đang truy xuất các mục dữ liệu đó có
thể thấy được chúng. Thứ hai, điểm mà giao dịch uỷ thác là một điểm “không
đường về”. Kết quả của một giao dịch đã uỷ thác bây giờ được lưu cố định vào
CSDL và không thể hồi lại được.
1.4.3. Đặc trưng hoá các giao dịch.
Các giao dịch đều đọc và ghi một số dữ liệu. Điều này được dùng làm cơ sở
nhận biết một giao dịch. Các mục dữ liệu được giao dịch đọc cấu tạo nên tập đọc
RS (Read set) của nó. Tương tự, các mục dữ liệu được giao dịch ghi được gọi là
tập ghi WS (Write set). Chú ý rằng tập đọc và tập ghi của một giao dịch không
nhất thiết phải tách biệt. Cuối cùng hợp của tập đọc và tập ghi của một giao dịch
tạo ra tập cơ sở BS (Base set), nghĩa là BS RS WS .
1.4.4. Các tính chất của giao dịch.
Các khía cạnh nhất quán và khả tín của giao dịch là do bốn tính chất sau:
a. Tính nguyên tử (atomicity)
Tính nguyên tử liên quan đến sự kiện là một giao dịch được xử lý như một đơn
vị hoạt tác. Chính vì thế mà các hành động của giao dịch, hoặc tất cả đều hoàn
tất hoặc không một hành động nào hoàn tất. Điều này cũng được gọi là tính chất
“được ăn cả, ngã về không” (all-or-nothing). Tính nguyên tử đòi hỏi rằng nếu
việc thực thi giao dịch bị cắt ngang bởi một loại sự cố nào đó thì DBMS sẽ chịu
trách nhiệm xác định công việc cần thực hiện đối với giao dịch để khôi phục lại
5
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
sau sự cố bằng cách hoặc nó sẽ được kết thúc bằng cách hoàn tất các hành động
còn lại, hoặc có thể được kết thúc bằng cách hồi lại tất cả các hành động đã được
thực hiện
b. Tính nhất quán (consistency)
Tinh chất này chỉ đơn giản là tính đúng đắn của nó. Nói cách khác, một giao
dịch là một chương trình đúng đắn, ánh xạ CSDL từ trạng thái nhất quán này
sang trạng thái nhất quán khác. Việc đảm bảo tính nhất quán là mục tiêu của các
cơ chế điều khiển đồng thời.
c. Tính biệt lập (isolation)
Biệt lập là tính chất của các giao dịch, đòi hỏi mỗi giao dịch phải luôn nhìn thấy
CSDL nhất quán. Nói cách khác, một giao dịch đang thực thi không thể làm lộ
ra các kết quả của nó cho những giao dịch khác đang cùng hoạt động trước khi
nó uỷ thác.
Có một số lý do cần phải nhấn mạnh đến tính biệt lập, một là phải duy trì tính
nhất quán qua lại giữa các giao dịch. Nếu hai giao dịch đồng thời truy xuất đến
một dữ liệu đang được một trong chúng cập nhật thì không thể bảo đảm rằng
giao dịch thứ hai sẽ đọc giá trị đúng.
d. Tính bền vững (dulability)
Muốn nói đến tính chất của giao dịch, bảo đảm rằng một khi giao dịch uỷ thác,
kết quả của nó được duy trì cố định và không bị xoá ra khỏi CSDL. Vì thế
DBMS bảo đảm rằng kết quả của giao dịch sẽ vẫn tồn tại dù có xảy ra sự cố hệ
thống. Tính bền vững đưa ra vấn đề để khôi phục CSDL (database recovery),
nghĩa là cách khôi phục CSDL về trạng thái gắn bó mà ở đó mọi hành động đã
uỷ thác đều được phản ánh.
Với việc giới thiệu về những khái niệm giao dịch ở trên, chúng ta cần xem lại
mô hình kiến trúc mà cụ thể là mở rộng vai trò của bộ phận theo dõi hoạt động
phân tán (distributed execution monitor). Bộ phận này bao gồm hai đơn vị: Bộ
quản lý giao dịch (transection manager_TM) và bộ xếp lịch (scheduler_SC). Bộ
TM chịu trách nhiệm điều phối việc thực hiện các thao tác CSDL của các ứng
6
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
dụng. Ngược lại bộ SC chịu trách nhiệm cài đặt một thuật toán điều khiển đồng
thời cụ thể nhằm đồng bộ hoá việc truy xuất đến CSDL.
Phần thứ ba tham gia vào việc quản lý các giao dịch phân tán là bộ quản lý khôi
phục cục bộ (local recovery manager) có mặt tại mỗi vị trí. Chức năng của
chúng là cài đặt các thủ tục khôi phục khôi phục tại chỗ nhằm đưa CSDL về
trạng thái gắn bó sau khi xảy ra sự cố.
Mỗi giao dịch đều xuất phát từ một vị trí và chúng ta gọi là vị trí khởi nguồn
(originating site). Việc thực hiện các thao tác CSDL của một giao dịch được
điều phối bởi TM tại vị trí khởi nguồn của giao dịch..
Bộ quản lý giao dịch cài đặt một giao diện cho các ứng dụng, bao gồm năm
lệnh: begin_transection, read, write, commit, abort. Xử lý mỗi lệnh này trong
một hệ thống DBMS phân tán có nhân bản sẽ được từu tượng ở mức độ nhất
định. Để cho đơn giản, chúng ta tạm bỏ qua việc xếp lịch cho các giao dịch đồng
thờicũng như những chi tiết truy xuất dữ liệu vật lý của bộ xử lý dữ liệu . Những
giả thiết này cho phép chúng ta tập trung vào giao diện của TM.
Hình 0.4 Mô hình chi tiết của bộ phận theo dõi phân tán
7
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
Read: Nếu mục dữ liệu x được lưu cục bộ, giá trị của nó được đọc
và chuyển cho giao dịch. Bằng không, TM sẽ chọn một bản sao của x và
yêu cầu chuyển bản sao đó cho giao dịch.
Write: TM điều phối việc cập nhật giá trị x tại mỗi vị trí có chứa
nó.
Commit: TM điều phối việc cập nhật vật lý của toàn thể CSDL có
chứa bản sao của mỗi mục dữ liệu mà một lệnh write trước đó đã đưa ra.
Abort: TM kiểm tra lại rằng không có tác động nào của giao dịch
được phản ánh trong CSDL.
Khi cung cấp các dịch vụ này, TM có thể giao tiếp với SC và bộ xử lý dữ liệu tại
cùng vị trí hoặc khác vị trí.
1.5. Điều khiển đồng thời phân tán
Điều khiển đồng thời giải quyết các tính chất biệt lập và nhất quán của giao
dịch. Cơ chế điều khiển đồng thời phân tán của một hệ quản trị CSDL phân tán
bảo đảm rằng tính chất nhất quán của CSDL. Nếu các giao dịch đã nhất quán nội
tại (nghĩa là không vi phạm bất kỳ ràng buộc nhất quán nào), thế thì để có thể
đạt được mục tiêu này, cách đơn giản nhất là thực hiện lần lượt từng giao dịch
một. Rõ ràng điều này làm giảm lưu lượng hệ thống. Mức độ đồng thời (nghĩa là
số lượng các giao dịch hoạt động cùng một lúc) có lẽ là một tham số quan trọng
nhất trong các hệ phân tán. Do vậy cơ chế điều khiển đồng thời cố gắng tìm ra
một phương án thích hợp, vừa duy trì được tính nhất quán của CSDL, vừa duy
trì được mức độ đồng thời cao.
Chúng ta có thể chỉ ra rằng chức năng cơ bản của bộ điều khiển đồng thời là
tạo ra một lịch biểu khả tuần tự để thực hiện các giao dịch đang chờ đợi.
Có một số cách phân loại các phương pháp điều khiển đồng thời. Một chế độ
hiển nhiên là phân tán CSDL. Một số thuật toán đã được đề xuất đòi hỏi có một
CSDL nhân bản hoàn toàn, còn một số khác có thể hoạt tác trên các CSDL phân
hoạch hoặc nhân bản một phần. Có hai lớp thuật toán điều khiển đồng thời là lớp
dựa trên các truy xuất độc quyền đến dữ liệu dùng chung (Khoá chốt) và lớp
8
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
thuật toán cố gắn sắp xếp thứ tự thực hiện giao dịch theo một tập quy tắc (nghi
thức). Các lớp thuật toán này dựa trên hai quan điểm khác nhau:
Quan điểm bi quan: Cho rằng có nhiều giao dịch sẽ trương tranh với nhau
Quan điểm lạc quan: cho rằng không có quá nhiều giao dịch trương tranh với
nhau
Vì vậy chúng ta sẽ xếp các cơ chế điều khiển đồng thời thành hai nhóm lớn:
Các phương pháp điều khiển đồng thời lạc quan và Các phương pháp điều khiển
đồng thời bi quan . Các thuật toán bi quan đồng bộ hoá việc thực hiện đồng thời
của các giao dịch trước khi thực hiện chúng , trong khi đó các thuật toán lạc
quan để việc đồng bộ hoá các giao dịch cho đến khi chúng kết thúc.
Các thuật toán điều khiển đồng thời phân tán: Điều khiển đồng thời bằng
khoá chốt, Điều khiển đồng thời bằng thời dấu, Điều khiển đồng thời lạc quan
1.6. Độ khả tín của hệ quản trị CSDL phân tán
Một hệ CSDL phân tán khả tín là hệ thống có thể tiếp tục xử lý các yêu cầu
của người sử dụng gây cả khi hệ thống nền không khả tín. Nói khác khác ngây
cả khi các thành phần của môi trường tính toán phân tán ngừng hoạt động, hệ
quản trị CSDLphân tán khả tín phải có khả năng tiếp tục thực hiện các yêu cầu
của người sử dụng mà vẫn không vi phạm tính nhất quán của CSDL.
1.6.1. Hệ thống, trạng thái và sự cố:
Trong ngữ cảnh của độ khả tín, thuật ngữ hệ thống (system) muốn nói đến
một cơ chế được cấu tạo bởi một tập các thành phần và tương tác với môi trường
bằng cách đáp ứng với các kích thích từ môi trường nhờ một mẫu hành vi nhận
ra được
Có nhiều cách để mô hình hoá sự trương tác giữa phần cứng và phần mềm trong
một hệ thống máy tính. Một phương pháp là xử lý mã lệnh như là bản thiết kế
của một hệ thống từu trượng, các thành phần của nó là các đối tượng phần cứng
và phần mềm mà chúng được thao tác trong quá trình thực hiện chương trình.
Một cách khác là đặc tả trường minh mỗi thành phần phần cứng và phần mềm,
và để bản thiết kế trình bày cách tương tác của các thành phần này với nhau.
9
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
10
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
11
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
12
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
được xem là an toàn và chính xác. Nói theo thuật ngữ CSDL phân tán, sự cố hệ
thống thường được gọi sự cố vị trí vì chúng làm cho vị trí đó ngưng hoạt động
và những vị trí khác trong hệ thống phân tán không thể tiếp cận được nó.
Sự cố vật liệu (đĩa): Sự cố này liên quan đến sự cố của các thiết bị lưư
trữ thứ cấp dùng để lưu trữ CSDL. Những sự cố này có thể do lỗi của hệ điều
hành cũng như những sai sót phần cứng, chẳng hạng như vỡ đầu đọc hoặc hư hại
bộ điều khiển. Điểm quan trọng theo quan điểm độ khả tín của DBMS đó là tất
cả hoặc một phần CSDL trên thiết bị đó được xem như bị huỷ hoại hoặc không
thể truy xuất được. Ghép đôi đĩa và duy trì các bản lưu của CSDL là những kỹ
thuật thông thường để giải quyết loại vấn đề này.
Sự cố đƣờng liên lạc ( truyền thông)
Ba sự cố trên đều có trong hệ tập trung lẫn phân tán, còn sự cố truyền thông chỉ
có trong các hệ phân tán. Sự cố này là do lỗi trong các thông báo, các thông báo
vô trật tự, thông báo bị thất lạc (hoặc không phân phối thông báo) và sự cố
đường liên lạc.
Hai lỗi đầu tiên thuộc trách nhiệm của mạng máy tính, còn các thông báo bị
thất lạc hoặc không phân phối được thường là hậu quả các sự cố đường truyền
hoặc sự cố vị trí đến. Nếu đường truyền bị hư, ngoài vấn đề làm mất các thông
báo tuyền qua, nó cũng có thể phân cắt mạng thành hai hoặc nhiều nhóm tách
rời. Tình huống này được gọi là phân hoạch mạng, lúc đó các vị trí trong mỗi
phân hoạch có thể vẫn tiếp tục hoạt động. Khi đó việc thực hiện các giao dịch
cần truy xuất đến nhiều phân hoạch trở thành một vấn đề quan trọng. Duy trì
tính nhất quán tương hỗ của CSDL là một vấn đề có ý nghĩa quan trọng, đặc biệt
nếu CSDL được nhân bản trong nhiều phân hoạch.
Nếu các thông báo không phân phối được, ta giả thiết rằng mạng sẽ không
làm gì, nó sẽ phân phối cho các nơi khi dịch vụ được tái lập lại và sẽ không
thông tin cho tiến trình gửi biết rằng thông báo không thể phân phối đi được.
Nói vắn tắt, thông báo chỉ đơn giản là bị thất lạc. Chúng ta đưa ra giả thiết này
13
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
bởi vì nó biểu diễn sự mong chờ ít nhất từ mạng và trao trách nhiệm giải quyết
những sự cố này cho DBMS phân tán.
Một kết quả từ giả thiết này là trách nhiệm phát hiện ra rằng một thông báo
không phân phối được sẽ để lại cho chương trình ứng dụng (trong trường hợp
này là các DBMS phân tán).Việc phát hiện này tạo ra hướng giải quyết là dùng
bộ đếm thời gian và cơ chế quá hạn để theo dõi xem đã qua bao nhiêu lâu kể từ
khi vị trí gửi không nhận được hồi đáp của vị trí đến. Thời gian quá hạn nhất
thiết phải được đặt lớn hơn khoảng thời gian trể truyền tải tối đa của một thông
báo trên mạng.
1.6.4. Nghi thức khả tín cục bộ
a. Các vấn đề kiến trúc
CSDL ổn định được lưư trên thiết bị ổn định, thiết bị ổn định thường được
cài đặt bằng phương tiện các đĩa từ ghép đôi với khả năng lưu các bản dữ liệu
giống nhau luôn cần phải gửi nhất quán tương hỗ.
Bộ quản lý đệm BM gửi một số dữ liệu mới được truy xuất trong vùng đệm,
điều này làm tăng hiệu quả truy xuất, phần CSDL đang hiện diện trong vùng
đệm gọi là CSDL khả hủy. LRM (bộ quản lý khôi phục cục bộ)thực hiện các
thao tác thay cho giao dịch chỉ trên CSDL khả hủy mà về sau sẽ được ghi lại vào
CSDL ổn định.
14
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
đó thì trao cho giao dịch đang yêu cầu; nếu không, nó sẽ đến CSDL ổn định và
đọc trang đó vào chỗ còn trống trong vùng đệm, nếu không còn chỗ trống, nó
chọn một trong những trang đệm và ghi trở lại vào bộ nhớ ổn định và đọc trang
đang yêu cầu vào chỗ đó. LRM ghi lại trang đệm nhờ lênh Flush.
b. Các thông tin khôi phục
Ta giả thiết rằng chỉ xảy ra các sự cố hệ thống, khi xảy ra sự cố hệ thống,
CSDL khả hủy sẽ bị mất. Vì thế DBMS phải duy trì một số thông tin về trạng
thái của nó vào lúc xảy ra sự cố, nhờ đó có khả năng đưa CSDL trở về trạng thái
hiện hữu của nó khi có sự cố. Chúng ta gọi đây là thông tin khôi phục.
- Thông tin khôi phục về cập nhật tại chỗ: Cập nhật tại chỗ sẽ làm mất giá trị
trước đó của mục dữ liệu bị ảnh hưởng. Ta cần gửi đủ các thông tin cần thiết về
những thay đổi trạng thái CSDL, tạo dể dàng cho việc khôi phục CSDL trở lại
trạng thái gắn bó sau một sự cố, thông tin này được duy trì trong nhật ký CSDL .
Vì vậy mỗi giao dịch cập nhật không chỉ thay đổi CSDL mà còn được ghi nhận
trong nhật ký CSDL.
15
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
- Các thành phần của nghi thức khả tín phân tán:
Kỹ thuật khả tín bao gồm ba nghi thức: uỷ thác, kết thúc và khôi phục. Các
nghi thức ủy thác và khôi phục đặc tả cách thức thực hiện các lệnh ủy thác và
khôi phục. Còn nghi thức kết thúc là như nhau đối với đối với các hệ phân tán.
Giả sử rằng trong khi thực hiện một giao dịch phân tán, một trong các vị trí có
tham gia vào việc thực hiện này có sự cố; chúng ta muốn các vị trí còn lại kết
thúc giao dịch bằng cách nào đó. Kỹ thuật nhằm giải quyết tình huống này được
gọi là nghi thức kết thúc.
1.7. Giải thuật đảm bảo gắn bó dữ liệu
Có nhiều loại giải thuật đảm bảo gắn bó dữ liệu. Ở đây ta đưa ra giải thuật hai
pha tuyến tính (Linear two phase commit - 2PC). Trong đó các thành viên có thể
trao đổi với nhau. Chúng ta giả thiết rằng thứ tự giữa các vị trí có tham gia vào
việc thực hiện một giao dịch là 1, 2,…,N với điều phối viên là vị trí đầu tiên giải
thuật này hoạt động như sau:
Điều phối viên gửi thông báo prepare đến thành viên 2. Nếu thành viên 2
chưa sẵn sàng ủy thác giao dịch, nó gửi thông báo biểu quyết hủy bỏ Vote-abort
(VA) đến thành viên 3 và giao dịch bị hủy tại thời điểm này (hủy bỏ đơn phương
của 2). Ngược lại nếu thành viên 2 đồng ý ủy thác, nó gửi thông báo vote-
commit (VC) cho thành viên 3 rồi chuyển sang trạng thái READY. Quá trình
này tiếp tục cho đến khi một biểu quyết uỷ thác đến được thành viên N. Đến đây
kết thúc pha đầu tiên. Nếu N quyết định ủy thác nó gửi trở lại cho thành viên N-
1 thông báo global-commit (GC); bằng không, nó gửi một thông báo hủy bỏ
toàn cục global-abort (GA). Theo đó các thành viên chuyển sang trạng thái thích
hợp (COMMIT hoặc ABORT) và làm lan truyền thông báo trở về điều phối viên
16
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
17
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
18
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
2.2. Các vấn đề thiết kế cơ sở dữ liệu phân tán
2.2.1. Vấn đề phân rã trên cơ sở dữ liệu tập trung
Phép phân rã dọc: Tách theo nhóm thuộc tính dựa vào khóa/siêu khóa và các
ràng buộc dữ liệu (phụ thuộc hàm). Phép toán đại số quan hệ áp dụng là phép
chiếu trên lược đồ quan hệ R.
Phép phân rã ngang: Tách theo các bộ (đối tượng) trên một quan hệ dựa vào
một hội vị từ sơ cấp. Phép toán đại số quan hệ áp dụng là phép chọn trên quan
hệ r(R).
2.2.2. Sự cần thiết phân mảnh dữ liệu phân tán
Hệ phân tán trước đây, dữ liệu được cấp phát dựa trên toàn bộ tập tin cho các
nút trên một mạng máy tính. Vì thế, bài toán phân mảnh dữ liệu được xem như
không cần thiết. Tuy nhiên, như vấn đề đặt ra ở tính cấp thiết của việc nghiên
cứu trong luận án, chúng ta phải xem xét đến vần đề phân mảnh, để có được các
đơn vị phân tán thích hợp, khi một quan hệ không còn là một đơn vị dữ liệu đáp
ứng được nhiều yêu cầu khác nhau trong thực tiễn.
Hầu hết, khung nhìn (view) của các chương trình ứng dụng thường chỉ là
một tập con của quan hệ. Vì thế, đơn vị truy xuất không phải là toàn bộ quan hệ,
chỉ là các tập con của quan hệ. Kết quả áp dụng này, xem tập con mỗi quan hệ là
một đơn vị phân tán, và là điều thích hợp nhất cho sự cần thiết như trên.
Ngoài ra, nếu nhiều ứng dụng có các khung nhìn được định nghĩa trên một quan
hệ cho trước, được phân tán tại những vị trí khác nhau, ta có hai cách lựa chọn
cho đơn vị phân tán toàn bộ quan hệ: hoặc quan hệ không được lặp lại, được lưu
giữ ở một vị trí duy nhất. Hoặc nó được lặp lại tất cả, hoặc một số các vị trí có
truy cập ứng dụng. Lựa chọn đầu, tạo ra một khối lượng lớn các truy cập dữ liệu
từ xa không cần thiết. Trong khi đó, với lựa chọn thứ hai, cách thức lặp lại mối
quan hệ sẽ tạo ra những nhân bản không cần thiết, dễ xảy ra dư thừa dữ liệu hay
không đảm bảo nhất quán dữ liệu khi cập nhật dữ liệu.
2.2.3. hững t n tại trong phân mảnh dữ liệu
Khi một ứng dụng có xung đột trong yêu cầu, có thể dẫn đến việc phân mảnh
một quan hệ thành các mảnh khác biệt nhau.
Vấn đề tồn tại về việc kiểm soát dữ liệu ngữ nghĩa, kiểm tra tính toàn vẹn dữ
19
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
liệu trong bài toán phân mảnh cũng được xem xét cẩn thận, vì dễ dẫn đến kết
quả phân mảnh có thể bị sai sót tại nhiều vị trí không hợp lệ.
2.3. Kỹ thuật thiết kế cơ sở dữ liệu phân tán
Kỹ thuật thiết kế CSDL phân tán bao gồm bài toán phân mảnh dữ liệu và
định vị (cấp phát) các mảnh dữ liệu cho các trạm (site) tương ứng của một hệ
CSDL phân tán.
2.3.1. Bài toán phân mảnh dữ liệu phân tán
Bài toán phân mảnh thường quan tâm đến hai kỹ thuật phân mảnh ngang và
phân mảnh dọc. Phân mảnh ngang tiến hành phân chia một quan hệ r(R) theo
các bộ. Mỗi mảnh là một quan hệ con chứa các bộ t của quan hệ r(R). Phân
mảnh dọc tiến hành phân chia theo tập thuộc tính trên lược đồ quan hệ R, thành
các lược đồ quan hệ con (R1, R2,…, Rm). Các thuộc tính trong mỗi lược đồ quan
hệ con thường được truy vấn cùng nhau. Ngoài ra còn có loại phân mảnh hỗn
hợp kết hợp cả hai kỹ thuật trên.
Một số đặc tính cần thỏa mãn trong kỹ thuật phân mảnh bao gồm:
Chi phí nhỏ nhất: Hàm chi phí bao gồm chi phí lưu trữ và chi phí truy vấn
mảnh Fi tại trạm Sj, chi phí cập nhật Fi tại tất cả các trạm lưu trữ nó và chi phí
trao đổi thông tin. Mục tiêu của bài toán định vị là xác định một lược đồ định vị
để cực tiểu hóa hàm chi phí này.
Hiệu năng: Chiến lược định vị được thiết kế nhằm duy trì hiệu năng lưu lượng
.
Trong thời gian ngắn nhất mà vẫn duy trì được chi phí xử lý thấp nhất, thời
gian đáp ứng thấp và tăng tối đa lưu lượng.
20
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
2.4. Các quy tắc phân mảnh đúng đắn
Tính đầy đủ: Nếu một thể hiện quan hệ r(R) được phân thành các mảnh
(R1, R2,…,Rn), thì mỗi mục dữ liệu có thể gặp trong R cũng có thể gặp trong một
hoặc nhiều mảnh Ri.
Tính tái thiết được: Nếu một quan hệ r(R) được phân thành các mảnh (R 1,
R2,…,Rn), thì cần phải định nghĩa một toán tử quan hệ sao cho:
R=R1 R2 ,... Rn , RiFr và 1 i = n.
Tính tách biệt: Nếu quan hệ r(R) được phân mảnh ngang thành các mảnh
(R‟1, R‟2,…,R‟n) và mục dữ liệu di nằm trong mảnh R‟j thì nó sẽ không nằm
trong mảnh R‟k nào khác (với k ≠ j).
2.5. Thảo luận về thiết kế cơ sở dữ liệu phân tán
Về tính trong suốt nhân bản (replication transparency), một đặc tính cần thiết khi
tính toán hiệu năng cao, về độ tin cậy và tính sẵn sàng của CSDL phân tán. Đặc
tính này làm tăng khả năng tham chiếu, khả năng lưu giữ các nhân bản khác của
dữ liệu trên hệ thống khi xảy ra các vấn đề tương tranh, xung đột hay tắc nghẽn
dữ liệu
Tính trong suốt phân mảnh (fragmentation transparency) trên các hệ CSDL phân
tán, thể hiện các mảnh sẽ được xử lý như một đối tượng CSDL độc lập sau phân
mảnh. Đặc tính này có thể sẽ làm giảm đi các phát sinh lỗi không mong muốn
của việc nhân bản dữ liệu.
2.6. Thiết kế cơ sở dữ liệu phân tán bằng các kỹ thuật phân mảnh ngang
Phân mảnh ngang nguyên thủy là phân mảnh được thực hiện dựa trên các vị từ
được định nghĩa trên chính quan hệ đó.
Phân mảnh ngang dẫn xuất là phân mảnh được thực hiện dựa trên các vị từ
được định nghĩa trên một quan hệ khác.
Yêu cầu thông tin về phân mảnh ngang
Thông tin về CSDL: Trước tiên là lược đồ toàn cục, quan tâm đến các quan hệ
sẽ kết nối lại với nhau theo cách nào.
Thông tin về ứng dụng: Quá trình phân mảnh, cần đầy đủ thông tin định tính
và định lượng. Thông tin định tính hướng dẫn cho hoạt động phân mảnh dữ liệu.
Thông tin định lượng sử dụng trong mô hình định vị dữ liệu.
Thông tin định tính cơ bản gồm các vị từ dùng trong câu truy vấn, đó là vị từ
đơn (simple predicate) và vị từ hội sơ cấp (minterm predicate)
21
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
hân mảnh ngang ngu ên thủ
Phân mảnh ngang nguyên thủy được định nghĩa bằng một phép toán chọn trên
các quan hệ chủ của một lược đồ CSDL. Quan hệ r(R) sẽ được phân mảnh
ngang thành các Ri được định nghĩa: Ri = Fi(R), 1 ≤ i ≤ z , trong đó Fi là công
thức chọn được sử dụng để có được mảnh Ri. Nếu Fi có dạng chuẩn hội, luôn
khẳng định rằng Fi là một vị từ hội sơ cấp.
Một đặc tính quan trọng của các vị từ đơn là tính đầy đủ và tính cực tiểu. Tập
các vị từ đơn Pr được gọi là đầy đủ nếu và chỉ nếu xác suất mỗi ứng dụng truy
xuất đến một bộ bất kỳ thuộc về một mảnh hội sơ cấp nào đó được định nghĩa
theo Pr đều bằng nhau .
2.7. Phân tích bài toán cho đề tài xây dựng đồng bộ quản lý học liệu
2.7.1. Lựa chọn phương pháp phân tán
CSDL quản lý học liệu sẽ được lựa chọn phương pháp phân tán partition, nghĩa
là việc thực hiện phân chia bảng dữ liệu của quan hệ tổng thể thành các bảng dữ
liệu độc lập nhưng có cấu trúc giống hệt nhau, sau đó định vị chúng vào các vị
trí thích hợp.
Phương pháp partition sử dụng kỹ thuật phân mảnh ngang cơ sở trong quá trình
phân tán dữ liệu. Các CSDL từ xa kết nối và đồng bộ với nhau thông qua Data
Replication, di chuyển và điều hoà những thay đổi dữ liệu xảy ra sau khi 1
snapshot khởi động (initial snapshot) được tạo. Mỗi merge publication có một
merge agent, liên kết và cập nhật được với cả hai Publisher và Subscriber
22
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
2.7.2 Bài toán
Qua khảo sát thực tế ta thấy công việc quản lý học liệu ở nhiều trường học
còn khá thủ công. Do vậy mục đích của của đề tài này là giảm tới mức tối thiểu
các công việc thủ công để đảm bảo tính chính xác, tin cậy của công việc. Tuy
nhiên để là tốt việc đó cần tìm hiểu kỹ những vấn đề cụ thể mà bài toán đặt ra và
cách giải quyết các vấn đề đó.
Đối tượng cần quản lý là thông tin về tất cả các tài liệu và một số các
thông tin khác của các bộ phận phòng ban.
Khoa :
FieldName Type Constraint
MAKHOA nChar(10) Primary Key
TENKHOA nVarchar(50) Unique, not NULL
Lớp :
FieldName Type Constraint
MALOP nChar(10) Primary Key
TENLOP nVarchar(50) Unique, not NULL
KHOAHOC nchar(9) not NULL
MAKHOA nChar(10) FK, not NULL
Table Sinhvien:
FieldName Type Constraint
MASV nChar(10) Primary key
HO nVarchar(50) not NULL
TEN nVarchar(10) not NULL
MALOP nChar(10) Foreign Key, not NULL
PHAI Bit Default : false (false: Nam; true:
Nữ)
23
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
NGAYSINH DateTime
DIACHI nVarchar(100)
DANGHIHOC Bit Default : false
PASSWORD nVarchar(40) Default: „‟
Niên khóa Học kỳ Học phí Số tiền đã đóng Số tiền cần đóng
(tự động tính, (tự động tính, read
read only) only)
Trên form này, User thêm vào thông tin niên khóa, học kỳ, học phí cả học kỳ,
sau đó click nút Ghi để ghi dữ liệu vào DB; chi tiết đóng học phí sẽ có dạng sau:
Ngày đóng Số tiền đóng
b. Phân quyền: Chương trình có các nhóm : PGV (phòng giáo vụ), KHOA, SV,
PKT (phòng kế toán)
- Nếu login thuộc nhóm PGV thì login đó có thể chọn bất kỳ khoa nào để toàn
quyền làm việc bằng cách chọn tên khoa, và tìm dữ liệu trên phân mảnh tương
ứng. Login nhóm này được tạo tài khoản cho nhóm PGV, Khoa.
26
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
- Nếu login thuộc nhóm Khoa thì ta chỉ cho phép toàn quyền làm việc trên khoa
đã đăng nhập và tìm dữ liệu trên phân mảnh tương ứng để in. Login này được
tạo tài khoản cho nhóm Khoa.
- Nhóm SV chỉ được đăng ký lớp tín chỉ. Tất cả sinh viên đều dùng chung 1
login đăng nhập.
- Nếu login thuộc nhóm PKT thì chỉ được quyền cập nhật dữ liệu đóng học phí
của sinh viên, chỉ được tạo tài khoản mới thuộc cùng nhóm.
Chương trình cho phép ta tạo các login, password và cho login này làm việc với
quyền hạn tương ứng. Căn cứ vào quyền này khi user login vào hệ thống, ta sẽ
biết người đó được quyền làm việc với mảnh phân tán nào hay trên tất cả các
phân mảnh.
c. In ấn : gồm các chức năng sau:
- Danh sách lớp tín chỉ: user nhập vào Niên khóa, học kỳ, chương trình in ra các
lớp tín chỉ đã mở (chưa hủy) trong Niên khóa, học kỳ thuộc khoa mà user đang
chọn. Mẫu in: ( in theo thứ tự tên môn học, nhóm)
KHOA XXXXXXXXXXXX
Niên khóa: ####-#### Học kỳ: #
27
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
BẢNG ĐIỂM HẾT MÔN
KHOA XXXXXXXXXXXX
Niên khóa: ####-#### Học kỳ: #
Môn học: XXXXXXXXXXX – Nhóm: #
28
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
Phòng Đào Tạo tiếp nhận sinh viên nhập học, xếp lớp, mở lớp học phần.
Mỗi sinh viên sẽ nhận được một tài khoản và tự đăng nhập vào hệ thống để
đăng ký học phần.
Phòng Tài Vụ căn cứ vào số tín chỉ sinh viên đăng ký trong mỗi học kỳ để thu
học phí sinh viên.
Kết quả học tập của sinh viên được Phòng Đào Tạo trực tiếp quản lý: nhập
điểm, tổng hợp, phân loại và xét học vụ mỗi hoc kỳ.
Phòng Công Tác sinh viên căn cứ vào kết quả học tập và kết quả tham gia các
hoạt động để xét điểm rèn luyện, xét học bổng.
Khoa trực tiếp quản lý sinh viên về chuyên cần, thông tin đề tài thực tập, nơi
thực tập, đề tài tốt nghiệp, phân giáo viên hướng dẫn.
Ngoài ra, sinh viên cũng có thể đăng nhập vào hệ thống để xem thời khóa
biểu, lịch thi, bảng điểm kết quả học tập và cũng có thể đặt những câu hỏi nếu
có bất cứ vấn đề gì liên quan đến học tập.
3.2. Mô hình cơ sở dữ liệu phân tán trong quản lý
Hệ thống cơ sở dữ liệu quản lý đào tạo nên được tổ chức phân tán tới các bộ
phận (Khoa và các Phòng ban) trong Nhà trường, mỗi bộ phận sẽ có một cơ sở
dữ liệu chứa dữ liệu thuộc phạm vi của bộ phận và vận hành độc lập. Ngoài ra,
cần phải có một cơ sở dữ liệu dành riêng cho sinh viên xem điểm và đăng ký
học phần qua internet. Cơ sở dữ liệu tại Phòng Đào Tạo chứa toàn bộ cơ sở dữ
liệu tại các bộ phận. Để đảm bảo tính chính xác của dữ liệu, cơ sở dữ liệu tại
Phòng Đào Tạo và cơ sở dữ liệu tại các bộ phận trong Nhà trường phải có cơ
chế đồng bộ trực tuyến hai chiều thông qua một hệ thống mạng.
Ngoài server này, đề tài đề xuất một server dành riêng cho Khoa Khoa học máy
tính và một server dành riêng cho sinh viên. Mô hình này được minh họa bằng
hình vẽ bên dưới.
29
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
30
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
hiệu suất hoạt động bị giảm mạnh là điều có cơ sở. Ngày nay, việc tốn không
gian lưu trữ không còn là vấn đề được đặt lên hàng đầu mà là tốc độ xử lý, còn
các nguy cơ xung đột xảy ra khi cập nhật dữ liệu có thể giải quyết được trong hệ
thống quản lý đào tạo (sẽ được trình bày ở phần 3.5).
3.4. Giải pháp đồng bộ cơ sở dữ liệu phân tán
Hiện nay có rất nhiều giải pháp đồng bộ cơ sở dữ liệu phân tán khác nhau
như: Streams trong Oracle, Replication trong SQL Server, IBM Websphere
MQ…, mỗi loại điều có những ưu và nhược riêng. Trong phạm vi bài báo này
sẽ giới thiệu kỹ thuật đồng bộ Replication trong SQL Server.
Hình ảnh thêm vào
31
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
update, delete) và lưu những thay đổi này lên cơ sở dữ liệu phân tán (tại
Distrubutor), những thay đổi này sẽ được chuyển đến các Subscriber theo một
trật tự nhất định.
Merge Replication: Nhân bản này có tính độc lập cao nhất, Publisher và
Subscriber có thể làm việc độc lập và sẽ kết nối với nhau theo những khoảng
thời gian để hội tụ kết quả lại, cả hai Publisher và Subsciber đều có thể cập nhật
dữ liệu. Nếu xung đột xảy ra giữa các server thì những cung đột này sẽ được giải
quyết một cách tự động, khi đó bộ giải quyết đụng độ sẽ chon server có độ ưu
tiên cao hơn.
Merge Replication được thực hiện bởi hai tác nhân là snapshot agent và
merge agent. snapshot agent chuẩn bị những snapshot file chứa lược đồ và
những dữ liệu cần phân bố, lưu những file này vào snapshot folder trên
Distributor. Merger agent thực hiện những công việc khởi tạo snapshot đến
Subscriber, kết hợp những thay đổi dữ liệu xảy ra tại Publisher rồi gởi đến
Subscriber sau khi đã giải quyết tranh chấp.
Đối với mô hình cơ sở dữ liệu phân tán quản lý đào tạo đã trình này phần
trên, ta nhận thấy loại nhân bản Merge Replication là phù hợp với hệ thống nhất
vì loại nhân bản này cho phép cập nhật dữ liệu tại các server và tính độc lập của
các server rất cao. Publisher trong hệ thống quản lý đào tạo chính là server của
Phòng Đào Tạo và các Subscriber chính là các server tại các bộ phận (server
Khoa CNTT, server Khoa Khoa học máy tínhvà server sinh viên).
3.5. Các vấn đề trong đồng bộ dữ liệu
Một trong những vấn đề đáng quan tâm của việc đồng bộ dữ liệu là xung
đột, vấn đề này xảy ra khi hai hay nhiều server cùng một lúc cập nhật trên cùng
một dòng dữ liệu. Replication trong SQL Server giải quyết xung đột bằng cách
gán quyền ưu tiên cho từng server và nếu có xung đột xảy ra thì chọn hành động
cập nhật của server có quyền ưu tiên cao hơn. Tuy nhiên trong hệ thống phân tán
gồm nhiều server đều có khả năng cập nhật dữ liệu, quyền ưu tiên không phải
lúc nào cũng dành cho riêng một server.
32
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
Trong hệ thống cơ sở dữ liệu phân tán quản lý đào tạo các server đều có
quyền cập nhật dữ liệu (thêm, xóa, sửa): server Phòng Khoa cập nhật lớp học
phần, điểm, học phí…; server các khoa cập nhật thông tin lịch trình giảng dạy
của giáo viên, các đề tài sinh viên thực hiện…; server sinh viên cập nhật thông
tin đăng ký học phần. Nhận thấy các quyền này hoàn toàn tách biệt nhau, không
có sự chồng chéo nên việc giải quyết xung đột thực hiện khá dễ dàng. Xem xét
cách trường hợp:
Trường thêm mới (insert) và xóa (delete): Mỗi bộ phận có quyền thêm và xóa
những dòng dữ liệu thuộc phạm vi quyền hạn của bộ phận. Nhận thấy hai trường
hợp cập nhật này hoàn toàn tách biệt giữa các bộ phận nên không có xung đột.
Trường hợp sửa (update): Trong một số quan hệ, Khoa có thể sửa thông tin
trên những dòng dữ liệu mà Phòng Đào Tạo thêm mới chẳng hạn như cập nhật
đề tài của sinh viên, phân công giáo viên hướng dẫn…. Chẳng may, cùng một
lúc Phòng Đào Tạo và Khoa đều sửa thông tin trên một dòng dữ liệu thì sẽ xảy
ra xung đột. Tuy nhiên vì quyền hạn mỗi phòng ban khác nhau nên các thuộc
tính được sửa trên quan hệ của hai phòng ban này cũng khác nhau, sử dụng tính
chất column-level tracking trong quá trình tạo Replication của SQL Server có
thể giải quyết được vấn đề này.
33
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
KẾT LUẬN
34
Báo cáo học phần: Hệ cơ sở dữ liệu phân tán
35