Bảng toàn cầu của Amazon DynamoDB
Bảng toàn cầu là gì?
Bảng toàn cầu DynamoDB là cơ sở dữ liệu được quản lý toàn phần, phi máy chủ, đa Khu vực và đa hoạt động. Bảng toàn cầu cung cấp cho bạn độ sẵn sàng lên đến 99,999%, tăng khả năng phục hồi ứng dụng và cải thiện tính liên tục trong kinh doanh. Bảng toàn cầu tự động sao chép các bảng tại các Khu vực AWS mà bạn chọn để giúp bạn đạt hiệu năng ghi và đọc cục bộ nhanh chóng.
Nếu quá trình xử lý ứng dụng của bạn bị gián đoạn ở một Khu vực, bạn không cần chuyển đổi dự phòng cơ sở dữ liệu vì kiến trúc đa hoạt động của bảng toàn cầu cho phép khách hàng đọc và ghi vào bất kỳ bảng bản sao nào. Bảng toàn cầu cũng loại bỏ công việc khó khăn trong việc xử lý xung đột cập nhật cho các khối lượng công việc đa Khu vực.
Bảng toàn cầu hỗ trợ cả chế độ nhất quán cập nhật và chế độ nhất quán toàn bộ cho tính nhất quán đa Khu vực. Tính nhất quán cập nhật đa Khu vực mang lại mức độ phục hồi ứng dụng cao nhất và cho phép ứng dụng của khách hàng luôn sẵn sàng cũng như luôn đọc dữ liệu mới nhất từ bất kỳ Khu vực nào. Giờ đây, bạn có thể xây dựng ứng dụng với điểm phục hồi mục tiêu bằng không. Với tính nhất quán toàn bộ đa Khu vực, bạn có thể tạo bản sao trong một tài khoản AWS hoặc trên nhiều tài khoản AWS.
Cách thức hoạt động
Một bảng toàn cầu DynamoDB bao gồm nhiều bảng bản sao. Mỗi bảng bản sao tồn tại ở một Khu vực khác nhau, nhưng tất cả bản sao đều dùng chung cùng một lược đồ khóa chính. Khi dữ liệu được ghi vào bất kỳ bảng bản sao nào, DynamoDB sẽ tự động sao chép dữ liệu đó vào tất cả các bảng bản sao khác trong bảng toàn cầu.
Ví dụ: giả sử ứng dụng của bạn phục vụ một cơ sở khách hàng lớn trải rộng trên ba khu vực địa lý – Bờ Đông Hoa Kỳ, Canada và Tây Âu. Nếu không có bảng toàn cầu, bạn sẽ cần tạo một bảng trong mỗi Khu vực AWS và viết mã để sao chép các thay đổi dữ liệu trên mỗi bảng trong mỗi Khu vực.
Với bảng toàn cầu, bạn có thể tạo bảng toàn cầu với một bảng bản sao trong ba Khu vực gần nhất với mỗi khu vực địa lý. DynamoDB sẽ tự động sao chép các thay đổi từ bất kỳ bản sao nào sang các bản sao trong các Khu vực khác.
Bảng toàn cầu cho phép người dùng ứng dụng của bạn có quyền truy cập độ trễ thấp vào dữ liệu bất kể họ ở đâu. Nếu quá trình xử lý ứng dụng của bạn bị gián đoạn ở một Khu vực, khách hàng của bạn vẫn có thể truy cập bảng bản sao ở các Khu vực khác.
Khi tạo bảng toàn cầu, bạn có thể chọn tính nhất quán cập nhật hoặc tính nhất quán toàn bộ. Bảng toàn cầu được cấu hình cho tính nhất quán cập nhật đa Khu vực cung cấp khả năng thực hiện giá trị đọc nhất quán cập nhật trên nhiều Khu vực. Thiết lập mặc định là tính nhất quán toàn bộ đa Khu vực.
Đối với bảng toàn cầu được cấu hình bằng chế độ tính nhất quán toàn bộ đa Khu vực, bạn có thể tạo bản sao trong một tài khoản AWS hoặc trên nhiều tài khoản AWS. Bảng toàn cầu đa tài khoản tự động sao chép bảng trên nhiều tài khoản và Khu vực, giúp tăng cường khả năng phục hồi, bảo mật và quản trị. Các bảng này lý tưởng cho những khách hàng áp dụng chiến lược đa tài khoản hoặc sử dụng Tổ chức AWS để cải thiện khả năng cô lập bảo mật, thực thi quy tắc bảo vệ chu vi dữ liệu, triển khai phục hồi sau thảm họa hoặc tách khối lượng công việc theo đơn vị kinh doanh.
Bắt đầu sử dụng với bảng toàn cầu rất dễ dàng, vì bảng này sử dụng cùng API DynamoDB như bảng một Khu vực. Bạn không phải trả phí trước hay cam kết để sử dụng bảng toàn cầu mà chỉ phải trả cho các tài nguyên bạn sử dụng. Bạn có thể cấu hình bảng toàn cầu trong Bảng điều khiển quản lý AWS bằng AWS CLI hoặc bằng AWS CloudFormation. Bạn cũng có thể dễ dàng chuyển đổi bảng một Khu vực thành bảng toàn cầu.
Lợi ích của bảng toàn cầu
Bảng toàn cầu được thiết kế để đạt độ sẵn sàng 99,999%. Nếu một Khu vực bị cô lập hoặc suy giảm, ứng dụng của bạn có thể chuyển lưu lượng sang một Khu vực khác và thực hiện thao tác đọc cũng như ghi trên một bảng bản sao khác. Bạn có thể áp dụng logic kinh doanh tùy chỉnh để xác định thời điểm chuyển hướng yêu cầu đến các Khu vực khác. Ngoài ra, với chế độ tính nhất quán cập nhật đa Khu vực, ứng dụng của bạn sẽ luôn đọc dữ liệu mới nhất từ bất kỳ Khu vực nào.
Bảng toàn cầu loại bỏ độ phức tạp và gánh nặng vận hành khi triển khai cũng như quản lý sao chép đa hoạt động, đa Khu vực trong DynamoDB. Bạn có thể chọn Khu vực mục tiêu mà bạn cần sao chép dữ liệu của mình đến và DynamoDB sẽ xử lý phần còn lại. Bạn có thể chọn tính nhất quán toàn bộ hoặc tính nhất quán cập nhật để sao chép giữa các bảng bản sao trên nhiều Khu vực. Với tính nhất quán cập nhật đa Khu vực, bạn không bao giờ phải lo lắng về tính nhất quán của dữ liệu hoặc khôi phục dữ liệu trong quá trình chuyển đổi dự phòng.
Bạn cũng có thể chọn tạo bản sao trong một tài khoản AWS hoặc trên nhiều tài khoản AWS. Với bảng toàn cầu đa tài khoản, bạn có thể xây dựng ứng dụng trên nhiều tài khoản để tăng khả năng cô lập, cải thiện bảo mật và quản trị, đồng thời nâng cao khả năng phục hồi vận hành, phù hợp với Khung AWS Well-Architected. Các ứng dụng truy cập bảng toàn cầu bằng cách sử dụng các API và điểm cuối DynamoDB hiện có.
Bảng toàn cầu hiện có thể được cấu hình cho cả tính nhất quán cập nhật và tính nhất quán toàn bộ. Tính nhất quán cập nhật bảo đảm rằng các giá trị đọc nhất quán cập nhật sẽ phản ánh lượt ghi gần đây nhất, trong khi tính nhất quán toàn bộ sẽ có một khoảng thời gian ngắn trước khi tất cả bản sao phản ánh lượt cập nhật mới nhất để đổi lấy các lượt đọc và ghi cục bộ có độ trễ thấp hơn.
Ở chế độ tính nhất quán cập nhật đa Khu vực, DynamoDB bảo đảm rằng một lượt ghi đã được xác nhận thành công vào bất kỳ bản sao nào trong bất kỳ Khu vực nào sẽ lập tức có sẵn để đọc từ bất kỳ bản sao nào khác. Nếu một thao tác ghi sửa đổi một mục đang được sửa đổi ở một Khu vực khác, thao tác ghi đó sẽ không thành công với lỗi có thể thử lại.
Ở chế độ tính nhất quán toàn bộ đa Khu vực, DynamoDB sao chép một lượt ghi vào bất kỳ bản sao nào trong một Khu vực sang tất cả bản sao khác, thường trong vòng một đến hai giây. Nếu cùng một mục được chỉnh sửa ở nhiều Khu vực, DynamoDB sẽ phân giải xung đột theo nguyên tắc lượt ghi sau cùng sẽ được ưu tiên.
Bảng toàn cầu cho phép bạn đọc và ghi dữ liệu cục bộ, duy trì độ trễ ở mức chưa đến 10 mili giây cho ứng dụng phân tán toàn cầu của bạn ở bất kỳ quy mô nào. Giúp bạn có thể tăng hiệu năng cho các ứng dụng toàn cầu có quy mô lớn.