15,000,000ヒット/月のWebウィジェットを取得し、すべてのセッションをログに記録します。レポートを生成したいときは、一意のIPがいくつあるか知りたいです。通常のSQLでは、次のようにするだけで簡単です。
SELECT COUNT(*) FROM (SELECT DISTINCT IP FROM SESSIONS)
しかし、それはアプリエンジンでは不可能なので、私は現在、それを行う方法についての解決策を検討しています。高速である必要はありません。
私が考えていた解決策は、空のUnique-IPテーブルを用意し、MapReduceジョブを使用してすべてのセッションエンティティを処理することでした。エンティティのIPがテーブルにない場合は、それを追加してカウンターに追加します。次に、テーブルをクリアする別のMapReduceジョブがあります。これはクレイジーでしょうか?もしそうなら、あなたはそれをどのように行いますか?
ありがとう!