2013-06-03 13 views
7

私は多くのデータブロック(恒星の位置と明るさのデータ)を解析、処理、フォーマットする予定のアプリケーションに取り組んでいます。一晩のデータには、それぞれ数百行からなるダースファイルがあります。生データの格納とアクセスには、データベース(MySQL)またはJSONファイルの2つのオプションがあります。これはすべてローカル環境にあるため、帯域幅と要求時間は実質的に無視できるものですが、どちらが最適かを言うにはどちらのオプションについても分かりません。ローカルストレージ:MySQL対JSON?

啓発されたSOコミュニティは、あなたが正しい選択であるかどうかについての知識を共有できますか?私は実際にデータを断片化する必要はないので、MySQLのリレーショナル機能はわかりません - より速いか軽いか疑問に思います。

が(!タブー「優れている」かわすために全力を試みた - 私は言い替えるか明確にすることができた場合、私に知らせてください)


をEDIT:真剣に、匿名の近い票は有用ではありません。私は誰もが時間を無駄にしないように自分の質問をより良く形成する方法を学びたいと思っています。私がそれを変更するために何ができるか教えてください!

+0

ファイルを扱っている場合、なぜそれらを直接サーバーに直接保存することはできません。この方法では、SQLクエリやJSONからの取得によるオーバーヘッドを気にする必要はありません。 – ShuklaSannidhya

+0

@ShuklaSannidhya .jsonと.sqlは、このデータの2つのエクスポートオプションです。生のテキストファイルがあっても、手動で解析し、データパターンの例外を考慮する必要があります.JSONは少なくともオブジェクトにロードされます。 – CodeMoose

+0

私はここで最大の問題は、 "一度それを保存した後にこのデータにアクセスする方法は?" –

答えて

6

データセット全体を保存して読み込み、複雑なクエリを実行する必要がない場合は、おそらくJSONがより簡単で効率的な方法です。しかし、本当に確かめたいのであれば、それをベンチマークするべきです。

SQLiteなど、MySQLよりもオーバーヘッドの少ないデータベースもあります。

+0

+1全部を読む – CodeMoose

3

ENTIREデータセットを一貫してロードして使用する予定ですか、それとも本当にその一部だけを必要としますか?

データベースが提供するもの、具体的にはこの場合はデータセットを照会する機能を使用するには、データベース(mySqlまたはSqliteなど)を使用します。

データベースが提供したいものが無ければ、とにかくデータセット全体をメモリにロードしたい場合は、未処理ファイル(csv、xml、json)を使用してください(セキュリティと正規化と標準化はうまくいっています)。 。

+0

ありがとうございました!私がデータを読み込む唯一の時間は、ブロック全体全体を分析することです。したがって、クエリは無関係です.jsonと一緒に行くと思います! – CodeMoose