0

メディア ファイル (画像など) 用の分散データベースを作成したい場合、何を使用しますか?

アイデアは、DB は特定のエンティティによって制御できないということです (ただし、ソフトウェアは制御可能ですが、GPL / フォーク可能です)。

代わりに、libtorrent のようなものを持ち、データベースの参照/キャッシュに使用できるクライアントが必要です。「ソース」のリストを使用してクライアントを構成します。

Cydia はこれに適したモデルです。

ただし、Webホストを使用する代わりに、スーパーノードとして機能するビットトレントシーダーを使用したいと思います(これは、任意のツリーの高さのサブノードをカタログ化します)

libtorrent が最善の方法でしょうか? または、より良い代替手段がありますか?

4

1 に答える 1

0

特定のトレントにシーダーが存在するからといって、クライアントがシードしているものを認識しているとは限りませ。少なくともマグネットリンク、または個別の「もの」ごとにトレントファイルが必要になります。

だから、トレントでコンテンツを「キャッシュ」する、わかりました、しかし「ブラウジング」に関する限り、あなたは何か他のものが必要です(例えば:マグネット/トレントファイルをリストするインデックス-そして私はあなたがlib/bittorrentを使ってそれを構築するだろうとは思えません...)。

第二に、「ソース」のリストは、群れに接続するためにトラッカーによって提供されます。DHTを使用している場合は、少なくとも既知のピア(スーパーノードと呼びます)のリストが提供されます。

また、明らかに(?)トレントでコンテンツを「更新」することはできません-何かが「変更」された場合、それは別のトレントです-したがって、短期的には、変更できないアイテムを含むデータベースがあります... bittorrentを介して「複製」されますが、他のテクノロジーによってインデックスが作成されます。

なぜあなたが「分散データベース」を(再)実装するためにbittorrentを検討しているのかよくわかりませんが、これは私には不定形のようです(インデックスのために、それは分散されず、かなり敗北します)目的)。

問題が信頼性/スケーラビリティである場合は、ネイティブにその仕事をする(既存の)「db」エンジンを検討してみませんか?(mongo、hadoop上の分散ファイルシステム、またはノード間の古き良き手作りデータレプリケーション、さらにはsqlマスタースレーブ、またはいくつかのクラウドストレージを使用したレプリカセット...)

問題がデータベースの「所有権」である場合でも、コンテンツではなく、インデックスに問題があります。これで、ピアが所有するアイテムのリストをピア間で交換して、特定のピアが別の特定のピアからデータを取得できるようにすることが想像できますが、これは私が「データベース」と呼ぶものとはかなりかけ離れています...

「データベース」の概念を手放さずに(少なくともインデックス上で)「所有権」を手放すことはできないと思います...(「DBはによって制御できない」という意味をよく理解していると仮定します特定のエンティティ」)

于 2012-10-02T02:54:16.030 に答える