2016-08-10 14 views
2

200を超えるテーブルからのライブデータフィードを同時に読み込み、このデータを処理するアプリケーションを作成する必要があります。私は毎分20以上のレコードを取得する各テーブルについて最適な速度でこの問題を解決する最良の方法が何であるかを議論したいと思います。これまでのソリューションを考えてみることができます: -複数のテーブルからデータを読み取るための最善のアプローチ

1)私はいくつかの奇数シンボルを独立して扱う複数のスレッドを作ることができます。

2)私は、データ読み取りのために2つのスレッドを作成し、データ処理のために他のスレッドを作成することができますが、リーダースレッドはすべてのテーブルを順番に読み取る必要があるため、

私のデータベースはMySQLであり、今はnosql DBに移行しようとしていません。この問題を解決するためにC++を使用しています.200 +テーブルの代わりにライブデータを1つのテーブルに入れることができます私の第二のアプローチはずっと適切かつ迅速になります。

答えて

1

nosqlの「データベース」から速度が上がらない場合は、MySQLを使用する必要がありますか?さらに、データベースからデータを取得することは常にボトルネックになります。一般に、大量のデータをRAMに読み込んでそこから読み込みたい場合は、はるかに高速です。

特定のタイムスタンプ(最新のクエリの実行と同じタイムスタンプ)から最新のデータのみを取得するクエリを作成して、それをメモリにロードしてそこに高速化が必要なすべての操作を実行し、もはや必要ではない古いエントリを追加します。

+0

あなたの回答に感謝します。私はMYSQLを使用しなければなりません。そして、明らかに私は常に最新のデータだけを読むでしょう。 – birubisht