®¹i häc quèc gia hμ néi
Tr−êng §¹i Häc Khoa Häc Tù Nhiªn
Khoa C«ng nghÖ Th«ng tin
C¸c c«ng nghÖ sö dông trong
C¬ së d÷ liÖu ph©n t¸n vμ ORACLE
Các công nghệ sử dụng trong CSDL phân tán
T
rang 2
Mục lục
Mục lục 1
Mục lục 2
I. Giới thiệu chung. 5
II. Các đặc điểm chính của hệ phân tán. 5
1. Chia xẻ tài nguyên. 5
2. Tính mở. 8
3. Khả năng song song. 8
4. Khả năng mở rộng. 8
5. Khả năng chịu lỗi. 9
6. Tính trong suốt. 10
III. Các lí do sử dụng CSDL phân tán. 10
1. Xuất phát từ chính yêu cầu thực tế về tổ chức và kinh tế. 10
3. Kết luận. 28
Các công nghệ sử dụng trong CSDL phân tán
T
rang 3
V. Lỗi và chịu lỗi trong hệ phân tán. 28
1. Các khái niệm. 28
2. Các lỗi trong Hệ phân tán. 30
3. Các cách chịu lỗi trong Hệ phân tán. 31
Phần III cơ sở dữ liệu
phân tán trên oraclE 33
I. Các khái niệm cơ bản. 33
1. Snapshot. 33
2. Sao bản cơ sở. 33
3. Các nhóm sao bản ( Replication Groups). 33
4. Các vị trí sao bản (Replication Sites). 34
5. Danh mục sao bản. 34
6. Database link. 34
2. Tạo Read-Only Snapshot. 35
3. Sửa đổi các Snapshot. 37
4. Xoá Snapshot. 38
5. Index Snapshot. 38
6. Sử dụng Snapshot. 38
7. Tạo View và Synonyms dựa trên Snapshot. 38
III. Updatable Snapshot. 39
IV. Các vấn đề cơ bản về Snapshot log. 39
1. Định nghĩa. 39
2. Tạo các Snapshot log. 40
3. Sửa đổi các tham biến của Snapshot log. 41
2. Phạm vi của hệ thống. 69
II. Mô hình phân tán dữ liệu tại WSC. 69
1. Phân tán chức năng hoạt động giữa trung tâm và chi nhánh tại WSC. 69
2. Mô hình dữ liệu chung tại WSC. 70
3. Mô hình dữ liệu phân tán tại WSC. 70
4. Các chú ý khi tạo các bảng tại các chi nhánh trong cấu hình CSDL
phân tán. 71
III. Phân tán dữ liệu khách hàng trong WSC. 76
1. Giới thiệu các thực thể trong ứng dụng quản lí Khách Hàng. 76
2. Thực hiện phân tán CSDL. 77
Tài liệu tham khảo 88
Tài liệu tham khảo 88
Các công nghệ sử dụng trong CSDL phân tán
T
rang 5
phần I tổng quan về hệ cơ sở dữ liệu phân tán
I. Giới thiệu chung.
Định nghĩa: Hệ CSDL phân tán là một tập hợp dữ liệu mà về mặt logic tập
dữ liệu này thuộc về một hệ thống, nhng đợc trải trên các vị trí khác nhau
và chúng có thể kết nối với nhau thông qua một mạng thông tin dữ liệu.
Có hai điểm quan trọng đợc nêu ra trong định nghĩa là:
- Phân tán: Dữ liệu không c trú trên một vị trí, mà đợc phân bố rộng
khắp trên nhiều máy tính đặt tại nhiều vị trí khác nhau.
- Tơng quan logic: Dữ liệu có một số các thuộc tính ràng buộc chúng với
nhau, điều này giúp chúng ta có thể phân biệt một CSDL phân tán với một tập
hợp CSDL cục bộ, các tệp c trú tại các vị trí khác nhau, hay hệ thống CSDL
phân quyền trong một mạng máy tính.
Hệ thống mạng thông tin cho phép ngời dùng chia sẻ dữ liệu, vì vậy
Việc xử lý hợp tác Client-Server thực tế là một dạng riêng của xử lý phân
tán với tài nguyên (và nhiệm vụ ảnh hởng tới tài nguyên) đợc trải qua hai
hay nhiều hệ thống tính toán rời rạc.
Mô hình xử lý Client-Server đã nổi lên nh một mức cao hơn của việc xử
lý dùng chung thiết bị đã có trong mang cục bộ (LAN). Trong môi trờng xử
lý dùng chung thiết bị, các máy tính cá nhân (PC) đợc gắn với thiết bị hệ
thống để cho phép các PC này dùng chung tài nguyên tệp trên đĩa cứng và
máy in là các thí dụ tiêu biểu. Theo thuật ngữ LAN, các thiết bị dùng chung
nh vậy đợc gọi là các Server (phục vụ). Tên phục vụ là thích hợp hơn cả vì
các thiết bị dùng chung này dùng để nhận các yêu cầu cần phục vụ từ các PC.
Trong xử lý dùng chung thiết bị trên LAN, các yêu cầu của PC này thờng bị
giới hạn về các dịch vụ liên quan tới tệp dùng chung hay tệp xử lý in. Nhợc
điểm hiển nhiên của cách tiếp cận nh vậy là ở chỗ mọi xử lý ứng dụng đều
đợc thực hiện trên các PC riêng lẻ, và chỉ một chức năng nào đó (in, vào ra
tệp) mới là phân tán. Do đó, toàn bộ tệp phải đợc gửi cho một PC đã ban ra
yêu cầu READ tệp đó. Nếu tệp đợc cập nhật thì toàn bộ tệp đó bị khoá bởi
PC đã tạo ra yêu cầu cập nhật tệp đó.
Chính vì các lý do trên mà mô hình xử lý Client-Server là việc mở rộng tự
nhiên của việc dùng chung thiết bị và vai trò của các trạm làm việc trở thành
khách của máy chủ. Phần có ý nghĩa nhất của mô hình này là xử lý ứng dụng
đợc phân chia (không nhất thiết phải chia đều) giữa Client và Server. Xử lý
thực tế đợc khởi đầu và kiểm soát một phần bởi nơi yêu cầu dịch vụ là Client
nhng không phải theo kiểu chủ-khách. Thay vì điều đó, cả Client và Server
đều hợp tác để thực hiện thành công ứng dụng. Chẳng hạn nếu PC chạy
chơng trình cần một bản ghi đặc biệt nào đó từ một tệp dùng chung thì nó sẽ
Các công nghệ sử dụng trong CSDL phân tán
T
rang 7
chuyển yêu cầu cho Server CSDL tiến hàng xử lý cục bộ rồi nhận lại đúng bản
T
rang 8
2. Tính mở.
Tính mở của một hệ thống máy tính là tính dễ dàng mở rộng phần cứng
(thêm các thiết bị ngoại vi, bộ nhớ, các giao diện truyền thông ) và phần
mềm (Các mô hình hệ điều hành, các giao thức truyên thông, các dịch vụ
dùng chung tài nguyên ) của nó.
Một Hệ phân tán có tính mở là hệ có thể đợc tạo nên từ nhiều loại phần
cứng và phần mềm của nhiều nhà cung cấp khác nhau với điều kiện là các
thành phần này phải theo một tiêu chuẩn chung.
Tính mở của Hệ phân tán đợc xem xét theo mức độ 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 (hay các giao diện chính là phổ dụng).
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.
3. 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 tính có thể có một hay nhiều CPU. Trong cùng một thời điểm nếu có
N tiến trình cùng tồn tại, ta nói chúng đợc thực hiện đồng thời. Việc thực
hiện các tiến trình theo cơ chế phân chia thời gian (một CPU) hay song song
(nhiều CPU).
Khả năng làm việc song song trong Hệ phân tán đợc thực hiện do hai tình
huống sau:
- Nhiều ngời sử dụng đồng thời đa ra các lệnh hay 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 đáp ứng yêu cầu từ
thế nhau khi có sự cố xuất hiện. Khi không có sự cố các Server hoạt động bình
thờng (nghĩa là vẫn phục vụ các yêu cầu từ Client). Khi có sự cố trên một
Server nào đó, các ứng dụng Client tự chuyển hớng sang các Server còn lại.
Với cách thứ hai thì các phần mềm phục hồi đợc thiết kế sao cho trạng
thái dữ liệu hiện thời (trạng thái trớc khi xảy ra sự cố) có thể đợc khôi phục
khi lỗi đợc phát hiện.
Các hệ phân tán cung cấp khả năng sẵn sàng cao để đối phó với các sai
hỏng phần cứng. Khả năng sẵn sàng của hệ thống đợc đo bằng tỷ lệ thời gian
mà hệ thống sẵn sàng làm việc so với thời gian có sự cố. Khi một máy trên
mạng bị sai hỏng thì chỉ có công việc liên quan đến các thành phần sai hỏng
Các công nghệ sử dụng trong CSDL phân tán
T
rang 10
bị ảnh hởng. Ngời sử dụng có thể chuyển đến một trạm khác nếu máy họ
đang sử dụng bị hỏng, một tiến trình Server có thể đợc khởi động lại trên một
máy khác.
6. Tính trong suốt.
Tính trong suốt của hệ phân tán đợc hiểu nh là sự 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. Ngời sử dụng có quyền truy cập đến dữ liệu nằm tại bất cứ vị trí nào.
Các thao tác để lấy hoặc cập nhật dữ liệu tại một điểm dữ liệu ở xa đợc tự
động thực hiện bởi hệ thống tại điểm đa ra yêu cầu. Ngời sử dụng không
cần biết đến sự phân tán của tất cả dữ liệu trên mạng dờng nh nằm ở máy
tính cục bộ của ngời sử dụng.
III. Các lí do sử dụng CSDL phân tán.
Tuy việc quản trị một hệ thống CSDL phân tán gặp nhiều khó khăn hơn so
với hệ CSDL tập trung nhng xu hớng xây dựng các hệ CSDL phân tán ngày
càng phát triển và có nhiều ứng dụng trong thực tế vì các nguyên nhân sau:
1. Xuất phát từ chính yêu cầu thực tế về tổ chức và kinh tế.
mở rộng này có ảnh hởng lớn không chỉ trên các ứng dụng mới mà còn trên
các ứng dụng đang tồn tại.
4. Làm giảm tổng chi phí tìm kiếm.
Việc phân tán dữ liệu cho phép các nhóm làm việc cục bộ có thể kiểm soát
toàn bộ dữ liệu của họ. Tuy vậy tại cùng thời điểm, ngời sử dụng có thể truy
cập đến dữ liệu ở xa nếu cần thiết. Tại các vị trí cục bộ, thiết bị phần cứng có
thể đợc chọn sao cho phù hợp với công việc xử lý dữ liệu cục bộ tại điểm đó.
5. Trả lời truy vấn nhanh.
Dựa trên cách thức dữ liệu đợc phân tán, hầu hết các yêu cầu truy vấn dữ
liệu từ ngời dùng tại bất kỳ vị trí cục bộ nào đều đợc thoả mãn bởi dữ liệu
ngay tại thời điểm đó. Điều này làm tăng đáng kể tiến trình xử lý các yêu cầu
truy vấn dữ liệu của ngời dùng. Hệ thống CSDL phân tán còn cho phép các
bảng truy vấn phức tạp có thể chia thành nhiều bảng nhỏ để có thể thực hiện
tiến trình xử lý song song cùng lúc trên nhiều vị trí cục bộ khác nhau. Kỹ
thuật này cũng nâng cao tốc độ xử lý dữ liệu trên hệ thống.
6. Độ tin cậy và khả năng sử dụng đợc nâng cao.
Khi hệ thống CSDL tập trung bị hỏng, toàn bộ CSDL trở nên vô dụng với
tất cả ngời sử dụng. Còn đối với hệ thống CSDL phân tán, nếu có một thành
phần nào đó của hệ thống bị hỏng, hệ thống vẫn có thể duy trì hoạt động tuy
nhiên cũng không thể hiệu quả nh khi nó còn hoàn hảo. Dù sao, việc thu
Các công nghệ sử dụng trong CSDL phân tán
T
rang 12
đợc mục đích này không phải không rắc rối và đòi hỏi sử dụng các kỹ thuật
vẫn cha đợc hiểu biết hoàn chỉnh. Khả năng xử lý tự trị của các vị trí khác
nhau tự nó không đảm bảo một tính tin cậy toàn bộ cao của hệ thống, nhng
nó đảm bảo một thuộc tính graceful degration. Nói một cách khác, sự cố trong
CSDL phân tán có thể thờng xuyên hơn một CSDL tập trung vì có số lợng
thành phần lớn hơn, nhng hậu quả của sự cố đợc hạn chế chỉ tới các ứng
Sơ đồ tổng thể
Sơ đồ định vị
Sơ đồ ánh xạ địa phơng 2
Sơ đồ ánh xạ địa phơng 1
DBMS của vị trí 1
DBMS của vị trí 2
CSDL địa phơng
tại vị trí 1
Các vị trí khác
: :
::
CSDL địa phơng
tại vị trí 2
Hình 1.II: Kiến trúc Hệ CSDL phân tán
1. Sơ đồ tổng thể.
Định nghĩa tất cả dữ liệu sẽ đợc lu trữ trong CSDL phân tán. 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ể.
2. Sơ đồ phân đoạn.
Mỗi quan hệ tổng thể có thể chia thành một vài phần tơng đối độc lập với
nhau đợc gọi là fragments (đoạn). Có nhiều cách khác nhau để thực hiện việc
phân chia này: Phân đoạn ngang, phân đoạn dọc, phân đoạn hỗn hợp sẽ đợc
trình bày trong các phần sau.
Các công nghệ sử dụng trong CSDL phân tán
T
rang 14
3. Sơ đồ định vị:
Fragments (các đoạn) là các phần logic của quan hệ tổng thể đợc định vị
rang 15
Thiết kế các lợc đồ quan niệm
Thiết kế CSDL vật lí
Thiết kế phân đoạn
Thiết kế sự phân phối các thành phần
Hình 2.II: Sơ đồ thiết kế chung cho CSDL phân tán
2. Các phơng pháp thiết kế hệ CSDL phân tán.
Theo khung làm việc chung cho thiết kế hệ CSDL phân tán, đến nay có hai
phơng pháp thiết kế điển hình là: TOP-DOWN và BOTTOM-UP.
A. Phơng pháp TOP-DOWN:
TOP-DOWN: Là phơng pháp thiết kế từ trên xuống và đợc chia ra làm
nhiều giai đoạn, mỗi giai đoạn đều có nhiệm vụ riêng, giai đoạn này nối tiếp
giai đoạn kia, đầu ra của giai đoạn trớc đợc làm đầu vào cho giai đoạn kế
tiếp sau nó.
Sơ đồ thiết kế CSDL phân tán theo mô hình TOP_DOWN (Hình 3.II):
Các định nghĩa: Định nghĩa môi trờng hệ thống, dữ liệu và các tiến trình
cho tất cả những khả năng về dữ liệu của ngời sử dụng.
Tài liệu về những điều kiện cần thiết nằm trong hai tham số: Thiết kế
View và Thiết kế mức quan niệm.
Thiết kế View: Hoạt động phân phối với sự định nghĩa những cái chung
cho ngời sử dụng.
Thiết kế mức quan niệm: Là một tiến trình kiểm tra và xác định rõ hai
nhóm quan hệ Phân tích thực thể và Phân tích chức năng:
a. Phân tích thực thể: Liên quan tới sự xác định các loại thực thể, các thuộc
tính và các mối quan hệ giữa chúng.
b. Phân tích chức năng: Xác định các chức năng cơ sở.
Các công nghệ sử dụng trong CSDL phân tán
kiểm tra
Trao đổiTrao đổi
View Integration
User
input
Hình 3.II: Sơ đồ thiết kế CSDL phân tán theo mô hình TOP-DOWN
Thiết kế phân tán: Thiết kế phân tán bao gồm hai phần phân đoạn và định
vị CSDL.
Lợc đồ mức quan niệm: Tạo ra các lợc đồ CSDL mức quan niệm.
Thiết kế vật lý: Thực hiện ánh xạ các lợc đồ CSDL mức quan niệm ra các
đơn vị lu trữ vật lí có giá trị tại các vị trí tơng ứng.
Bộ kiểm tra: Kiểm tra các giai đoạn của quá trình thiết kế CSDL. Nếu một
giai đoạn bị sai sẽ tiến hành thiết kế lại.
Các công nghệ sử dụng trong CSDL phân tán
T
rang 17
Phơng pháp TOP-DOWN là có hiệu quả khi một hệ thống CSDL đợc
thiết kế từ đầu. Tuy nhiên trong thực tế có một số hệ CSDL đã tồn tại thì
nhiệm vụ của ngời thiết kế là liên kết chúng lại thành một thể thống nhât
trong CSDL mới, khi đó ngời thiết kế thờng sử dụng phơng pháp
BOTTOM_UP.
B. Phơng pháp BOTTOM-UP.
BOTTOM-UP: Là phơng pháp ngợc lại với phơng pháp TOP_DOWN.
Trong thiết kế CSDL phân tán BOTTOM-UP sẽ bắt đầu thiết kế những lợc
đồ ở mức quan niệm sao cho chúng độc lập với nhau. Sau đó chúng đợc kết
hợp lại trong một sơ đồ tổng thể ( Global Conceptual schema ).
3. Thiết kế CSDL phân đoạn.
Thiết kế phân đoạn là một trong những đặc trng cơ bản trong thiết kế
Thực hiện phân đoạn ngang cơ sở thành hai quan hệ KHACH_HANG1 và
KHACH_HANG2:
KHACH_HANG1:
MAKH TENKH DIACHI CHINHANH
J1 Jonh 21 Ly Nam De SaiGon
J3 Bill 106 Ton Duc Thang SaiGon
KHACH_HANG2:
MAKH TENKH DIACHI CHINHANH
J2 Mary 16 Tran Phu ChoLon
J4 Clark 12 Ba Trieu ChoLon
Nh vậy thực chất của quá trình phân đoạn ngang là thực hiện câu lệnh
SELECT với các điều kiện cụ thể. Trong ví dụ trên có hai câu lệnh SELECT
đợc thực hiện là:
KHACH_HANG1:
Create table KHACH_HANG1 as
Select MAKH, TENKH, DIACHI, CHINHANH from KHACH_HANG
where CHINHANH = 'SAIGON";
KHACH_HANG2:
Create table KHACH_HANG2 as
Select MAKH, TENKH, DIACHI, CHINHANH from KHACH_HANG
where CHINHANH = 'CHOLON";
Các công nghệ sử dụng trong CSDL phân tán
T
rang 19
Phân đoạn ngang suy diễn: Bắt nguồn từ kết quả của quá trình phân
đoạn ngang cơ sở, phân đoạn ngang suy diễn đợc sử dụng để kết nối các
đoạn, tạo ra CSDL thích hợp cho các ứng dụng. Quá trình kết nối yêu cầu phải
T
rang 20
select KHACH-HANG1.MAKH, TENKH, DIACHI, CHINHANH,
DIENTHOAI from KHACH_HANG1,DIENTHOAI
where KHACH_HANG1.MAKH = DIENTHOAI.MAKH;
KH-DT2:
Create table KH-DT2 as
select KHACH-HANG2.MAKH, TENKH, DIACHI, CHINHANH,
DIENTHOAI from KHACH_HANG2,DIENTHOAI
where KHACH_HANG2.MAKH = DIENTHOAI.MAKH;
+ Phân đoạn dọc: Phân đoạn tập chung ở các thuộc tính, trong các thuộc
tính của quan hệ chọn ra thuộc tính kết nối. Kết quả thu đợc là một tập các
quan hệ con, chúng có thể kết nối lại tạo thành quan hệ tổng thể.
Ví dụ: Thực hiện phân đoạn dọc với thuộc tính liên kết là MAKH từ quan
hệ KH-DT2, ta thu đợc hai quan hệ QH1 và QH2 nh sau:
QH1:
MAKH TENKH DIACHI
J2 Mary 16 Tran Phu
J4 Clark 12 Ba Trieu
QH2:
MAKH CHINHANH DIENTHOAI
J2 ChoLon 9.564.734
J4 ChoLon 8.372.564
Quá trình phân đoạn dọc thực chất là thực hiện phép chiếu (Project) các
thuộc tính của quan hệ tổng thể thành các quan hệ con. Trong ví dụ trên có hai
câu lệnh đợc thực hiện là:
QH1: Create table QH1
as select MAKH, TENKH, DIACHI from KH-DT2;
khả năng sau:
- Khả năng phục hồi: Hệ thống phục hồi nhanh khi có nhiều kiểu lỗi xảy
ra. Khi các lỗi xảy ra, hệ thống có thể chịu đựng đợc và tiếp tục cung cấp các
dịch vụ.
Các công nghệ sử dụng trong CSDL phân tán
T
rang 22
- Khôi phục: Hệ thống đạt đợc trạng thái nhất quán sẽ trở về trạng thái
nhất quán trớc đó hoặc tiếp tới trạng thái nhất quán mới sau khi xảy ra lỗi.
Nhất quán giao tác liên quan tới sự thực hiện các truy nhập trùng nhau.
Việc quản lý giao tác tiếp xúc với các vấn đề : Giữ cho CSDL trong trạng
thái nhất quán khi xảy ra các truy nhập trùng nhau và các lỗi.
2. Các điều kiện kết thúc của giao tác.
Giao tác kết thúc khi toàn bộ công việc của nó thành công, hay nói một
cách khác là giao tác chuyển giao (Commit), ngợc lại nếu một giao tác dừng
lại trong khi cha hoàn thành các công việc của nó chúng ta nói giao tác bị
loại bỏ (Abort).
Giao tác bị loại bỏ vì một số nguyên nhân sau:
- Một điều kiện không thoả mãn không cho giao tác hoàn thành các công
việc của nó.
- DBMS loại bỏ giao tác, ví dụ khoá chết hoặc các điều kiện khác.
Khi một giao tác bị loại bỏ, quá trình thực hiện của nó bị dừng lại và toàn
bộ công việc đã làm đợc loại bỏ để đa CSDL về trạng thái trớc khi thực
hiện giao tác, điều này cũng đợc hiểu nh Rollback.
Cũng có trờng hợp ngời sử dụng do một số thông tin đầu vào bị sai, một
số điều kiện không đợc thoả mãn và có thể do yêu cầu của hệ thống nh quá
tải, tắc nghẽn.
3. Các thuộc tính của giao tác.
Tính nguyên tố:
Tính biệt lập:
Một giao tác khi đang đợc thực hiện thì các giao tác khác không thể sử
dụng các kết quả trung gian của các giao tác này.
Tính bền vững:
Mỗi khi giao tác đợc chuyển giao thì hệ thống phải đảm bảo chắc chắn
là kết quả sẽ không bị ảnh hởng bởi các lỗi đến sau.
3. Các loại giao tác.
Giao tác đợc phân loại theo một số tiêu chuẩn sau:
Phân loại theo vùng ứng dụng:
Giao tác thông thờng: Cập nhật dữ liệu trên một vị trí.
Các công nghệ sử dụng trong CSDL phân tán
T
rang 24
Giao tác phân tán: Thao tác trên dữ liệu phân tán.
Phân loại theo khoảng thời gian làm việc:
Giao tác trực tuyến: Thời gian trả lời rất ngắn.
Giao tác gói: Thời gian trả lời dài.
Giao tác đàm thoại: Thực hiện bởi tác động qua lại với ngời sử dụng.
4. Kiến trúc của giao tác.
+ Bộ quản lý giao tác: Thực hiện các thao tác CSDL thay cho ứng dụng.
+ Bộ lập lịch (SC): Thực hiện một thuật toán điều khiển tơng tranh để
đồng bộ các truy nhập vào CSDL.
Tham dự việc quản lý giao tác là hệ quản lý phục hồi giao tác địa phơng
trên mỗi vị trí.
+ 5 lệnh của một giao tác:
Begin_Transaction, Read, Write, Commit và Abort.
Bộ quản lý
giao tác (TM)
T
rang 25
Các thuật toán điều khiển tơng tranh chia làm hai loại: Pessimistic và
Optimistic.
1. Khái niệm xung đột và lịch đầy đủ.
Quy ớc: O
ij
(x) là thao tác Oj của giao tác Ti trên mục dữ liệu x.
Oj={Read, Write}. O
kl
(x) cũng đợc quy ớc tơng tự.
Xung đột: O
ij
(x) và O
kl
(x) đợc gọi là xung đột nếu tối thiểu một trong hai
thao tác là viết (W),và không nhất thiết i phải khác k.
Lịch đầy đủ: Định nghĩa thứ tự thực hiện của các thao tác.
2. Các cơ chế điều khiển tơng tranh.
a. Cơ chế Optimistic:
áp dụng cơ chế này khi số giao tác xung đột không nhiều lắm.
Cơ chế Optimistic qua định: Trong khi một giao tác đang thực hiện, nếu
xuất hiện xung đột cơ chế này sẽ đợi cho giao tác kết thúc sau đó mới xử lý
các xung đột (Trễ việc đồng bộ các giao tác đến khi kết thúc chúng).
b. Cơ chế Pessimistic:
Cơ chế này đợc áp dụng khi môi trờng có nhiều giao tác xung đột.
Cơ chế Pessimistic thực hiện xử lý các xung đột ngay sau khi chúng đợc
phát hiện ( đồng bộ việc thực hiện các giao tác tơng tranh sớm trong chu kỳ
thực hiện chúng ).
c. Cơ chế dựa vào khoá: