मैं DynamoDB में एक सरल लॉगिंग सेवा लिख रहा हूं।
मेरे पास एक लॉग टेबल है जो कि user_id हैश और टाइमस्टैम्प (यूनिक्स एपोक इंट) रेंज द्वारा की गई है।
जब सेवा का कोई उपयोगकर्ता अपना खाता समाप्त कर देता है, तो मुझे सीमा मूल्य की परवाह किए बिना तालिका की सभी वस्तुओं को हटाने की आवश्यकता होती है।
इस तरह के ऑपरेशन को करने का अनुशंसित तरीका क्या है (ध्यान में रखते हुए हटाने के लिए लाखों आइटम हो सकते हैं)?
मेरे विकल्प, जहाँ तक मैं देख सकता हूँ:
A: कोई लौटे आइटम नहीं होने तक, प्रत्येक लौटे आइटम पर कॉल हटाने के लिए एक स्कैन ऑपरेशन करें
बी: एक बैच ऑपरेशन निष्पादित करें, फिर से प्रत्येक आइटम पर डिलीट कॉलिंग करें जब तक कि कोई भी न बचा हो
ये दोनों मुझे बहुत भयानक लगते हैं क्योंकि उन्हें एक लंबा समय लगेगा।
क्या मैं आदर्श रूप से करना चाहता हूं कॉल LogTable.DeleteItem (user_id) - सीमा की आपूर्ति के बिना, और यह मेरे लिए सब कुछ हटा दिया है।