問題タブ [dht]
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.
.net - 永続バイナリ ツリー / .Net のハッシュ テーブル
berkeley-db Java 版と機能的に類似した、純粋な .Net 永続ハッシュテーブル/バイナリツリーが必要です。
機能的には、memcached や速度などの DHT と同様の方法で動作する必要がありますが、分散する必要はありません。本質的に、永続的なハッシュテーブルを探しています。
アイデアや提案はありますか?
同様の質問もここにあります: Looking for a simple standalone persistent dictionary implementation in C#
ポール
theory - 分散ハッシュ テーブル (DHT) の簡単な基本的な説明
DHT がどのように機能するかについて説明できる人はいますか?
重すぎることはなく、基本的なことだけです。
java - 低レイテンシ、高可用性のための Java 分散キャッシュ
memcached、jboss キャッシュ、ehcache などの分散キャッシュ/DHT を使用したことがありません。
まず、私は Web アプリケーションを扱っていません (これらのプロジェクトのほとんどは Web アプリケーションを対象としているようです)。私は金融商社向けのサーバー (実際には注文管理システム) を作成しています。サーバー自体はそれほど複雑ではありません。これらのメッセージの一部を変換しながら、情報 (市場データ、注文、約定など) を受信して宛先にルーティングする必要があります。
以下の問題を解決するためにこれらの製品を検討しています。
サーバーの状態の安全なリポジトリ。アプリケーションのロジックを一連のトランスフォーマー (Apache Camel と同様) として構築し、状態を「安全な」場所に保存したい
このリポジトリは分散する必要があります。これらのデータ ストアの 1 つがクラッシュした場合に備えて、さらに 1 つまたは 2 つが稼働し、それらにシームレスに切り替えることができるはずです。
このリポジトリは高速である必要があります。ここでは 1 桁のミリ秒がカウントされます。つまり、このデータを消費/処理するシステムは自動化されたシステムであり、人間がリンクをクリックするのではありません。このシステムは、高スループットと低レイテンシーを備えている必要があります。データをプロセス外に送信することで、必然的にパフォーマンスが低下しますが、絶対的な生の速度とデータの絶対的な保護のバランスをとろうとしています。
このリポジトリは安全でなければなりません。複数のオンライン バックアップに関するポイントと同様に、このシステムはデータをディスク (場合によっては複数のディスク) に書き込む必要があります。
独自の「トランザクション サーバー」を作成するのは本当にやめたいと思います。jboss キャッシュや ehcache などのプロジェクトを調べているのは正しいですか?
ありがとう
.net - .NET 用の BLOB の分散ストレージ?
永続的な分散ハッシュ テーブルを格納するために、十分にテストされたライブラリとサーバーを探しています。
データは非常にドキュメント指向であり、単一のインデックス (BLOB のハッシュによって計算) を持つ何百万もの ~64KB の BLOB で構成されているため、SQL ベースのソリューションの使用をためらっています。また、長期的なスケーリングのために分散できるようにする必要があります。見通し。
費用と帯域幅を考慮すると、S3 などの外部ソリューションはオプションではありません。
CouchDB や Project Voldemort のようなものが理想的ですが、両方の .NET バインディングが著しく不足しています (PV は Java から IKVMC できますが、「問題」があります)。キーと値の両方がバイト配列です (キーは 16 バイト、値は最大 2048KB 平均 64KB)
これまで、Dynamo、Chord などの .NET ポートの種類を検索してきましたが、結果の大部分は純粋にメモリ内キャッシュであり、永続性やレプリケーションの形式が欠けているようです。
アイデアや提案はありますか?
primary-key - 東京キャビネットで1対多の行を構築する方法は?
東京内閣の資料から引用します...
ハッシュテーブルのデータベースは、各キーがデータベース内で一意でなければならないため、キーが重複する複数のレコードを格納することはできません。
または tokyocabinet はタプルベースのキーを許可しますか?
1 対多のストアを設定する最良の方法は何ですか (クローラー 1 kw<->many docids など)
~B
protocols - トレントのDHTはどのように機能しますか?
分散化したいp2p実装をコーディングしていますが、ビットトレントなどのプロトコルでDHTがどのように機能するかを把握するのに問題があります。トラッカーがない場合、クライアントはピアがどこにあるかをどのように知るのですか?ピアは実際のトレントファイルに保存されていますか?
python - 実装するのが最も簡単なDHT
Pythonで実装するのが最も簡単な分散ハッシュテーブル(DHT)はどれですか?肥大化していない良い例はありますか?
私はDHTの定義を探していません。なぜなら、私はDHTの定義をより重視し、その設計と実装に焦点を合わせているからです。
python - Python 3.x への移植が最も簡単な Python 2.x DHT 実装はどれですか?
以前、私はどの DHT 実装が Python 3.x と互換性があるかを尋ねました- StackOverflow の回答は私の最悪の懸念を裏付けました: これまでのところ誰も Python 3.x 互換の分散ハッシュ テーブル実装をリリースしていません。つまり、袖をまくり上げて自分で仕事に取り掛かるということです。
私のプロジェクトは、必ずしも最高のパフォーマンスを必要とするわけではなく、単に真の DHT である必要があります。
この機能は私のプロジェクトの中核ではないため (しかし、本当に素晴らしいものになる可能性があります)、最終的なパフォーマンスの調整に行き詰まりたくありません。また、他人のバグを修正するために多くの時間を費やしたくもありません。
最も作業しやすい DHT 実装を取り上げて、それを 3.x に移植したいだけです。理論的には、この作業には、特定の実装がどのように機能するかについての深い知識は必要ありません。
上記のすべてを考えると、多くの python 2.x DHT 実装のどれから始めるのが最善の策になるでしょうか?