2012-03-28 27 views
11

私はソートやクエリに膨大なデータ量があり、インターネット接続には依存していません。理想的には、データセット全体をJSONオブジェクト(現在は約17MBですが、もっと大きくなる可能性があります)として保存し、多数の小さなファイルを出力するのではなく、jLinqやSQLikeなどを使用してクエリを実行します。JavaScriptの外部JSONオブジェクトの最大推奨サイズ

JavaScript(jQuery、特に)を使用して外部getJSON呼び出しで最大の推奨ファイルサイズを調べることに興味があります。 1MB、20MB、100MB?被写体に関する情報が不足しています。クライアント側の大規模なデータセットのクエリに関する情報はまったく不十分です。

この件に関する情報をお待ちしております。

+0

これはすべてローカルで行われていますか?ブラウザ環境にいるのですか、node.jsなどを使用していますか?私の推測では、これはクライアントマシンで利用可能なメモリに大きく依存することでしょう。このアプローチの最大の問題は解析するためです。JSON文字列全体を解析してメモリにロードする必要があるかもしれません。 – nrabinowitz

+0

ブラウザ環境では、すべてのクライアント側がローカルになります。 jode.jsがインストールされ実行されていることに頼ることはできません。 – S16

+0

最初の問題は、ファイルをまったく読み込んでいないことです。一般に、ブラウザのセキュリティ設定では、ローカルHTMLページからでも、AJAXを使用してローカルファイルをロードすることはできません。これをJSONPか文書 ""のいずれかでスクリプトとして読み込んで回避することができます。 – nrabinowitz

答えて

10

JSONの文字列から実際のJavaScriptオブジェクトに変換する必要があるため、最大の問題はおそらく読み込み時間になります。もう1つの大きな問題は、データセット全体がページのメモリに格納されることです。 100MB以上のデータを使用しているページには慣れていません。

私はjsfiddle to test loading performance of large JSON stringsを作った。 JSON文字列が基本的に空の場合よりも、JSON文字列(Core i7マシン上)を解析するのに500msかかりますが、Chromeでは80MB以上のメモリが必要です。したがって、100MBの場合、400MB以上のメモリをロードして使用するには数秒かかることがあります。

これらの問題は解決されませんが、SQL.jsを使用すると考えましたか?これはSQLiteのJavaScript実装です。そのデータをより簡単に照会できるようにする必要があります。

関連する問題