Giới thiệu về Amazon DynamoDB

Sử dụng Kho dữ liệu trong AWS

Dunieski Otano

AWS Solutions Architect

Vấn đề phân vùng nóng

  • Hình dung nhà hàng có một thu ngân quá tải và ba người rảnh rỗi
  • Đó là hậu quả của thiết kế khóa phân vùng kém
  • Phân vùng nóng = một phân vùng nhận phần lớn lưu lượng, các phân vùng khác nhàn rỗi.
  • Giải pháp: Khóa phân vùng có độ phân biệt cao: thuộc tính nhiều giá trị duy nhất để phân phối đều

phân vùng

Sử dụng Kho dữ liệu trong AWS

Khóa phân vùng tốt cần gì

  • Độ phân biệt cao: Nhiều giá trị duy nhất
    • userId, orderId, sessionId - Nên
    • country, status, category - Không nên
  • Phân phối đều: Mẫu truy cập cân bằng
  • Dễ dự đoán: Xác định được khi truy vấn

độ phân biệt

Sử dụng Kho dữ liệu trong AWS

Cấu trúc bảng DynamoDB

  • Khóa phân vùng (bắt buộc): Quyết định phân phối dữ liệu
  • Khóa sắp xếp (tùy chọn): Hỗ trợ truy vấn dải (ví dụ: userId + orderDate)
  • Thuộc tính: Trường dữ liệu bổ sung
  • Khóa chính = Khóa phân vùng HOẶC Khóa phân vùng + Khóa sắp xếp

bảng

Sử dụng Kho dữ liệu trong AWS

Tạo bảng đầu tiên của bạn

  • AWS Console: Thiết lập nhanh để thử nghiệm
  • boto3 (Python): Tạo bảng bằng mã
  • Quyết định chính: Khóa phân vùng, khóa sắp xếp, chế độ tính phí

đầu tiên

Sử dụng Kho dữ liệu trong AWS

Khóa tổng hợp và truy vấn theo khóa sắp xếp

  • Khóa tổng hợp: Khóa phân vùng + Khóa sắp xếp
  • Truy vấn dải: Theo khoảng ngày, khoảng số
  • Toán tử: =, <, >, <=, >=, BETWEEN, begins_with
  • Ví dụ: Lấy đơn hàng của người dùng 30 ngày qua > $100

mã

Sử dụng Kho dữ liệu trong AWS

Chế độ dung lượng: theo nhu cầu vs cấp sẵn

  • On-Demand: Trả theo yêu cầu, tự động mở rộng
    • Phù hợp: Lưu lượng khó đoán, ứng dụng mới
  • Provisioned: Đặt RCU/WCU, chi phí thấp khi mở rộng
    • Phù hợp: Lưu lượng ổn định, tối ưu chi phí
  • Có thể chuyển chế độ mỗi 24 giờ

chế độ

Sử dụng Kho dữ liệu trong AWS

Laten we oefenen!

Sử dụng Kho dữ liệu trong AWS

Preparing Video For Download...