Tôi đang viết một dịch vụ ghi nhật ký đơn giản trong DynamoDB.
Tôi có một bảng nhật ký được khóa bởi hàm băm user_id và một phạm vi dấu thời gian (Unix epoch int).
Khi người dùng dịch vụ chấm dứt tài khoản của họ, tôi cần xóa tất cả các mục trong bảng, bất kể giá trị phạm vi là bao nhiêu.
Cách được khuyến nghị để thực hiện loại hoạt động này là gì (Hãy nhớ rằng có thể có hàng triệu mục cần xóa)?
Các tùy chọn của tôi, theo như tôi thấy là:
A: Thực hiện thao tác Quét, gọi xóa trên từng mục trả lại, cho đến khi không còn mục nào
B: Thực hiện thao tác BatchGet, một lần nữa gọi xóa trên từng mục cho đến khi không còn mục nào
Cả hai điều này trông rất khủng khiếp đối với tôi vì chúng sẽ mất nhiều thời gian.
Những gì tôi lý tưởng muốn làm là gọi LogTable.DeleteItem (user_id) - Không cung cấp phạm vi và yêu cầu nó xóa mọi thứ cho tôi.