私はDataflowでストリーミング検索/フィルタリングシステムを実装しようとしています。システムそのものは非常に複雑なので、簡単な例を使って質問を説明します。ヒストリーデータとストリーミングデータの結合
私のシステムのユーザーが、特定のキーワードを含む記事にマッチするニュース記事のアラートを設定できるようにしたいとします。私の質問に関係するのは、アラートがシステムに追加されたときに戻って、そのキーワードを含むすべての以前の記事と一致する必要があるということです。もちろん、新しい記事とのマッチングも開始する必要があります。
私の考えは、記事のストリームにアラートのストリームを参加させ、各記事を各アラートと照合してチェックすることです。
私の質問はこれです:新しいアラートと照合することができる過去の記事のアーカイブを持つ良い方法と、あまりにも複雑で特殊なケーシングを避けるための方法はありますか?理想的には、グローバルなウィンドウとすべての新しい要素を放出し、アラートのストリームと結合するトリガを持つpcollection内のすべての記事を保持するだけです。これは実現可能ですか?そして、私の仕事に問題がある場合、私は記事を失わないことをどのようにして保証しますか?
それはありますが、私はデータフローで状態を保持することを含めてこれを行いたいと思います。また、私はアーカイブされたデータを処理できる必要があります。だから私はデータフローの構造を使用してこれを実装する方法を探しています。 –
また、アラートのセットは小さく、ほんの一握りですが、数千万件の膨大な量の記事があります。新しいアラートが追加されても遅れても構わないので、新しいセグメントがあるたびにすべての(記事、セグメント)の組み合わせを処理することはOKです。 –
私は参照してください。私はまだ私の答えでアプローチを使用することを提案します:データフローは状態のまともな量を維持することができますが、ストレージシステムではありませんので、数億の記事のようにそれを試してみることをお勧めしません。 – jkff