J'écris un service de journalisation simple dans DynamoDB.
J'ai une table de journaux qui est saisie par un hachage user_id et une plage d'horodatage (Unix epoch int).
Lorsqu'un utilisateur du service met fin à son compte, je dois supprimer tous les éléments du tableau, quelle que soit la valeur de la plage.
Quelle est la méthode recommandée pour effectuer ce type d'opération (en gardant à l'esprit qu'il pourrait y avoir des millions d'éléments à supprimer)?
Mes options, d'après ce que je peux voir, sont:
R: Effectuez une opération de numérisation, appelant la suppression sur chaque élément retourné, jusqu'à ce qu'il ne reste plus d'éléments
B: Effectuez une opération BatchGet, en appelant à nouveau delete sur chaque élément jusqu'à ce qu'il n'en reste plus
Ces deux éléments me semblent terribles car ils prendront beaucoup de temps.
Ce que je veux idéalement faire est d'appeler LogTable.DeleteItem (user_id) - Sans fournir la plage, et faites-le tout supprimer pour moi.