Tải bản đầy đủ (.ppt) (16 trang)

TIỂU LUẬN MÔN CƠ SƠ DỮ LIỆU NÂNG CAO VẤN ĐỀ XỬ LÝ GIAO DỊCH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (240.92 KB, 16 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Đề tài :

VẤN ĐỀ XỬ LÝ GIAO DỊCH
TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN
Môn
:CSDL nâng cao
Giảng Viên
:PGS.TS. Nguyễn Hà Nam
Học Viên :Lê Ngọc Phú
Nguyễn Huy Hoàng
1/16


Nội dung


Lý do chọn đề tài



CSDL phân tán là gì?



Xử lý giao dịch trong CSDL phân tán



Điều khiển tương tranh trong CSDL phân tán



2/16


Lý do chọn đề tài


Việc xử lý giao dịch trong các ứng dụng là rất
quan trọng.



Một ứng dụng đòi hỏi thực hiện nhiều chương
trình, một chương trình thực hiện nhiều tiến trình



Có thể truy cập một đối tượng ở cùng một thời
điểm.Xảy ra đụng độ, tranh chấp tài nguyên
Nghiên cứu vấn đề này



3/16


CSDL phân tán là gì?







Khái niệm :CSDL phân đoạn và được lưu trên các vị
trí khác nhau trong hệ thống mạng
ứng dụng :ứng dụng được cài đặt ở các trạm phục vụ
cho truy xuất dữ liệu ở đó. Ứng dụng tồn cục, ứng
dụng cục bộ
Phân đoạn:mục đích là hạn chế truy xuất dữ liệu
thừa, phân đoạn giúp thực hiện giao dịch đồng thời ,
truy vân toàn cục chia thành các truy vấn con và thực
hiện đồng thời. Phân đoạn ngang, phân đoạn dọc
4/16


Xử lý giao dịch trong CSDL phân tán


Thế nào là giao dịch ?



Tính chất của giao dịch.
 Tính nguyên tử
 Tính nhất qn
 Tính cơ lập
 Tính bền lâu

5/16



Xử lý giao dịch trong
CSDL phân tán




Ví dụ :
t
T1
T2
Read(X);
X=X – 2 ;
Read(X);
X= X + 1 ;
Write(X) ;
Write(X) ;
Commit; Commit;
Với X=5 kết quả ????
6/16


Xử lý giao dịch trong CSDL phân
tán


Mơ hình xử lý giao dịch.

7/16



Xử lý giao dịch trong CSDL phân
tán





Giải thích hình vẽ :
T – Transacitons, TM - Transactions manager, SScheduler, DM- Data manager, D- Data
Các (T) giao dịch này chứa thao tác đọc, ghi và được
quản lý bởi bộ quản lý giao dịch (TM). TM lại liên kết
các thao tác đọc ghi với các bộ lập lịch, S lại chịu trách
nhiệm sắp xếp việc thực hiện các thao tác của các giao
dịch . Việc đọc, ghi và kiểm soát tương tranh được thực
hiện bởi bộ quạn trị dữ liệu (DM)
8/16


Điều khiển tương tranh trong CSDL
phân tán







Khái niệm về khóa: Dùng cho việc giải quyết vấn đề đồng bộ
hóa dữ liệu trong viêc dùng chung. Mỗi phần tử dữ liệu đều

có một khóa chốt. Bộ lập lịch phải đảm bảo chỉ duy nhất một
giao dịch giữ khóa chột của một mục dữ liệu tại một thời
điểm. Cũng chỉ có một giao dịch truy cập dữ liệu đó tại một
thời điểm
Khóa đọc, khóa ghi
Hai khóa đụng độ nếu chúng cùng khóa một mục dữ liệu
trong các giao dịch khác nhau
Thế nào là đụng độ?.Các thao tác đọc, ghi cùng truy xuất đền
một mục dữ liệu ở một thời điểm trong các giao dịch khác
nhau
9/16


Điều khiển tương tranh trong CSDL
phân tán


Các phương pháp giải quyết vấn đề tương
tranh.


Thuật tốn khóa chốt hai giai đoạn (Two Phase Locking
- 2PL)









Là kỹ thuật giải quyết vấn đề đụng độ trong giao dịch
Bộ lập lịch quản lý khóa chốt, điều khiển khi nào lấy và giải
phóng khóa dữ liệu
Giải quyết việc đồng bộ dữ liệu đọc, ghi trước khi đọc dữ liệu
x khóa rl(x), ghi thì khóa wl(x)
Giai đoạn 1: cho phép nhận các khóa và truy xuất dữ liệu
Giai đoạn 2: giải phịng các khóa đã khóa dữ liệu trong giao
dịch

10/16


Điều khiển tương tranh trong
CSDL phân tán


Thuật tốn khóa chốt hai giai đoạn (Two Phase Locking 2PL)

11/16


Điều khiển tương tranh trong
CSDL phân tán


Thuật toán nhãn thời gian





Ý tưởng : Để đảm bảo tính khả tuần tự của lịch biểu thì
mỗi giao dịch khi tham gia vào hệ thống sẽ được gán
một nhã thời gian duy nhất
Cách thiết lập nhãn :




Bộ xếp lịch đếm các giao dịch đã lập lịch. Khi giao dịch mới
yêu cầu thì tăng giá trị lên và gán cho giao dịch đó. Do đó các
giao dịch thực hiện với thời gian khác nhau.

Mơ tả thuật toán


Một giao dịch thực hiện với nhãn thời gian t, thao tác X ,thời
gian đọc là tr, thời gian ghi là tw.
12/16


Điều khiển tương tranh trong
CSDL phân tán


Mơ tả thuật tốn







Thực hiện thao tác này nếu :
X=read và t>=tw . khi đó gán thời điểm đọc dữ liệu là t
ln nếu t>tr
X=write và t>=tr và t>=tw. Gán thời điểm ghi là t nếu t>tw
Giao dịch khơng thực hiện gì nếu :
X=write và tr<=t<=tw
Hủy bỏ giao dịch nếu
X=read và t
13/16


Điều khiển tương tranh trong
CSDL phân tán


Thuật toán nhãn thời gian


Ví dụ :

14/16


Điều khiển tương tranh trong
CSDL phân tán



Nghi thức kết thúc hai giai đoạn(Two phase commit)



Giai đoạn 1 :

Máy chủ gửi thông báo C-PREPARE tới tất cả các máy chủ khác.
Nếu sắn sàng các máy chủ này gửi lại thông báo C-READY. Một số
máy chủ có thể gửi lại thơng báo C-REFUSE nếu không thực hiện
được giao dịch bởi một lý do nào đó



Giai đoạn 2 :

Nếu nhận được thơng báo C-READY thì nó sẽ gửi lại thơng báo CCOMMIT tới tất cả các máy chủ đó.

Nếu nhận được thơng báo C-REFUSE từ một máy chủ nào đó thì nó
gửi lại thơng báo C-ROLLBACK tới tất cả các máy chủ đó. Giao dịch
thực hiện không thành công
15/16


16/16



×