多くの場合と同様、私はNoSQLの世界では新しくはありません。私はたくさんの研究をしましたが、まだ答えが1つしかないので、適切な答えが見つけられません。システムのGoogle Cloud DataStoreデータの提供方法
短い説明:
私は別のウェブサイトに訪問者のデータを収集するシステムを構築しています。各訪問は、デバイスタイプ、IP、訪問時間などのプロパティを持つデータストア内のエンティティです。
データストアには数百万回の訪問があります。
私の質問は、このデータをクライアントに提供する方法です。私のデータは、データストア内で「訪問」エンティティとして設定されています。
お客様がログインすると、何百万というレコードを表示したくありません。たとえば、一般的な統計情報を表示したいと思います。モバイルデバイスでの訪問数、特定の時間帯の特定の国からの訪問数、そのようなものなどです。
私はNoSQLデータベースが初めてのので、クライアントのダッシュボードにこれらの統計情報を表示する方法についてはわかりません。
私が知っているように、Datastoreでは、集計やクエリ結果の集計などがサポートされていません。
BigQueryを見ましたが、BigQueryはDatastoreの「バックアップ」で動作します。手動でバックアップする必要はなく、リアルタイムでデータを処理する必要があります。
また、カウンターとシャーディングカウンターについては、これが正しいアプローチですか?各追跡グループのプロパティごとにクライアントごとにカウンタがありますか?このように総数を表示しますか?簡単な目的のためにあまりにも多くのように聞こえる。
私は正しい方向に私を得ることができる任意の入力や説明は非常に高く評価されます。
よろしく
データをbigqueryにストリーミングすることができます。データストアは複雑な分析には適していない可能性があります。 – marcadian
私はそれを合計すると思います。もし私がカウントアグリ関数が必要なのであれば、私はGAEの "datastore statistics api"を使うことができます。しかし、それ以上の機能、より多くの集約関数、さらに複雑なクエリをリアルタイムで実行する必要がある場合は、BigQueryが必要です(データストアからデータをストリーム配信する必要があります)。 – shadyhossin
ちょうどあなたの説明からbigqueryを使用して、データストアにデータを入れる必要はないと思っています。ちょうどbigquery – marcadian