2011-07-29 10 views
1

私はcouchdbについてのあなたの考えを聞きたいと思うし、私のユースケースを扱うだろう。couchdbは、複数のサーバー上の添付ファイルを含む多数のドキュメントに適していますか?

私は何をするつもりです、私はどこに1から10メガバイトの添付ファイルを約20kbのサイズで文書を格納するデータベースがあります。私のスキーマを持つサーバあたり

  1. 意志カウチハンドルデータベース10TB以上?(4Uケースであなたは24台の2TBのドライブを置くことができますので、私ダウン非常に少ない読み込み、があるでしょう?、このあまりソファあたりのノードであります)スピードが必要

  2. 意志のソファは、()4ノードへの例えば複数のサーバーにすべてのデータを分割については、添付ファイル

  3. どのようにして、すべての文書ができ複製すること?それは多くの添付ファイルを処理しますか?

ここではどのような問題がありますか?

より多くの情報が必要:)

答えて

3

を依頼してください、私は「それは私がソファには、いくつかの作り付けのを持っているとは思わないで、あなたは10TBのファイルを物理的限界にヒットするとは思わないよりも大きなファイルを使用することはできませんXは< 10TBである。

ただし、

最大の問題は、ファイル圧縮です。スペースを再利用するために、Couchはファイルを圧縮したいと考えています。これは実質的にファイルをコピーすることを意味します。したがって、新しいコピーのライブデータを複製するため、少なくとも10TBは20TBにする必要があります。

ほとんどの場合、新しいデータを追加するだけで、古いデータを更新したり上書きしたりすることはありません。それでは、圧縮ではそれほど大きな利益を得ることはできません。あなたのデータが基本的に静的であるならば、私はファイルを構築し、最後にそれを圧縮し、それを使ってファイルを作成します。

ソファには「サードパーティ」シャーディングソリューションがあり、ラウンジが人気です。

私がソファソリューションに近づくときには、主に考慮すべきクエリー基準があります。ソファは本当にすべての意見についてです。あなたはどんな見方をしていますか?単純なキー(ファイル名、日付など)でデータを格納するだけであれば、ファイルシステムと適切なディレクトリ構造を使用するほうが良いでしょう。

多くの読書をするつもりはないので、使用する予定のあなたの意見についてもっと聞きたいと思います。

補遺:

あなたはまだあなたが探しているクエリの種類を言及していません。クエリーは、効果的に、特にカウチDBの設計コンポーネントです。大規模なデータセットに新しいクエリーを追加するのがますます困難になるからです。

あなたが添付ファイルを言ったとき、あなたが添付ファイルを扱うことができるので、あなたはCouch DBペイロードへの添付ファイルを意味すると仮定しました。

だから、キャプチャしたい情報をすべてキャプチャしたメタデータドキュメントを簡単に作成でき、そのドキュメントの一部としてファイルシステムに格納されている実際のファイルにパス名を追加できます。これにより、Couchファイルの全体的なサイズが大幅に縮小され、メンテナンスがより迅速かつ効率的になります。もちろん、それは単一の文書ですべてを持つという「自己完結型」の部分の一部を失います。

+0

10TBは1つのファイルではなく、すべてのデータベースを1つのサーバーにまとめたものです。 atachments約10 MB 私はいくつかの分散ファイルシステムを使用してみましたが、ファイルについてのいくつかのデータも保存しなければなりません(メタデータ、ファイルに関するすべての情報、それは何ですか? )、私はデータベースとファイルシステムを扱うには余りにも多くのことがあります。 それを一緒に組み合わせた1つのデータベースを持つことは大変です。 小さなscalleでそれは動作しますが、私は複数のノードとTBのデータに分割されるときにどのような問題があるのか​​聞きたいです。 それは動作しますか? thanx – Edmhs

関連する問題