2017-03-22 16 views
0

私は非常に大規模なCSVファイルを持っています。これには毎日来る200万ログデータが含まれています。CSVのさまざまなグループの要約を提供する解析ツールを開発する必要がありますファイルデータ。200万ログデータを含む大規模なCSVファイル

私たちはMysql-InnoDBを使って開発しましたが、非常に遅いです。我々は適切なインデックスをテーブルに適用し、ハードウェアも良いです。

この分析ツールではMysqlを使用できますか、それとも他のデータベースをチェックする必要がありますか?

各SQL Selectクエリには、単一のテーブルからの出力を得るために15-20秒が含まれています。

+0

2百万行以上のクエリを実行しているのですか、はるかに大きなテーブルですか? – jastr

答えて

1

私は、あなたが挿入のみのデータであり、クライアントにいくつかの指標を示すダッシュボードを作成しようとしていると仮定しています。

この問題は、別の方法で解決できます。 CSVデータをSQLデータベースに直接保存する代わりに、言語オプションに応じてSparkまたはSpringバッチまたはAirFlowを使用して最初にCSVを処理できます。これにより、保存する必要があるデータの量を減らすことができます。

考えられるもう1つのアプローチは、CSVを処理してBigQueryやRedshiftなどにプッシュすることです。これらのデータベースは、大量のデータを処理および照会するように設計されています。

クエリーを固定するには、マテリアライズド・ビューを作成してダッシュボードをすばやく作成することもできます。これは非常にスケーラブルなアプローチではないので、私はこれをお勧めしません。

データを最初に処理し、必要なメトリックを生成してSQLに保存し、それらを直接保存するのではなく、その上にダッシュボードを作成することをお勧めします。

+0

BigQueryまたはRedShiftは出力を高速にするのに最適ですか? –

+0

右、それはカスタムダッシュボードを構築し、ユーザーは複数のダッシュボードを作成することもできます。 –

+0

GoogleまたはAWSにいますか?私は両者を比較するのに十分な資格はありません。あなたが決定するために使用できる多くのベンチマークがオンラインにあります。ほとんどの使用例では、すべてがコストと好みになっていると思います。 – Putty

関連する問題