Oracle.2.Phase.commit Nhom11

27
Transaction Management in Distributed Database Systems: The Case of Oracle’s Two-Phase Commit GVHD: TS. Hồ Bảo Quốc HVTH: Hà Thiên Phương – 1012031 Võ Thị Hồng Thảo – 1012044

Transcript of Oracle.2.Phase.commit Nhom11

Page 1: Oracle.2.Phase.commit Nhom11

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

Page 2: Oracle.2.Phase.commit Nhom11

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â

Page 3: Oracle.2.Phase.commit Nhom11

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.

Page 4: Oracle.2.Phase.commit Nhom11

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â

Page 5: Oracle.2.Phase.commit Nhom11

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.

Page 6: Oracle.2.Phase.commit Nhom11

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ộ

Page 7: Oracle.2.Phase.commit Nhom11
Page 8: Oracle.2.Phase.commit Nhom11
Page 9: Oracle.2.Phase.commit Nhom11

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â

Page 10: Oracle.2.Phase.commit Nhom11

Các mô hình của Two-phase COMMIT

Tập trung Tuyến tính Phân tán

Page 11: Oracle.2.Phase.commit Nhom11

2PC tuyến tính

Page 12: Oracle.2.Phase.commit Nhom11

2PC phân tán

Page 13: Oracle.2.Phase.commit Nhom11

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â

Page 14: Oracle.2.Phase.commit Nhom11

Two-phase COMMIT trong Oracle

Session Tree Cơ chế Two-phase COMMIT trong Oracle

Page 15: Oracle.2.Phase.commit Nhom11

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ê

Page 16: Oracle.2.Phase.commit Nhom11

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

Page 17: Oracle.2.Phase.commit Nhom11

Sesion Tree

Page 18: Oracle.2.Phase.commit Nhom11

Cơ chế Two-phase COMMIT trong Oracle

PREPARE Phase COMMIT Phase

Page 19: Oracle.2.Phase.commit Nhom11

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

Page 20: Oracle.2.Phase.commit Nhom11

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.

Page 21: Oracle.2.Phase.commit Nhom11

Sơ đồ chi tiết

Page 22: Oracle.2.Phase.commit Nhom11

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â

Page 23: Oracle.2.Phase.commit Nhom11

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

Page 24: Oracle.2.Phase.commit Nhom11
Page 25: Oracle.2.Phase.commit Nhom11

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â

Page 26: Oracle.2.Phase.commit Nhom11

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.

Page 27: Oracle.2.Phase.commit Nhom11

Cám ơn Thầy và các bạn đã theo dõi