Amazon Aurora MySQL Bài 3: Khái niệm Storage Volume và cơ chế tự động nhân bản 6 bản sao (6-way replication)
1. Khái niệm Aurora Storage Volume là gì?
Trong cụm cơ sở dữ liệu Aurora MySQL, bạn không cần cấp phát (provision) một dung lượng ổ cứng cụ thể ban đầu như 100GB hay 500GB rồi lo lắng việc hết dung lượng.
-
Virtual Volume: Aurora Storage Volume là một không gian lưu trữ ảo hóa duy nhất gắn liền với cụm database.
-
Auto-Expanding: Dung lượng của Volume này tự động mở rộng linh hoạt theo lượng dữ liệu thực tế phát sinh trong cơ sở dữ liệu của bạn, tăng dần từng khối 10 GB cho đến giới hạn tối đa hiện tại là 128 TB mà không gây ra bất kỳ thời gian downtime hay độ trễ nào cho ứng dụng.
2. Cơ chế nhân bản 6 bản sao (6-Way Replication Architecture)
Độ bền và tính sẵn sàng cao của Aurora không đến từ việc sao chép toàn bộ máy chủ cơ sở dữ liệu, mà đến từ tầng lưu trữ phân tán với mô hình nhân bản độc đáo:
-
Phân phối trên 3 Availability Zones (AZs): Mỗi khối dữ liệu 10GB trong Aurora Storage Volume được tự động nhân bản thành 6 bản sao vật lý khác nhau.
-
Cấu trúc phân bổ: 6 bản sao này được rải đều trên ít nhất 3 AZs trong cùng một AWS Region (mỗi AZ chứa 2 bản sao dữ liệu).
Mô hình phân bổ này giúp hệ thống chống chịu được các thảm họa lớn ở cấp độ hạ tầng trung tâm dữ liệu:
-
Mất hoàn toàn 1 Availability Zone (ví dụ do sự cố điện lưới hoặc đứt cáp quang nội bộ).
-
Đồng thời hỏng thêm 1 bản sao lẻ ở một AZ khác.
-
Hệ thống vẫn duy trì hoạt động bình thường, không mất dữ liệu và tiếp tục phục vụ các câu lệnh đọc/ghi của ứng dụng.
3. Cơ chế Quorum (Biểu quyết) trong Đọc và Ghi
Vì dữ liệu được phân tán thành 6 bản sao trên các thiết bị độc lập, Aurora sử dụng mô hình Quorum-based voting để đảm bảo tính nhất quán (Consistency) và hiệu năng:
-
Write Quorum (Ghi thành công): Khi ứng dụng thực hiện câu lệnh ghi, Aurora chỉ yêu cầu nhận được xác nhận từ 4 trên tổng số 6 bản sao () là hoàn tất. Điều này giúp tối ưu tốc độ ghi mà không phải chờ đợi tất cả 6 bản sao đồng bộ hoàn toàn cùng một khoảnh khắc.
-
Read Quorum (Đọc thành công): Khi đọc dữ liệu, Aurora chỉ cần lấy phản hồi từ 3 trên tổng số 6 bản sao () có version mới nhất là có thể trả về kết quả cho tầng compute.
4. Cơ chế tự phục hồi nền (Self-Healing Storage)
Ở cơ sở dữ liệu truyền thống, nếu một ổ cứng bị hỏng (bad sector), kỹ sư hệ thống phải thay thế phần cứng và thực hiện đồng bộ lại dữ liệu thủ công hoặc qua RAID chậm chạp.
-
Trong Aurora, tầng storage có các tiến trình chạy ngầm liên tục kiểm tra tính toàn vẹn của dữ liệu (checksum blocks).
-
Nếu phát hiện một trong 6 bản sao bị lỗi hoặc mất kết nối phần cứng, tầng storage sẽ tự động cô lập và khôi phục bản sao đó bằng cách lấy dữ liệu từ các bản sao còn lại trong nền mà không làm ảnh hưởng đến tài nguyên CPU/RAM của Writer/Reader Instance.
5. Góc nhìn vận hành cho Backend Engineer
-
Độ bền dữ liệu 11 số 9 (): Nhờ cơ chế 6-way replication và tự phục hồi thông minh, xác suất mất mát dữ liệu trên Aurora Storage Volume là cực kỳ thấp.
-
Loại bỏ bài toán quản lý RAID/Disk: Backend developer hoặc DevOps hoàn toàn rảnh tay khỏi các cấu hình phần cứng phức tạp, tập trung hoàn toàn vào việc tối ưu hóa câu lệnh SQL và logic nghiệp vụ.
All Rights Reserved