Bài này chúng ta sẽ tìm hiểu về DynamoDB trong AWS, trước khi chúng ta bắt đầu sử dụng AWS một cách dễ dàng hơn.

1. DynamoDB là gì?

  • Amazon DynamoDB là dịch vụ cơ sở dữ liệu NoSQL nhanh chóng và linh hoạt cho tất cả các ứng dụng yêu cầu độ trễ mili giây nhất quán ở bất kỳ quy mô nào.
  • Nó là một cơ sở dữ liệu được quản lý đầy đủ hỗ trợ cả mô hình dữ liệu tài liệu và khóa-giá trị.
  • Mô hình dữ liệu linh hoạt và hiệu suất của nó làm cho nó phù hợp tuyệt vời cho thiết bị di động, web, trò chơi, công nghệ quảng cáo, IOT và nhiều ứng dụng khác.
  • Nó được lưu trữ trong bộ lưu trữ SSD.
  • Nó được trải rộng trên ba trung tâm dữ liệu địa lý.

Do có sẵn trong ba trung tâm dữ liệu theo địa lý, nên Nó bao gồm hai loại mô hình nhất quán khác nhau:

  • Số lần đọc nhất quán cuối cùng(Eventual Consistent Reads)
  • Số lần đọc rất nhất quán(Strongly Consistent Reads)

Số lần đọc nhất quán cuối cùng

Nó duy trì tính nhất quán trên tất cả các bản sao dữ liệu thường đạt được trong vòng một giây. Nếu bạn đọc dữ liệu từ bảng DynamoDB , thì phản hồi sẽ không phản ánh thao tác ghi đã hoàn thành gần đây nhất và nếu bạn lặp lại để đọc dữ liệu sau một khoảng thời gian ngắn, thì phản hồi sẽ là bản cập nhật chậm nhất. Đây là mô hình tốt nhất cho hiệu suất Đọc.

Số lần đọc rất nhất quán

Một lần đọc nhất quán cao trả về một kết quả phản ánh tất cả các lần ghi nhận được phản hồi thành công trước khi đọc.

Lưu ý: Nếu ứng dụng của bạn muốn dữ liệu từ bảng DynamoDB ngay lập tức, hãy chọn mô hình Đọc nhất quán mạnh. Nếu bạn có thể đợi một giây, hãy chọn Mô hình nhất quán cuối cùng.

2. Công suất thông lượng AWS DynamoDB

Dung lượng thông lượng DynamoDB phụ thuộc vào chế độ khả năng đọc / ghi để thực hiện thao tác đọc / ghi trên bảng.

Có hai loại chế độ khả năng đọc / ghi:

  • Chế độ theo cung cấp(Provisioned mode)
  • Chế độ theo yêu cầu(On-demand mode)

2.1 Chế độ theo cung cấp

  • Nó xác định dung lượng tối đa mà ứng dụng có thể sử dụng từ một bảng cụ thể.
  • Trong chế độ theo cung cấp, bạn cần chỉ định số lần đọc và ghi mỗi giây theo yêu cầu của ứng dụng.
  • Nếu vượt quá giới hạn dung lượng thông lượng của Chế độ được cung cấp, thì điều này dẫn đến việc điều chỉnh yêu cầu.
  • Chế độ theo cung cấp phù hợp với các ứng dụng có lưu lượng truy cập nhất quán và có thể dự đoán được.

Chế độ theo cung cấp bao gồm hai đơn vị dung lượng:

  • Đọc theo đơn vị Công suất(Read Capacity unit)
  • Viết theo đơn vị dung lượng(Write Capacity unit)

Đọc theo đơn vị công suất

  • Tổng số đơn vị dung lượng đọc phụ thuộc vào kích thước mục và mô hình nhất quán đọc.
  • Đơn vị Công suất Đọc thể hiện hai loại mô hình nhất quán:
    • Mô hình mạnh mẽ nhất quán: Đơn vị dung lượng đọc biểu thị một lần đọc nhất quán mạnh mỗi giây cho một mục có kích thước lên đến 4KB.
    • Mô hình nhất quán cuối cùng: Đơn vị dung lượng đọc biểu thị hai lần đọc nhất quán cuối cùng mỗi giây cho một mục có kích thước tối đa 4KB.
  • DynamoDB sẽ yêu cầu đơn vị dung lượng đọc bổ sung khi kích thước mục lớn hơn 4KB. Ví dụ: nếu kích thước của một mục là 8KB, thì cần có 2 đơn vị dung lượng đọc để đọc nhất quán mạnh trong khi cần 1 đơn vị dung lượng đọc để đọc cuối cùng nhất quán.

Viết theo đơn vị dung lượng

  • Tổng số đơn vị khả năng ghi phụ thuộc vào kích thước mặt hàng.
  • Chỉ cần 1 đơn vị dung lượng ghi cho một mặt hàng có kích thước tối đa 1KB.
  • DynamoDB sẽ yêu cầu đơn vị dung lượng ghi bổ sung khi kích thước lớn hơn 1KB. Ví dụ: nếu kích thước mục là 2KB, cần có hai đơn vị khả năng ghi để thực hiện 1 lần ghi mỗi giây.
  • Ví dụ: nếu bạn tạo một bảng với 20 đơn vị khả năng ghi, thì bạn có thể thực hiện 20 lần ghi mỗi giây cho một mục có kích thước tối đa 1KB.

3. Chế độ theo yêu cầu

  • Chế độ theo yêu cầu DynamoDB có tùy chọn thanh toán mới linh hoạt có khả năng phục vụ hàng nghìn yêu cầu mỗi giây mà không cần bất kỳ kế hoạch dung lượng nào.
  • Chế độ Theo yêu cầu cung cấp giá trả theo yêu cầu cho các yêu cầu đọc và ghi để bạn chỉ cần trả tiền cho những gì bạn sử dụng, do đó, giúp bạn dễ dàng cân bằng chi phí và hiệu suất.
  • Trong chế độ Theo yêu cầu, DynamoDb đáp ứng khối lượng công việc của khách hàng ngay lập tức khi mức lưu lượng truy cập tăng hoặc giảm.
  • Chế độ Theo yêu cầu hỗ trợ tất cả các tính năng DynamoDB như mã hóa, khôi phục tại thời điểm, v.v. ngoại trừ tự động mở rộng quy mô
  • Nếu bạn không thực hiện bất kỳ thao tác đọc / ghi nào, thì bạn chỉ cần trả tiền cho việc lưu trữ dữ liệu.
  • Chế độ Theo yêu cầu rất hữu ích cho những ứng dụng có lưu lượng không thể đoán trước và cơ sở dữ liệu rất phức tạp để dự báo.

Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.

Tài liệu từ cafedev:

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!