2016-10-27 7 views
2

私は現在、私のニーズにGoogle CloudSQLを使用しています。Google CloudSQLまたはビッグデータ用BigQueryは毎秒積極的に更新されます

私はユーザーアクティビティからデータを収集しています。毎日私のテーブルの行数は約9〜1500万行増加し、毎秒更新されます。データには、ユーザーの場所(緯度経度)、タイムスタンプ、ユーザーのアクティビティや会話などの主要なパラメータが含まれます。

30日前から私のアプリを使用している緯度経度Aと緯度経度Bの間のユーザー数など、このユーザーのアクティビティから多くの洞察に常にアクセスする必要があります。

私のテーブルが毎日大きくなるので、私のテーブルの中で選択されたクエリのパフォーマンスを管理するのは難しいです。 (私は既に私のテーブルの中で、最も一般的な使用パラメータのために私のテーブルにインデックスメソッドを実装しました)

私のすべてのデータの挿入、選択、更新などはPHPでコーディングするAPIから実行されます。

私のニーズに合わせてGoogle BigQueryを使用すると、もっと良いメリットがありますか?

「はい」の場合、どうすればよいですか?静的データに使用するように設計されているため、Google BigQuery(私が間違っている場合は私を許してください)です(常に更新されるデータではない) CloudSQLデータをBigQueryにリアルタイムで接続するにはどうすればよいですか?優れている1

:(可能ならば)私は私のCloudSQLのパフォーマンスを最適化するために、別のalterntiveまたはsugget :)

感謝のためのオープンも

選択プロセスを最大化またはBigQueryのを使用するようにCloudSQLで私のテーブルを最適化しますあなた

+0

私はBigQueryを使用しているため偏っていますが、ニーズに合ったように聞こえます。 APIを使用してリアルタイムストリーミングやバッチインポートをサポートしているため、間違いなくパフォーマンスが大幅に向上します。 –

+0

@ElliottBrossardこんにちは、BigQueryでStreaming APIを使用してCloudSQLとデータを同期し、BigQueryを使用して選択データを処理できますか? –

+0

代わりにアプリケーションを直接([BigQueryにデータをストリーム])(https://cloud.google.com/bigquery/streaming-data-into-bigquery)できますか?既存のデータをCloudSQLからBigQueryにコピーする場合は、[CSVにエクスポート](https://cloud.google.com/sql/docs/import-export/exporting#csv)、[CSVからインポート] (https://cloud.google.com/bigquery/loading-data#loading_csv_files)。 –

答えて

1

BigQueryのようなサウンドは、あなたのユースケースにはるかに適しています。

  1. 既存のデータをCloudSQLからBigQueryに移行することができます。
  2. イベントをBigQueryに直接ストリームします(非同期キューを使用)。
  3. BigQueryの時間分割表を使用します。

BigQueryを使用する場合は、パフォーマンスやスケーリングを心配する必要はありません。それはすべてGoogleによって処理されます。

+0

こんにちは@polleygあなたの解決に感謝します。しかし、私は1つの質問があります:私は緯度と経度のポリゴンの中にデータを取得するためにMySQLで地理空間クエリを使用しましたが、それはBigQueryで可能ですか? BigQueryに「ポイント」データ型がないことがわかりましたか?おかげで –

+0

"ポイント"データ型は必要ありません。ただフロートを使用してください。 http://stackoverflow.com/questions/27998739/query-geospatial-data-with-bigqueryおよびhttps://cloud.google.com/bigquery/docs/reference/legacy-sql#mathfunctionsを参照してください。 –

関連する問題