2012-01-28 24 views
-1

私たちは、コードを処理し、大量の行を毎回出力するアプリケーションを開発しています(何百万も!)。処理自体が完了するまでに数時間かかるため、これらの行をデータベースに保存します。何百万ものレコードのデータベースのスケーリング

1.これらのレコードを保存するにはどうすればよいですか?

2.ここで使用できるNoSqlソリューションですか?

私たちは1日に500万レコードを保存しており、しばらくそれを取得していると仮定します。

+0

ここで、ファイルシステムからデータを取得していますか? –

+1

確かに、NoSQLが解決策になるかもしれません。だから定期的なDBができた。 5Mほどではありません。 –

+0

私はリレーショナルデータベースから入力を取得しています。今私の質問は、どこに保存するのかです。 – user2434

答えて

2

データの生成後にどのように使用するかによって、使用方法に大きく依存します。プライマリキーだけを参照すれば、NoSQLはおそらく問題ありませんが、データの検索や並べ替え(または行の結合)が必要な場合は、SQLデータベースがうまくいくでしょう。

基本的に、NoSQLは、不透明なデータをストアに詰め込んで、個々のアイテムをすばやく取得することができます。リレーショナルデータベースは、一緒に結合されたり、検索されたりする可能性のあるデータの索引作成には本当に優れています。

最近のSQLデータベースでは、1日に500万行を簡単に処理できます。つまり、行の大きさによっては、ディスク容量がボトルネックになる可能性が高くなります。私はNoSQLで多大な努力をしていませんが、1日あたり5百万個のアイテムが問題を引き起こすと私は驚いています。

+0

Re:noSQL - 1つのApache Cassandraノードが1日に約10億回の書き込みを処理できます。 ) – DNA

1

どのような種類のデータを保存したいのかによって決まります。詳細を教えてください。データがテーブルにきちんと構造化されている場合、NoSQLのアプローチは必ずしも必要ではありません。ただし、データにグラフやネットワークのような構造がある場合は、NoSQLソリューションを検討する必要があります。後者が当てはまる場合、NoSQLデータベースの一部の概要を示すには、次のようなものが役立ちます。http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis

関連する問題