問題タブ [high-volume]
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.
data-structures - タイム カレンダーのデータ構造
日中の部屋の予約可能時間などの情報を保存するシステムを更新 (書き換え) することを検討しています。現在、部屋が空いている開始時刻と日付を 1 つのテーブルに保存し、別のテーブルに個別の予約時間を保存しています。
表面的には、このように情報を保存することは論理的なアイデアのように思えましたが、時間が経ち、システムに大きな負荷がかかるようになると、このデータ構造は非効率的であることに気付き始めました。(すべての部屋を検索して空室時間を計算するのは集中的な操作になります。部屋が特定の時間空室である場合、要求された時間に対応するのに十分な時間空室がある時間です)。
私たちは、システムをより効率的にする方法についてぐるぐる回っており、これにアプローチするためのより良い方法が必要であると感じています. これについての提案や、このようなものを構築する方法について調べる場所はありますか?
transactions - What happens if a message is rolled back in MQ?
I receive a message from a WebSPhere MQ queue. I try to process and if i receive some exceptions i want to rollback the message to the MQ Queue.
I have no problems in doing the same. What happens to the message? Does it go to the bottom of the queue?
If i try and pull a message from the queue would i receive the same message that i rolledback?
What is the behaviour likely to be? I want to know this behaviour typically in a high volume Queue scenario?
Appreciate any inputs.
Thanks, Manglu
mysql - 数百万のエントリを持つデータベース設計
メッセージング システムがあるとします。このシステムには、何百万ものエントリが送信されて報告されており、その数は 1 時間ごとに 100K ずつ増加しています。2 つのサービスが db にアクセスします。1 つは送信者、もう 1 つはレポーターです。では、最大のパフォーマンスを得るために何を提案しますか? データベースはどのように設計できますか?
また、この大量のデータベースをフルフィルするために、mysql、postgresql、mongodb などの中でどのオープンソース RDBMS を提案しますか?
ありがとう
logging - 大量のJavaベースのAPIサービスリクエストのログ統計
JavaベースのAPIサービスの使用統計をログに記録できるようにしたい。推定リクエストレートは1分あたり10〜300であり、はるかに高い数に増加する可能性があります。詳細な分析は必要ありません。指定された時間間隔でヒット数をログに記録する単純なヒットカウンターだけで、時間に対する使用率のグラフを作成できます。
MySQLまたはダンプファイルでのログヒットが1つの可能性であると理解していますが、MySQLリクエストは高額に見えるため、これには潜在的なパフォーマンスの問題がある可能性があると思います。より良い解決策はありますか?私はウェブを見回しましたが、良い答えは見つかりませんでした。
delphi - 大量のロガー アプリケーションに使用する割り当て方法は?
Delphi を使用してロガー/スニファーを開発しています。操作中に大量のデータを取得し、ストレス操作中に約 3 GB のデータに蓄積する可能性があります。特定のコンピューターでは、これらのレベルに達すると、アプリケーションが機能を停止し、例外がスローされることがあります。
現在、GetMem 関数を使用して各メッセージにポインターを割り当てています。
失敗の可能性を最小限に抑えるために、メモリを割り当てるより良い方法はありますか? サイズを厳密に制限することはできないことに注意してください。
HeapAlloc、VirtualAlloc、またはマップされたファイルの使用についてどう思いますか? どちらが良いでしょうか?
ありがとうございました。
c - 主に作成するためのNoSQLデータベース
大量のデータを生成してディスクに保存するシステムに取り組んでいます。同社で以前に開発されたシステムは、データを保存するために通常のファイルを使用していましたが、いくつかの理由で管理が非常に困難になりました。
NoSQLデータベースは私たちにとって良いソリューションだと思います。保存するのは、通常、メタデータで注釈が付けられたドキュメント(通常は約100Kですが、場合によってははるかに大きくなったり小さくなったりすることもあります)です。クエリのパフォーマンスは最優先事項ではありません。優先順位は、I/Oができるだけ面倒にならないように書くことです。データ生成速度は約1Gbpsですが、将来的には10Gbps(またはそれ以上)に移行する可能性があります。
私の他の要件は、(できれば十分に文書化された)CAPIの可用性です。現在、MongoDBをテストしています。これは良い選択ですか?そうでない場合、他にどのようなデータベースシステムを使用できますか?
performance - Cassandra が 500MB のデータを書き込めません
1 台のマシン Windows ノードで Datastax ドライバー CQL3 を使用して、2GB (Cassandra の単一のキー/値の制限) のデータを単一 (または多数) の列に書き込もうとしています。 、それも、ほぼすべての種類の例外と構成の変更に直面することによって。その後、Cassandraは自分自身を殺します.最大2GBのデータを1つ(少なくとも)または多くの列に挿入してタイミングを見つける方法はありますか?
antlr4 - 大容量ファイルの Antlr4 パフォーマンスの問題
Oracle ファイルを解析するための antlr のパフォーマンスの問題に直面しています。変換用の oracle ファイルには、17/24/38 mb の非常に大きなサイズのファイルがあります。構文解析木を構築する間、多くの時間とメモリを消費します。コア OOM ダンプも提供します。解析ツリーの構築を無効にしようとしましたが、ウォーカーがファイルを通過せず、空のファイルが生成されるため、機能しません。BufferedInputStream
の代わりに使ってみました FileInoutStream
。パーサーとレクサーの他のそれぞれまたは同等のストリームの代わりに、、、BufferedTokenStream
を UnbufferedCharStream
使用 しようとさえしました
。UnbufferedTokenStream
どのオプションも機能しておらず、解析ツリーの生成と走査に多くのメモリと時間がかかっています。2 ギガのヒープ メモリでも実行してみましたが、それを超えるとコア OOM ダンプが発生します。
オンライン フォーラムによると、Antlr が大きな入力ファイルを解析しようとすると、これは非常に一般的な問題のようです。別の方法として、入力ファイルを複数の小さなファイルに分割することを提案します。また、リスナーとビジターを脇に置いて、文法で直接オブジェクトを作成し、ハッシュマップ/ベクトルを使用できるとも述べています。
setBuildParseTree = false を参照する良い例はありますか? ANTLR4 Java パーサーは非常に大きなファイルを処理できますか、またはファイルをストリーミングできます か? ANTLR で大きなファイルを解析することは可能ですか?
過去にそのような Antlr の問題に遭遇したことがありますか? はいの場合、どのように処理されましたか? メモリ フットプリントを削減し、Antlr 固有のパフォーマンスを高速化するのに役立つ提案はありますか?
入力ファイルにはほとんどの場合、select ステートメントと insert ステートメントが含まれています。しかし、これらのファイルは大容量です。