問題タブ [large-data]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
5032 参照

javascript - Jqgrid の巨大なデータ読み込みの問題

jqgrid でいくつかの調査を行っています。データベースに約 1M 行を含む巨大なデータをロードするまで、すべて正常に動作します。jqgrid は表示されません。データベースの行を 100K に縮小すると、データは表示されますが、ページを数回更新する必要があります。さらに、URLで返されるローカルファイルにデータを保存してサーバーにアップロードし、URLをファイルに変更してjqgridで表示できます....

誰でも私を助けることができますか?コードはここにあります:

json データは以下のとおりです。

Oracle データベースからすべてのカウントを取得する

データを取得する

jqgrid にデータを返す Web コントローラー

0 投票する
1 に答える
893 参照

language-agnostic - 巨大なデータセットの高速グループ化と集約

大量のデータがあります(ファイルに保存されていますが、関係ありません。主な部分は、データがメモリに収まらないことです)。たとえば、 109行のレコードです。

レコードは、時間、いくつかのキーのセット、およびデータで構成されます。キーは一意ではありません。
例えば

すべてのデータを調べ、ユーザー定義のフィルターを使用してそれらをフィルター処理する必要があります(これは問題ではありません)。次に、集計、​​合計のカウント、およびデータが最も多い行を返します。

たとえば、与えられたデータで、AとCでグループ化されたすべてのデータを合計したいと思います。

期待される結果:

私はナイーブなソリューションを使用してこれを実装しました、私は持っていますDictionary<tuple(A, C), long>、そしてそこで合計します。しかし、問題は、私がメモリに収まるよりも多くのユニークなA、Cの組み合わせが存在する可能性があるということです。

フィルタリングが表示される可能性があるため、データを推定することも、SQLを使用することもできません(リレーショナルDBは私には適していません)。

この方法でグループ化するために使用できるメモリ効率の高いアルゴリズムはありますか?SQLはどのように多くのデータを処理しますか?SQLでグループ化を行うことはできますが、使用したくない理由がいくつかあります。

または、私は何をグーグルする必要がありますか?この問題に関する有用な記事は見つかりませんでした。

