問題タブ [bigdata]
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.
bigdata - どのデータストアテクノロジー/ソリューションが非常に高速な挿入、検索、および「選択」を可能にするか
これが私の問題です。
たくさんのデータを取り込みたい....現在、数百万行、後には数十億行。
私はMySQLを使用していて、今はPostgreSQLで遊んでいます。
挿入は簡単ですが、挿入する前に、その特定のレコードが存在するかどうかを確認したいのですが、存在する場合は挿入したくありません。DBが大きくなるにつれて、この操作は(明らかに)ますます長くなります。
私のデータがハッシュマップにある場合、ルックアップはo(1)になるので、ルックアップに役立つハッシュインデックスを作成すると思いました。しかし、毎回ハッシュを再度計算する必要がある場合は、プロセスが大幅に遅くなることに気付きました(インデックスを計算しない場合は、o(1)ルックアップがありません)。
だから私は困惑しています、簡単な解決策はありますか?それとも複雑なものですか?他のデータストアを試してみるのはうれしいですが、WHERE句を使用したSELECTステートメントに似たような、かなり複雑なクエリを実行できる必要があるため、no-sqlソリューションが適用できるかどうかはわかりません。
私は非常に初心者なので、些細な解決策があったとしても驚かないでしょう。
mongodb - MongoDBとCouchDBのビッグデータの平均を取る方法は?
私はこのチャートを見ています...
http://www.mongodb.org/display/DOCS/MongoDB,+CouchDB,+MySQL+Compare+Grid
...これは言う:
クエリメソッド
CouchDB-クエリごとにインデックスを遅延構築するためのjavascript関数のマップ/リデュース
MongoDB-動的; オブジェクトベースのクエリ言語
これは正確にはどういう意味ですか?たとえば、平均1,000,000,000の値を取得したい場合、CouchDBは自動的にMapReduceの方法でそれを実行しますか?
誰かが両方のシステムで平均1,000,000,000の値を取得する方法を教えてもらえますか...これは非常に明るい例です。
ありがとう。
mysql - 特定のニーズに対するNoSQLの推奨事項
次の単純な構造のMySqlテーブルを使用しています。
ID_A:int 8
ID_B:int 8
主キー:ID_A、ID_Bインデックス:ID_B
このMySQLテーブルには5億を超える行が含まれており、重みは20Goです。
私はそれらの種類のクエリを実行できる必要があります:
/li>innodbとMyIsamを試しましたが、大きな構成サーバーを使用しても、mysqlはGroupByクエリに応答できません。大量のメモリを消費するため、スクリプト側からも実行できません。
すべてのデータをRAMに収めることはできません(現在は20Goですが、近い将来は60Goになります)。
NoSqlデータベースを使用する必要がありますか?MongoDB?マップリデュースDB?
助けてくれてありがとう
qt - 大量のデータのレンダリング
私は3D浮動小数点行列を持っていますが、最悪のシナリオではサイズが(200000x1000000x100)になる可能性があり、Qt/OpenGLを使用してこの行列を視覚化したいと思います。
要素の数が非常に多いので、カメラがマトリックスから遠く離れているときに、マトリックスがどのように見えるかを概算するいくつかの興味深い点を示すようにレンダリングしたいと思います。カメラが近づくと、より多くの詳細を取得したいので、より多くの要素が計算されます。
このような視覚化を扱うテクニックがあるかどうか知りたいです。
memcached - Pyrocache と Memcached
私はいくつかのプロジェクトで PyroCMS を使用しました。とても気に入っています。私は現在、それに基づいて別のウェブサイトを開発しています。私の Web サイトでは、大きなデータベースで作業する必要があります。実際にはそれほど大きくはありませんが、キャッシュ モジュールを必要とするのに十分な大きさです。組み込みの Pyrocache ライブラリまたはサードパーティのキャッシュである memcached の使用をためらっています。では、なぜ memcached を使用する必要があるのでしょうか。Pyrocache は大きなデータも管理できますか? memcached と比較して Pyrocache の利点は何ですか?
私の Web サイトでは、200.000 以上の場所に関する情報が表示されますが、データは長期間静的です。キャッシュを使用してすべての位置データをキャッシュしたいので、ユーザーが要求すると、データベースにクエリを実行せずに結果を直接返します。Pyrocache は私のシナリオに対応できますか?
ありがとう、レオ
bittorrent - BitTorrent ピアは、多数のアイドル トレントのシード処理を処理できますか
データ ソースがペタスケールであり、ユーザーが最大数テラバイトを必要とする大規模なデータ配布の問題に bittorrent を使用することを検討しています。いくつかの詳細
- 潜在的に数百万の torrent の数
- 100Mb から 100Gb までの torrent サイズ
- シーダーとして機能できる世界中のクラスターの安定したセット。それぞれが torrent 全体の大きなサブセット (平均で 60% など) を保持します。
- 平均して数テラバイトのデータをダウンロードしたい比較的少数の同時ユーザー (100 未満)。
アクティブな torrent の数は、利用可能な合計に比べて少ないと予想されますが、サービスの品質が重要であるため、各 torrent に複数のシーダーが必要であるか、新しいシーダーを起動するための何らかのメカニズムが必要です。
私の質問は、BitTorrent クライアントが膨大な数のトレントのシード処理を処理できるかということです。そのほとんどはアイドル状態です。クラスター内のシーダー間で torrent をストライピングする必要がありますか?それとも、各ノードがアクセスできるすべての torrent をシードすることができますか? どのクライアントが最高の仕事をするでしょうか? シーダーのクラスターを管理するためのツールはありますか?
トラッカーはこのレベルまで拡張できると思います。
mysql - Mysql から MongoDB への切り替え 2 億行
mysql から mongodb に移行しようとしています。mysql 構造は id_src int id_dest int 一意のキー: id_src,id_dest
それらはmysqlの約2億行です
データ例 : {id_src,id_dest} {1,2} {1,3} {1,10} {2,3} {2,10} {4,3}
データを取得する必要があります: {id_dest,count} {3,3} {10,2} {2,1}
mongodb で mysql の構造を再現し始めました。挿入のパフォーマンスは非常に優れていました (非常に優れていました)。2 億行を挿入するのに約 1 時間かかりました。
しかし、グループを取得するには map reduce を使用する必要がありました。マップ縮小は約1時間かかりました。
そこで、別の mongodb 構造を作成しようとしました: {id_dest,{id_src1,id_src2}}
各ドキュメントには、10 万個の id_src を含めることができます。
これが私のinsert.phpコードです
ただし、その場合、パフォーマンスは非常に悪く、1 秒あたりの更新はわずかです。
私は何か間違っていますか?
r - Rでバッファがフラッシュされたかどうかのテスト
使用する大きなファイルがいくつかあり、それらにアクセスするためにいくつかの異なるI/O機能を使用しています。最も一般的なものはbigmemory
パッケージです。
ファイルに書き込むときに、出力バッファーをフラッシュする難しい方法を学びました。そうしないと、データが保存されたかどうかについてすべての賭けが無効になります。ただし、これにより、処理中に非常に長い待機時間が発生する可能性がbigmemory
あります(数分)。なぜこれが起こるのかわかりません-常に起こるとは限らず、簡単に再現することもできません。
特にI/OバッファがRでフラッシュされたかどうかを判断する方法はありbigmemory
ますか?オペレーティングシステムが重要な場合は、そのように答えを自由に制限してください。
答えを超えて一般化できるのであれば、bigmemory
他のメモリマッピング関数やI / Oストリームに依存することがあるので、それは素晴らしいことです。
バッファがフラッシュされたかどうかを確認するための適切な解決策がない場合、バッファがフラッシュされたと見なすことができる場合がありますか?つまり、を使用する以外にflush()
。
更新:これらはすべてバイナリ接続であることを明確にする必要があります。@RichieCottonはisIncomplete()
、ヘルプドキュメントにはテキスト接続についてのみ言及されていますが、注意しました。それがバイナリ接続に使用できるかどうかは明らかではありません。
r - Rを使用して大きな数をプロットしますが、すべての数が表示されているわけではありません
Rを使用してグラフに739455データポイントをレンダリングしようとしていますが、x軸でこれらの数値をすべて表示することはできません。それを行う方法はありますか?
私はRに不慣れです。
ありがとうございました
java - 高レベルの Java 最適化
for、while、および do-while ループを使用して低レベルの Java 最適化を行う方法、およびそれが必要かどうかについては、多くの質問と回答、および意見があります。
私の質問は、設計におけるハイレベルベースの最適化です。私が次のことをしなければならないと仮定しましょう:
特定の文字列入力について、文字列内の各文字の出現回数をカウントします。
文字列が数文の場合、これは大きな問題ではありませんが、代わりに、900,000 語のファイル内の各単語の出現回数をカウントしたい場合はどうなるでしょうか。ループの構築は時間を無駄にするだけです。
では、この種の問題に適用できる高レベルの設計パターンは何でしょうか。
私の主なポイントは、多くの問題を解決するためにループを使用する傾向があることであり、ループを使用する習慣をやめたいと考えています。
前もって感謝します
サム
ps 可能であれば、900,000 ワードのファイルの問題を解決するための疑似コードを作成していただけますか? 私は英語よりもコードをよく理解する傾向があります。これは、このサイトのほとんどの訪問者にとって同じであると思います。