ブロブストアから孤立ブロブを削除する最も効率的な方法は何ですか?
アプリの機能と範囲:
- (ログインしている) ユーザーが、いくつかの通常のデータストア フィールド (名前、姓、コメントなど) とブロブ (画像) を含む投稿を作成したいと考えています。
- さらに、データの復元が POST 経由で送信される前に、BLOB が非同期的にアップロードされます。
- これにより、たとえば、ユーザーが画像をアップロードしても、何らかの理由でフォームを完成させない可能性があるため、孤児が発生する可能性が高くなります。この問題は、残りのデータを送信する前に BLOB の非同期アップロードを使用しないことで最小限に抑えられますが、この問題は小規模では依然として存在します。
可能ではあるが非効率的な解決策:
- 投稿が完了する (つまり、残りのデータが送信される) たびに、BLOB キーを「使用済み BLOB」のテーブルに追加します。次に、cron を頻繁に実行し、すべてのブロブを「使用済みブロブ」の表と比較できます。1 時間以上前にアップロードされたものの、まだ「使用されていない」ものは削除されます。
- 私の理解では、潜在的に数十万の blob キーのリストを実行し、それを数十万の「使用済み blob キー」の別のテーブルと比較することは非常に非効率的です。
これを行うより良い方法はありますか?同様の投稿を検索しましたが、効率的な解決策について言及しているものは見つかりませんでした。
前もって感謝します!