2016-12-23 3 views
1

アプリケーションスタックにさまざまなコンポーネントを含むkubernetesクラスタを設定していますが、コンポーネントの数を最小限に抑えながらストレージ要件のバランスを取ろうとしています。大きな+小さなファイルストレージ(kubernetes上)のglusterfs + mongodbの代わりに?

私たちは毎日何万ものHTMLファイル(および多分PDF)をダウンロードし、これらをどこかに(いくつかのJSONメタデータと一緒に)保存したいと思うウェブスクレイパーを持っています。私は、ファイルを冗長なスケーラブルな方法で保存したいが、何百万という小さなファイルを持つことは、例えば、 GlusterFS。

同時に、我々のシステムで使用されるいくつかの非常に大きなバイナリファイル(数ギガバイト)と、おそらく多くのより小さなバイナリファイル(MBの10個)があります。これらは、MongoDBのような配布されているNoSQL DBには適していないようです。

私はMongoDB + GlusterFSを使用してこれら2つのニーズに個別に対応することを検討していますが、むしろ動く部分の数を減らして1つのシステムだけを使用したいと考えています。私はGlusterFSの使用に関するさまざまな警告を、例えばRedhatのサポート(私たちは絶対に持っていないでしょう)。

誰にでも代替手段をおすすめできますか?私はセットアップ/保守が容易で、小さなファイルと大きなファイルの両方をサポートする分散バイナリオブジェクトストアであるものを探しています。私たちのセットアップの利点の1つは、ファイルの更新や削除がまれにしか行われない(書き込まれてから読み込まれる)ことがほとんどでなく、索引付け(elasticsearchで個別に処理される)や読み取りの高速アクセスも必要ないということです。

+0

Ceph、多分?どちらもhttp://kubernetes.io/docs/user-guide/persistent-volumes/によるk8sによってうまくサポートされているので、これはk8sではなく、Ceph vs. GlusterFSに関するものとは思えません。すべての比較に一定の偏りがあるため、私はここにGoogleの結果を掲載したくありません。 可能であれば、MongoDBを避ける方がよいでしょう。 – Hang

+0

お返事ありがとうございます。なぜ私はモンゴーを避けるべきなのか、あなたはコメントできますか? cephはglusterfsよりも多くの小さなファイルにとってはるかに優れています - 後で待ち時間が問題になるためです。 –

+0

これは本当に問題ではないので、司会者は「どちらが良いか」といった質問は好きではありません。https://www.reddit.com/r/sysadmin/comments/2t85ya/一言で言えば、重要なポイントは、あなた自身のテストケースを構築することです(誰も小さなものがどれほど小さいかは分かりません)。そして両方のシステムでそれを試してみてください。 MongoDBの場合は、ここから開始してください。https://www.reddit.com/r/programming/search?q=mongodb – Hang

答えて

2

あなたは雲の中にいますか? AWS S3が優れたスポットであれば、オブジェクトストレージはあなたが望むかもしれないように聞こえるが、あなたの必要条件は不明である。

クラウドに存在しない場合は、s3と同じ種類のオブジェクトストレージを提供するMinio(https://www.minio.io/)を実行できます。

私はMongoDBにバイナリドキュメントを格納していて、EBSボリュームを持つノードをバックアップしています。

+0

スティーブさん、ミニオはとても面白いですね、私はそれをチェックします(私は雲ではないこれらはベアメタルサーバーです)。私の懸念は、私のバイナリ文書のいくつかは大きなギガバイトであり、明らかにgridfsは(メモリ内のオブジェクトを再構成する必要があるため)作成されていないということです。 –

関連する問題