35

私は長い間、クラウド コンピューティング/ストレージ ソリューションを探していました (Google Bigtable に触発されました)。しかし、使いやすくビジネスに適したソリューションが見つかりません。

Amazon の SimpleDB のようなシンプルでフォールト トレラントな分散 Key=>Value DB を探しています。

私は次のようなものを見てきました:

  1. The CouchDB Project : シンプルで分散型のフォールト トレラントなデータベース。ただし、JSON しか理解できません。XML コネクタなどはありません。
  2. Eucalyptus : 素晴らしい Amazon EC2 インターフェイス。オープン標準と XML。しかし、分散性が低く、耐障害性が低いですか? また、XEN/VMWare の問題に関するオープン チケットも多数あります。
  3. Cloudstore / Kosmosfs : 優れた分散型のフォールト トレラントな fs。しかし、構成が難しいです。Java コネクタはありますか?
  4. Apache Hadoop : データを保存する能力をはるかに超える優れたシステム。独自の Hadoop 分散ファイル システムを使用し、2000 ノードのクラスターでテスト済みです。
  5. * Amazon SimpleDB : オープンソースの代替手段が見つかりません! これは優れたシステムですが、膨大な量のデータには高価です。そして、あなたはAmazonにはまっています。

他のより良い解決策はありますか?どれを選ぶのが一番いいですか?SOF (Singe Point of Failure) の最小量を提供するのはどれですか?

4

12 に答える 12

17

memcachedはどうですか?

High Scalabilityブログでこの問題が取り上げられています。あなたが求めているものに対するオープンソースのソリューションがあれば、きっとそこにあるでしょう。

その他のプロジェクトは次のとおりです。

別の良いリスト: Anti-RDBMS: A list of distributed key-value store

于 2009-03-21T21:24:43.487 に答える
7

MongoDBは、CouchDBに非常に似ているが、JavaScriptのmap/reduceの代わりにSQLに非常に似ているクエリ言語を使用する別のオプションです。また、インデックス、クエリプロファイリング、バイナリデータのレプリケーションとストレージもサポートしています。

最初は圧倒されるかもしれない膨大な量のドキュメントがあるので、開発者のツアーから始めることをお勧めします

于 2009-04-06T07:25:28.217 に答える
4

ウィキペディアによると、Yahooは Hadoop に貢献し、本番環境で使用しています( wikipedia からリンクされた記事)。したがって、K/V 値データベースとしてカウントされるかどうかはわかりませんが、ビジネス実績にはカウントされると思います。

リストにないのは、MySQL を単純なスキーマのないキー/値ストアとして使用する Friendfeed システムです。

あなたの優先順位を理解するのは難しいです。CouchDB は単純で、耐障害性があり、分散されていますが、XML がないため、どういうわけか除外します。XML および Java コネクタは明示されていない要件ですか?

(とにかく、CouchDB は実際には除外されるべきです。なぜなら、それは若く、その API は安定しておらず、キーと値のストアではないからです。)

于 2009-03-21T16:20:41.343 に答える
4

私は Google のGoogle Base API を使用しています。これは Xml であり、無料で、文書化されており、クラウド ベースであり、多くの言語用のコネクタがあります。無料のホスティングも必要な場合は、請求書がいっぱいになると思います.

独自のサーバーをホストしたい場合は、東京キャビネットが答えです。キー=>値ベースで、フラットファイルを使用し、現在最速のデータベースです(Oracleと比較すると非常に必要最小限ですが、保存とアクセスが非常に優れています)データ、毎秒約 100 万レコード、約 10 バイトのオーバーヘッド (ストレージ エンジンによって異なります))。ビジネス対応に関しては、TokyoCabinet は Mixi と呼ばれるサービスの心臓部であり、これは日本の Facebook+MyPage に相当し、数百万人のヘビーユーザーを抱えているため、実際には非常に実績があります。

于 2009-03-22T02:08:58.683 に答える
3

Bigtable のようなものが必要な場合、HBaseHypertableを超えることはできません。どちらもオープンソースの Bigtable クローンです。ただし、考慮すべきことの 1 つは、要件が Bigtable に対して本当に「十分に大きい」かどうかです。数千台のタブレット サーバーにスケールアップするため、それを可能にするためのかなりのインフラストラクチャがその下にあります (たとえば、通常のノード障害の予測を処理します)。

少なくとも数十台のタブレット サーバーに拡張する予定がない場合は、提案されている代替案の 1 つを検討することをお勧めします。シンプルさの点で BerkelyDb やユビキタスの点で MySQL に勝るものはありません。キー/値データストアだけが必要な場合は、単純な「dict」ラッパーをデータベース インターフェースに配置し、バックエンドが足りなくなった場合はバックエンドを切り替えることができます。

于 2009-03-27T21:58:09.410 に答える
2

google の bigtable をモデルにしたhypertableを見たいと思うかもしれません。

于 2009-03-23T17:29:14.207 に答える
2

CouchDB を使用する

  • JSONの何が問題になっていますか?
  • JSON から XML への変換は簡単です
于 2009-03-28T02:06:27.753 に答える
1

これを見てみたいかもしれません (MySQL をキー値ストアとして使用):

http://bret.appspot.com/entry/how-friendfeed-uses-mysql

于 2009-03-12T17:05:52.970 に答える
0

Google の bigtableに触発されたものを探す代わりに、bigtable を直接使用してみませんか? Google App-Engine でフロントエンドを作成できます。

于 2009-03-23T18:04:54.197 に答える
0

あなたの質問のためのストレージツールの良いコンパイル:

http://www.metabrew.com/article/anti-rdbms-a-list-of-distributed-key-value-stores/

于 2009-11-28T05:35:32.420 に答える
0

Clouderaは Apache Hadoop を商用化する企業であり、もちろん製品化、構成、トレーニング、サポート サービスなどの付加価値を提供しています。

于 2009-03-21T21:17:32.270 に答える
0

テーブル スキーマ、キーと値のペア、ハッシュ テーブルをサポートするTokyo Cabinetも注目されています。組み込みスクリプト プラットフォームとしてLuaを使用し、通信プロトコルとして HTTP を使用します。

于 2009-11-28T12:05:53.283 に答える