Transaction Managementin Distributed Database Systems: The Case of Oracle’s Two-Phase Commit
GVHD: TS. Hồ Bảo QuốcHVTH: Hà Thiên Phương – 1012031 Võ Thị Hồng Thảo – 1012044
Nội dung trình bày
Giới thiệu Two-phase COMMIT Các mô hình của Two-phase COMMIT Two-phase COMMIT trong Oracle Ví dụ Nh n xetâ
Giới thiệu
Dữ liệu trong các hệ CSDL phân tán được phân mảnh, nhân bản ở nhiều site khác nhau.
Đặt ra vấn đề bảo đảm tính nhất quán, toàn vẹn, tin c yâ của dữ liệu sau khi thực hiện mỗi giao tác.
Two-phase COMMIT là một kỹ thuật quản lý giao tác trong các hệ phân tán.
Nội dung trình bày
Giới thiệu Two-phase COMMIT Các mô hình của Two-phase COMMIT Two-phase COMMIT trong Oracle Ví dụ Nh n xetâ
Two-phase COMMIT (2PC)
Trong Two-phase COMMIT, một giao tác phân tán được thực hiện qua 2 giai đoạn: commit-request và commit
Trong Two-phase COMMIT, có 2 loại thành phần là người điều phối và người tham gia.
Người điều phối là node gắn với ứng dụng thực hiện giao tác.
Two-phase COMMIT
Khởi tạo
Chờ
Hủy commit
Chuẩn bị commit
Thông báo commit đến toàn bộ
Người điều phối
Khởi tạo
Sẵn sàng
Hủy commit
Đồng ý commit
Không đồng ý commit
Nhận được thông báo hủy
Nhận được thông báo commit
Người tham gia
Phase 1
Phase 2
Thông báo hủy đến toàn bộ
Nội dung trình bày
Giới thiệu Two-phase COMMIT Các mô hình của Two-phase COMMIT Two-phase COMMIT trong Oracle Ví dụ Nh n xetâ
Các mô hình của Two-phase COMMIT
Tập trung Tuyến tính Phân tán
2PC tuyến tính
2PC phân tán
Nội dung trình bày
Giới thiệu Two-phase COMMIT Các mô hình của Two-phase COMMIT Two-phase COMMIT trong Oracle Ví dụ Nh n xetâ
Two-phase COMMIT trong Oracle
Session Tree Cơ chế Two-phase COMMIT trong Oracle
Sesion Tree
Trong mỗi giao tác, Oracle xây dựng một Session Tree cho tất cả các node tham gia.
Session Tree mô tả mối quan hệ giữa tất cả các node trong một giao tác, và vai trò của mỗi node.
Mỗi node kèm theo một thành phần gọi là Commit Point Strength, được xác định bởi DBA, dựa vào tính chất của dữ li uê
Sesion Tree
Một node trong Session Tree có thể giữ một hay nhiều vai trò sau: Client NodeDatabase Server NodeGlobal Coordinator NodeLocal Coordinator NodeCommit Point Site
Sesion Tree
Cơ chế Two-phase COMMIT trong Oracle
PREPARE Phase COMMIT Phase
PREPARE Phase
PP bắt đầu khi Gobal Coordinator yêu cầu tất cả các node tham gia (trư node đóng vai trò Commit Point Site) chuân bị commit.
Mỗi node tham gia sau khi trả lời, se vào trạng thái PREPARED. Mỗi node có thể trả lời m t ôtrong 3 tín hi u sau:êPreparedRead-onlyAbort
COMMIT Phase
Khi tất cả các node tham gia trả lời là Prepared thì COMMIT phase bắt đầu.
Node Global Coordinator gởi thông đi p điều êkhiển các tất cả các node commit.
Sơ đồ chi tiết
Nội dung trình bày
Giới thiệu Two-phase COMMIT Các mô hình của Two-phase COMMIT Two-phase COMMIT trong Oracle Ví dụ Nh n xetâ
Ví dụ
City1 là trụ sở chính
M t giao tác se ôảnh hưởng lên database tại trụ sở chính và ít nhất m t city ôkhác
Tại City1, chuyển 1 nhân viên tư City 2 sang City4
Nội dung trình bày
Giới thiệu Two-phase COMMIT Các mô hình của Two-phase COMMIT Two-phase COMMIT trong Oracle Ví dụ Nh n xetâ
Nh n xetâ
Giao thức Two-phase COMMIT trong Oracle có m t số thay đôi:ôQuan tâm tới tính quan trọng của dữ li uêGiảm tinh trạng BLOCKING cho các site quan
trọng khi Global Coordinator có sự cố (vì mạng, phần cứng, phần mềm,...).
Đưa ra khái niệm Read-only, để giảm số lượng site tham gia không cần thiết.
Cám ơn Thầy và các bạn đã theo dõi
Top Related