(私はC#を使用しています。質問は、「次のコードを使用する」というよりも理論的なものです。)

0 投票する
1 に答える
4138 参照

python - Python fork(): 子から親にデータを渡す

メインの Python プロセスと、メイン プロセスによって作成された束またはワーカーがありますos.fork()

大規模でかなり複雑なデータ構造をワーカーからメイン プロセスに渡す必要があります。そのためにどの既存のライブラリをお勧めしますか?

データ構造は、リスト、辞書、numpy配列、カスタム クラス (微調整できます)、および上記の多層の組み合わせの組み合わせです。

ディスク I/O は避ける必要があります。データのコピーを作成しないようにすることもできれば (たとえば、ある種の共有メモリ ソリューションを用意することで)、それも素晴らしいことですが、厳しい制約ではありません。

この質問の目的のためにos.fork()、マスタープロセスのアドレス空間を複製する 、またはそのラッパーを使用してワーカーを作成することが必須です。

これは Linux でのみ動作する必要があります。

0 投票する
2 に答える
741 参照

matlab - 一連の製品からマトリックスを作成するための高速で効率的な方法

Axe、Ay、Az:[N-by-N]

B = AA(二項積)

その意味は :

B(i、j):3x3行列。Bを作成する1つの方法は次のとおりです。

Nが大きい場合のより速い方法はありますか?

編集:

ご回答有難うございます。(より速い)入れましょう:N = 2; Ax = [1 2; 3 4]; Ay = [5 6; 7 8]; Az = [9 10; 11 12];

実行:
??? ==>mtimesの使用エラー内部行列の次元は一致する必要があります。

私が書いた場合:P = Ai*Aj;その後

これは、上記のA(:、:、1)とは異なります[Ax(1,1)Ay(1,1)Az(1,1)]とは異なります

編集:

編集:

私のアプリケーションのためにいくつかの変更を加えた後:gnoviceコードによる

ceil、ind2sub ...のような関数呼び出しは、thwループを遅くし、可能であれば回避する必要があるようです。

symIndex面白かったです!ありがとうございました。

0 投票する
3 に答える
9888 参照

matlab - メモリを節約するために対称行列の半分だけを保存することは可能ですか?

Ax=b型の問題 で使用される大きな行列があります。Aは対称です。行列の半分だけを保存して、そのような操作を行うアルゴリズムはありますx=A\bか?

0 投票する
2 に答える
5961 参照

java - Javaの大規模なデータセットでのファイルベースのマージソート

メモリに収まらない大きなデータセットがある場合、Javaで並べ替えを実行するためのライブラリまたはAPIはありますか?実装はおそらくLinuxユーティリティの並べ替えに似ています。

0 投票する
3 に答える
26688 参照

data-structures - レッドブラックツリー対Bツリー

メガバイトからテラバイトまでの範囲のデータに対して高速な検索、挿入、および削除操作を実行する必要があるプロジェクトがあります。私は最近のデータ構造を研究し、分析していました。具体的には、3 つのケースを紹介し、それについて質問したいと思います。

  1. データは、メモリが一度に処理できる量 (サンプル範囲は 10 ~ 15 テラバイト) をはるかに超えています。この場合、データ構造をディスクに保存します。

  2. データはシステムのメモリに比べて比較的少ないため、速度のためにメモリ自体に保存および操作できます。

  3. データは空きメモリを超えており、ページング ファイル内の可能な連続したデータ チャンクのサイズよりも小さいと想定します。したがって、データ構造をディスク上のファイルに保存し、ファイルのメモリ マッピングを行います。

私が導き出した結論は次のとおりです。

ケース 1 の場合、ディスクのローテーションによって生じる遅延を節約できるため、アクセスを高速化するために B ツリーを使用する必要があります。

ケース 2 では、データがメモリ上にあり、ないため、アクセスを高速化するために Red Black Tree を使用する必要があります。最悪の場合、スキャンする必要がある要素の数は、B ツリーを使用する場合に必要な要素よりも少なくなります。

ケース 3 については、これには疑問があります。ページ ファイルはディスク上にあり、ネイティブ OS I/O を使用してファイルを操作します。したがって、B ツリーの方が適切なオプションでしょうか、それともレッド ブラック ツリーでしょうか?

上記の 3 つの結論のどこが正しく、どこが間違っているか、また 3 つの別々のケースでどのようにパフォーマンスを改善できるかを知りたいです。

私は C++ 言語を使用しています。赤い黒いツリーと B ツリーがあり、どちらもゼロから設計したものです。ファイル マッピングに Boost ライブラリを使用しています。

更新 1:: stackoverflow でこの投稿を読んでいました。本当に良い洞察を得たので、私がケースで行ったタイプの比較は間違っているかもしれないと感じています. 最も投票数の多い回答にリンクが投稿されましたhttp://idlebox.net/2007/stx-btree/stx-btree-0.8.3/doxygen-html/speedtest.html

0 投票する
2 に答える
727 参照

sql - 迅速な大規模データのピボット

BIを提供するために、予測モデルの開発とデータのスライスとダイシングに使用できる製品を開発しています。

2 種類のデータ アクセス要件があります。

予測モデリングでは、毎日データを読み取り、行ごとに実行する必要があります。この場合、通常の SQL Server データベースで十分であり、問​​題は発生していません。

1GB のデータのような巨大なサイズのデータ​​をスライスおよびダイシングする場合、3 億行と言います。そのデータを最小限の応答時間で簡単にピボットしたいと考えています。

現在の SQL データベースには、これに関する応答時間の問題があります。

Core 2 Duo プロセッサを搭載した 2GB の RAM を備えた通常のクライアント マシンで製品を実行することを好みます。

このデータを保存する方法と、各ディメンションのピボット エクスペリエンスを作成する方法を知りたいです。

理想的には、大企業の場合、地域ごとの製品ごとの営業担当者による毎日の売上高のデータがあるとします。次に、任意のディメンションに基づいて細かく切り刻み、集計、一意の値、最大値、最小値、平均値、およびその他の統計関数を実行できるようにします。

0 投票する
5 に答える
23121 参照

java - MyBatisで大量のデータを扱う

私の目標は、実際にはデータベースのすべてのデータを XML ファイルにダンプすることです。データベースはそれほど大きくなく、約 300MB です。問題は、(JVM で) 256MB のメモリ制限しかないことです。したがって、明らかに、すべてをメモリに読み込むことはできません。

この問題は、iBatis (はい、myBatis ではなく iBatis を意味します) を使用して、incremented を使用してgetList(... int skip, int max)複数回呼び出すことで解決できskipました。これでメモリの問題は解決しますが、速度には感銘を受けません。変数名は、メソッドがフードの下で行うことは、結果セット全体をスキップしてから指定されたレコードを読み取ることであることを示唆しています。これは私にはかなり冗長に思えます (メソッドがそうしていると言っているわけではありません。変数名に基づいて推測しているだけです)。

さて、アプリケーションの次のバージョンのために myBatis 3 に切り替えました。私の質問は: myBatis でチャンクごとに大量のデータを処理するより良い方法はありますか? myBatis で最初の N レコードを処理し、結果セットの接続を開いたまま呼び出し元に返す方法はありますか「スキップ」?

0 投票する
3 に答える
3895 参照

wpf - WPF で巨大なデータを含む Combobox をバインドする

コンボボックスをカスタム オブジェクト リストにバインドしようとしています。私のオブジェクト リストには約 15K のレコードがあり、コンボボックスをクリックした後、コンボボックスがデータを表示するのに時間がかかります。

以下はコードです:

コードビハインド:

allEmployee には約 15K のレコードがあります。コンボボックスのパフォーマンスを向上させる方法を提案できますか?