DynamoDB에서 간단한 로깅 서비스를 작성하고 있습니다.
user_id 해시와 타임 스탬프 (Unix epoch int) 범위로 키가 지정된 로그 테이블이 있습니다.
서비스 사용자가 계정을 해지하면 범위 값에 관계없이 테이블의 모든 항목을 삭제해야합니다.
이러한 종류의 작업을 수행하는 데 권장되는 방법은 무엇입니까 (삭제할 항목이 수백만 개가 될 수 있음을 염두에 두십시오)?
내가 볼 수있는 한 내 옵션은 다음과 같습니다.
A : 항목이 남아 있지 않을 때까지 반환 된 각 항목에 대해 delete를 호출하는 Scan 작업을 수행합니다.
B : BatchGet 작업을 수행하고 아무것도 남지 않을 때까지 각 항목에 대해 다시 삭제를 호출합니다.
둘 다 오랜 시간이 걸리기 때문에 나에게 끔찍하게 보입니다.
내가 이상적으로하고 싶은 것은 LogTable.DeleteItem (user_id) 호출-범위를 제공하지 않고 모든 것을 삭제하도록하는 것입니다.