問題タブ [large-data-volumes]

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 投票する
3 に答える
2647 参照

c++ - C++用の使いやすい埋め込みKey-Valueストアを探しています

大量のデータ(使用可能なRAMよりも多い)を常にシーケンシャルに読み書きするC++アプリケーションを作成する必要があります。

データを将来の証拠として保持し、文書化するのを容易にするために、私はProtocolBufferを使用します。ただし、プロトコルバッファは大量のデータを処理しません。

以前のソリューションは、データユニットごとに1つのファイルを作成する(そしてそれらをすべて1つのディレクトリに保存する)ことでしたが、これは特にスケーラブルではないようです。

今回は組み込みデータベースを使ってみたいと思います。同様の機能を使用するには、キー->値の関連付けを保存するだけで済みます(したがって、sqliteはやり過ぎのようです)。値は、ProtocolBufferから出力されるバイナリシリアル化になります。

データベースが「メモリに保持するもの、ディスクaspに移動するもの」の問題、「大量のデータをディスクに効率的に保存する方法」の問題を管理し、理想的には、シーケンシャル読み取りパターンを最適化することを期待しています(読み取りによって事前に次のエントリ)。

代替案を探している私は代替案がないことに驚いた。この分離は必要ないため、データベースを別のプロセスに保持したくありません(これによりredisが除外されます)。

私が見つけた唯一のオプションはBerkeleyDBでしたが、不快な低レベルのCapiがあります。次に、私が見つけた最良のオプションは、BerkeleyDBの上にあるstldb4でした。APIは非常に優れているようで、私のニーズに合っています。

でも心配です。stldb4は奇妙に見え(libferrisのものに依存している)、保守されていない解決策(1年前の最後のリリース)であり、私がかなり一般的であると思われる問題についてです。

この問題を管理する方法について、より良い提案がありますか?

回答ありがとうございます。

0 投票する
4 に答える
1305 参照

filter - Common Lisp:非常に大きなリストでこのフィルター関数を使用することの欠点は何ですか?

リスト'aのすべての要素をリスト'bから除外し、フィルタリングされた'bを返します。これは私の機能です:

私はLispに不慣れで、どのように削除するのかわかりません。このフィルターはどのような時間で実行されますか?

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

mysql - MySQL を使用して大規模なデータ セットを検索しますか?

現在、私は非常に高度な PHP 開発者であり、小規模な MySQL セットに精通していますが、最近参加したスタートアップのために大規模なインフラストラクチャを構築しており、そのサーバーは毎日約 100 万行のデータをプッシュしています。巨大なサーバー パワーと以前のアーキテクチャ。

データベース サイズが 394.4 ギガバイトの大きなデータ セット (現在 8,490 万行) を検索する最善の方法を知る必要があります。Amazon RDS を使用してホストされているため、ダウンタイムや速度低下はありません。大規模なデータ セットに内部的にアクセスするための最良の方法を知りたいだけです。

たとえば、8,400 万行のデータベースを検索する場合、6 分かかります。これで、特定の ID またはタイトルに直接リクエストを送信すると、すぐにそれが提供されます。では、大規模なデータ セットを検索するにはどうすればよいでしょうか。

1 つの変数を渡してデータベースから情報を検索するのは高速ですが、検索の実行速度は非常に遅くなります。

MySQL クエリの例:

8,400 万行未満のクエリは非常に低速です。具体的には、このクエリをスタンドアロンで実行するのに 47.41 秒かかります。何かアイデアはありますか?

私が必要とするのは、その課題が分類され、ドリフトを取得できることだけです. また、MySQL は大規模なデータ セットや Oracle や MSSQL などにはあまり適していませんが、現時点では他のデータベース ソリューションではなく MySQL で再構築するように言われています。

0 投票する
4 に答える
6291 参照

drop-down-menu - 膨大なドロップダウン リストの代替 (24,000 以上のアイテム)

私の管理セクションでは、アイテムを編集するときに、各アイテムを親アイテムに添付する必要があります。24,000 を超える親アイテムのリストがあり、ドロップダウン リスト (音楽アーティストのリスト) にアルファベット順にリストされています。

これらすべての項目をドロップダウン メニューに一覧表示する編集ページは 2 MB あり、特に Internet Explorer では、古いマシンを使用しているユーザーにとっては非常に遅くなります。

24,000 人のアーティストのうちの 1 人を選択する必要がある同じ機能を複製する代わりに、実際にすべてのアーティストをドロップダウン メニューに事前にロードする必要はありません。

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

wpf - 大規模なコレクションを DataGrid に表示する

コレクション内のアイテムの量: ~100k 列に表示されるフィールドの量: 4-10

