intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Các hệ quản trị cơ sở dữ liệu: Transaction - ThS. Hoàng Mạnh Hà

Chia sẻ: Sơn Nam | Ngày: | Loại File: PDF | Số trang:89

250
lượt xem
22
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng "Các hệ quản trị cơ sở dữ liệu: Transaction" cung cấp cho người đọc các kiến thức: Giới thiệu về giao dịch (Transaction), lịch trình, giao dịch trong SQL. Mời các bạn cùng tham khảo nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Các hệ quản trị cơ sở dữ liệu: Transaction - ThS. Hoàng Mạnh Hà

  1. Transaction ThS. Hoàng Mạnh Hà hoangha84@gmail.com https://sites.google.com/site/hoangha84
  2. Nội dung • Giới thiệu về Giao dịch (Transaction). • Các tính chất của giao dịch. • Các thành phần xử lý giao dịch trong HQT CSDL. • Các trạng thái của giao dịch. SGU - Khoa CNTT - Hệ quản trị cơ sở dữ liệu • Lịch trình: • Khái niệm • Lịch trình tuần tự • Tính khả tuần tự • Khả tuần tự xung đột • Một số bài tập • Khả tuần tự view • Giao dịch trong SQL 2
  3. Khái niệm GIỚI THIỆU VỀ GIAO DỊCH SGU - Khoa CNTT - Hệ quản trị 3 cơ sở dữ liệu
  4. Multi-user System • 1 cách phân loại HQT CSDL khác là dựa trên số lượng người sử dụng đồng thời: • Single-user • Multi-user: hầu hết các HQT CSDL SGU - Khoa CNTT - Hệ quản trị cơ sở dữ liệu • Xử lý xen kẽ (Interleaved processing) • Xử lý song song (Parallel processing) 4
  5. Khái niệm Giao dịch (giao tác) • Là một chương trình được thực thi đóng vai trò như một đơn vị xử lý truy xuất CSDL. • Một giao dịch có thể gồm những xử lý trên 1 hoặc nhiều CSDL. SGU - Khoa CNTT - Hệ quản trị cơ sở dữ liệu • Giao dịch có thể được viết trong ngôn ngữ SQL hoặc một ngôn ngữ lập trình nào đó. 5
  6. Khái niệm Giao dịch • Begin Transaction … Commit/Rollback Transaction • Các hoạt động được thực hiện bên trong tạo thành một giao dịch. • Để đảm bảo tính toàn vẹn của dữ liệu, phải đảm bảo các tính SGU - Khoa CNTT - Hệ quản trị cơ sở dữ liệu chất của giao dịch: • Tính nguyên tử (Atomicity) • Tính nhất quán (Consistency) • Tính cô lập (Isolation) • Tính bền vững (Durability) 6
  7. SGU - Khoa CNTT - Hệ quản trị cơ sở dữ liệu Các tính chất của giao dịch GIỚI THIỆU VỀ GIAO DỊCH 7
  8. Các tính chất của Transaction • Tính nguyên tử (Atomicity): Hoặc toàn bộ các hoạt động của giao dịch được phản ánh đúng trong CSDL hoặc là không có gì. SGU - Khoa CNTT - Hệ quản trị cơ sở dữ liệu • Tính nhất quán (Consistency): Khi một giao dịch thành công, phải đảm bảo sự nhất quán của CSDL trước và sau khi xảy ra giao dịch. 8
  9. Các tính chất của Transaction • Tính cô lập (Isolation): cho dù có nhiều giao dịch được thực hiện đồng thời thì kết quả cuối cùng phải đảm bảo sự tương đương với thực thi các giao dịch đó một cách tuần tự  Sự “Cô lập” của các giao dịch. SGU - Khoa CNTT - Hệ quản trị cơ sở dữ liệu • Tính bền vững (Durability): Sau khi một giao dịch thành công, các thay đổi với CSDL phải còn nguyên cho dù có xảy ra sự cố hệ thống. 9
  10. SGU - Khoa CNTT - Hệ quản trị 10 cơ sở dữ liệu
  11. Đọc/ghi dữ liệu • CSDL nằm trên đĩa. • Các truy xuất CSDL gồm: • Đọc nội dung X: lấy nội dung X từ CSDL trên đĩa ghi vào vùng nhớ đệm của giao dịch. SGU - Khoa CNTT - Hệ quản trị cơ sở dữ liệu • Ghi nội dung X: chép nội dung X từ vùng nhớ đệm của giao dịch vào lại CSDL trên đĩa. • Thực tế: Write không nhất thiết là thực hiện việc ghi vào CSDL trên đĩa mà có thể ghi tạm trên bộ nhớ và ghi vào đĩa muộn hơn. 11
  12. Ví dụ • T là một giao dịch chuyển 50 từ Tài khoản A sang B. • Read(A); • A=A-50; • Write(A); SGU - Khoa CNTT - Hệ quản trị cơ sở dữ liệu • Read(B); • B=B+50; • Write(B); 12
  13. ACID • Tính nguyên tử (A): Sự cố xảy ra sau Write(A) và trước Read(B)  ? • Tính nhất quán (C): Tổng A và B là không đổi khi thực hiện T (Tiền không tạo ra hoặc mất đi khi thực hiện giao dịch) SGU - Khoa CNTT - Hệ quản trị cơ sở dữ liệu • Tồn tại thời điểm hệ thống ở trạng thái không nhất quán  cần phải có tính nguyên tử. 13
  14. ACID • Tính cô lập (I): ngay cả khi A và C được đảm bảo cho mỗi giao dịch, trạng thái không nhất quán vẫn có thể xảy ra khi một số giao dịch xảy ra đồng thời. • VD: tại thời điểm không nhất quán tạm thời khi thực hiện T  1 giao dịch khác xảy ra. SGU - Khoa CNTT - Hệ quản trị cơ sở dữ liệu • Xử lý đơn giản: thực hiện tuần tự các giao dịch  giảm hiệu năng hệ thống. 14
  15. ACID • Tính bền vững (D): giả sử xảy ra sự cố mất dữ liệu trên bộ nhớ, dữ liệu trên đĩa không mất. • Đảm bảo tính bền vững: • Đảm bảo các thay đổi đã được viết trên đĩa trước khi giao dịch kết SGU - Khoa CNTT - Hệ quản trị cơ sở dữ liệu thúc. • Thông tin về những thay đổi do giao dịch được viết trên đĩa đủ để xây dựng lại CSDL khi hệ thống khởi động lại sau sự cố. 15
  16. Các loại sự cố (Failures) • Computer failure (System crash) • Transaction/System error: integer overflow, division by zero, user’s interruption… • Local errors/exception conditions detected by transaction: data SGU - Khoa CNTT - Hệ quản trị cơ sở dữ liệu not found • Concurrency control enforcement • Disk failure • Physical problems and catastrophes: fire, theft… 16
  17. SGU - Khoa CNTT - Hệ quản trị cơ sở dữ liệu Các thành phần xử lý giao dịch trong HQT CSDL GIỚI THIỆU VỀ GIAO DỊCH 17
  18. Thành phần của HQT CSDL • Đảm bảo tính nguyên tử: thành phần quản trị giao dịch (transaction management component). • Đảm bảo tính bền vững: thành phần quản trị phục hồi (recovery management component). SGU - Khoa CNTT - Hệ quản trị cơ sở dữ liệu • Đảm bảo tính cô lập: thành phần quản trị cạnh tranh (concurrency control component) 18
  19. Tình huống xem xét • 2 giao dịch T1 và T2 như sau SGU - Khoa CNTT - Hệ quản trị cơ sở dữ liệu 19
  20. Sự cần thiết của Thành phần quản trị cạnh tranh SGU - Khoa CNTT - Hệ quản trị cơ sở dữ liệu 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0