Oracle.2.Phase.commit Nhom11
-
Upload
baolinh291187 -
Category
Documents
-
view
74 -
download
1
Transcript of Oracle.2.Phase.commit Nhom11
![Page 1: Oracle.2.Phase.commit Nhom11](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/1.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/2.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/3.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/4.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/5.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/6.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/7.jpg)
![Page 8: Oracle.2.Phase.commit Nhom11](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/8.jpg)
![Page 9: Oracle.2.Phase.commit Nhom11](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/9.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/10.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/11.jpg)
2PC tuyến tính
![Page 12: Oracle.2.Phase.commit Nhom11](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/12.jpg)
2PC phân tán
![Page 13: Oracle.2.Phase.commit Nhom11](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/13.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/14.jpg)
Two-phase COMMIT trong Oracle
Session Tree Cơ chế Two-phase COMMIT trong Oracle
![Page 15: Oracle.2.Phase.commit Nhom11](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/15.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/16.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/17.jpg)
Sesion Tree
![Page 18: Oracle.2.Phase.commit Nhom11](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/18.jpg)
Cơ chế Two-phase COMMIT trong Oracle
PREPARE Phase COMMIT Phase
![Page 19: Oracle.2.Phase.commit Nhom11](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/19.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/20.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/21.jpg)
Sơ đồ chi tiết
![Page 22: Oracle.2.Phase.commit Nhom11](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/22.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/23.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/24.jpg)
![Page 25: Oracle.2.Phase.commit Nhom11](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/25.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/26.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022060114/557210e7497959fc0b8de385/html5/thumbnails/27.jpg)
Cám ơn Thầy và các bạn đã theo dõi