問題自体 - コレクションは EntityFramework を使用してデータベースから取得されます。必要なすべてのデータを読み込んで実体化するには、開発用コンピューターで約 10 ~ 12 秒かかります。さらに別の問題として、同じコレクションを複数のコントロールにバインドできるため、それらを個別にフィルター処理する必要があります (= デフォルトのコレクション ビュー フィルターを設定しない)。現在、バインディングを次のように設定しています。

新しい CollectionViewSource を作成すると、初期化にかかる時間が大幅に増加します - 数分 (そして、何らかの理由で 100k コレクションを列挙していると思われます)。つまり、設定しただけの場合:

データベースからデータをロードして実体化するには、10 ~ 12 秒しかかかりません。

質問 - 私のコードに何か問題がありますか? そうでない場合、同じ大規模なコレクションを異なるアイテム コントロールにバインドするが、異なるコレクション ビューを使用するための正しいアプローチは何でしょうか?

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

python - psycopg2 COPY using cursor.copy_from()は、大きな入力でフリーズします

psycopg2cursorオブジェクトを使用したPythonの次のコードについて考えてみます(わかりやすくするために、一部の列名が変更または省略されています)。

  • データベースは、高速LAN上のリモートマシンにあります。
  • from bashの使用\COPYは、大きな(〜1,000,000行)ファイルの場合でも非常に高速に機能します。

このコードは5,000行に対して超高速ですが、data.csv10,000行を超えると、プログラムは完全にフリーズします。

何か考え\解決策はありますか?

アダム

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

php - PHP cURL'致命的なエラー:大きなデータセットの許容メモリサイズ'

内部メモリを設定するオプションについて知っています

しかし、データをクエリするためのより良いアプローチがあるかどうか知りたいですか?

さらに1000レコードを照会する必要があるかどうかを確認するWHILELOOPがあります。オフセットを開始レコード番号として使用し、制限を返されるレコードとして使用して、データ要求に一致するすべてのレコードを検索します。エラーが発生する前に、レコードで約100Kに達しました。

テスト中に、「致命的なエラー:許可されたメモリサイズ...」エラーが発生することがわかりました。上記のini_set()を設定してメモリを増やすことで読みましたが、もっとうまくコーディングできるかどうか知りたいですか?

WHILE LOOPで以下のコードを実行するたびに、メモリ使用量が非常に大きくなります。設定を解除しても($ curl)。次のcURLクエリの前に結果を解析した後、$result変数と$curl変数の設定を解除できれば、削減できると思います。

WHILE LOOP(スリムバージョン)

いくつかのメモリ番号

  • 呼び出しメモリ使用量の前:1819736
  • 呼び出し後のメモリ使用量:2285344
  • 必要なデータを保持する
  • 不要なデータをダンプする
  • 次のLOOP反復
  • 呼び出しメモリ使用量の前:2084128
  • 呼び出し後のメモリ使用量:2574952
0 投票する
1 に答える
2658 参照

sql - 一度に N 行のみをフェッチする (MySQL)

巨大なテーブルからすべてのデータを小さなチャンクでフェッチする方法を探しています。

お知らせ下さい。

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

javascript - 70,000 json データを効果的に選択/クエリする方法は?

私は現在、インドネシアの 70,000 以上の村で構成される JavaScript ライブラリ ( http://bisbak.com/regina/でアクセス可能) を開発しており、データ ブラウザ ウィジェットを作成しています。Safari と Firefox ではすべて問題ありません。しかし、Chrome を使用している場合、たまたま地区を選択すると (村が自動的に読み込まれます)、常に時間がかかります。地区の村を取得するコードは次のようになります。

データは、70,000 を超える村のキーを持つ json オブジェクトです。

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

java - Java Swing アプリケーションに割り当てるメモリ量をユーザーが簡単に選択できるようにするにはどうすればよいですか?

比較的大量のデータを処理する Swing アプリがあります。たとえば、現在、数百万行のデータを含む CSV ファイルを処理しています。パフォーマンスと単純さの理由から、すべてのデータをメモリに保持します。ただし、ユーザーが異なれば、処理する必要のあるデータの量も RAM の量も異なります。インストーラーを作成するときはもちろん、ヒープ サイズを指定する必要があります。ユーザーが構成や .bat ファイルを手動で編集しなくてもヒープを指定できるようにする簡単な方法はありますか? すべてのユーザーがこれに満足しているわけではないと思います。

アプリが 3 つの異なるショートカットを指定し、それぞれに異なるメモリ量が指定されている 1 つの例を見てきました。これは機能する可能性がありますが、より柔軟なオプションが必要です。ユーザーは、自分に最適なものを選択できます。