3

次の点を考慮してください。

サイズが 40 KB から 120 KB の範囲の約 120 万の TIF ファイルを保存しています。

これらのドキュメントは、NTFS ファイル システムの Windows サーバーに保存されます。

ドキュメントは、次の変数を使用して保存されます。

  • クライアント
  • ドキュメントタイプ
  • 画像フォルダ
  • 実際の画像

下記参照:

C:\<client_id>\<doc_type_id>\image001\1.TIF

C:\1\3\image001\1.TiF

これは、PHP ホスト システムです。

この段階では、パフォーマンスは許容範囲です。今後の最善の戦略を知りたい。顧客とドキュメントの量が劇的に増加することを考えると。

ストレージ全体をJackrabbit CMSに置き換えることを検討しています。

これは方法でしょうか?または

ドキュメントを次のような形式で保存しています。

  • お客様
  • ドキュメントタイプ
  • ユリウス日ドキュメントがインポートされました。
  • 現在の使用者
  • 6桁の固有コード

C:\1\1\167\2\453257\image001\image.TIF

同じくらい効率的ですか?

CMS とファイル システムのその他の考慮事項はすべて考慮に入れてください。例: バージョン管理、データ バックアップ。

ありがとう。

4

3 に答える 3

4

本音をいうと?あなたが特定のサイズに達するまで、それは重要ではないと思います(そして、私は、私の人生の間、そのサイズを覚えることはできません...)。重要なのは、方法を見つけてそれを使い続けることです。うまくいけば、二度と触れる必要がないような方法になるでしょう。私自身のアドバイスは、それを裏付ける証拠ほど説得力のあるものはありませんが、あなた自身の提案に似ています。

c:\<customer_id>\<document_year>\<document_month>\<document_day>\actual_file.tif

また、サーバーの設定によっては、(データの量やアカウントの種類に応じて)各顧客に独自のドライブ/パーティションを提供する価値があるかもしれないという提案もあります。

ある種のユーザー制御またはアクセス許可システムがなければ、そのファイルパスは予測どおりに推測および参照される可能性があることに注意してください(これをまだ知らなかったかのように...ごめんなさい)。「6桁の一意のコード」の箇条書きを上げたという事実は、共通形式のパスが必要ないことを示唆していますが、(最終的に選択する形式の)共通形式はより良いアイデア。

Windowsの時代に戻って、ファイルのプライマリリレーションを中心に自分のディレクトリを並べ替えました。最近では「タグ」と見なされるようになりました(c:\documents and settings\university\year1\module21\assignment1.docたとえば)。これにより、後で見つけやすくなりました。あなたの顧客はあなたによってディレクトリ構造が強制されているように見えますが、6桁の一意の番号に到達したときに先週どこに何かを置いたかを覚えて、日付をたどるだけで先週行ったことを見つけるのは簡単です-名前付きフォルダは、まあ、難しいでしょう。せいぜい。

于 2009-09-05T01:51:57.543 に答える
2

あなたの質問はこれとよく似ています。負荷は主に画像の読み取りまたは書き込みですか? 読み取りのスケーラビリティが必要な場合は、この投稿で memcached について説明しています。これで十分でしょう。jackrabbit にはよ​​り多くの機能がロードされていますが、階層的なテキスト ストレージに適しています。画像のパフォーマンスが向上するかどうかはわかりません。また、jackrabbit を選択する場合は、jackrabbit が効率を維持できるように、コンテンツ階層が十分に深いことを確認してください。10,000 人以上の子供を持つ親は、標準以下のパフォーマンスになります。

于 2009-09-08T21:43:34.663 に答える
1

コンテンツを別のマシン (SAN/NAS) に移動する場合は、提案したストレージの戦略に対処する必要があります。これを行うには、パスからすべての顧客データを取り除き、アクセスしているファイルにリンクするためにデータベースに保存するハッシュを作成するだけです。このようにして、次のようなフォルダー構造が残ります。

NAS1/00/01/86/63/54/89/image01/image.tiff
NAS2/00/02/46/62/22/11/image02/image.tiff
...

また、 MogileFSをざっと見てみることをお勧めします。速度を上げるために必要なのは、その前にある種のプロキシを追加することだけで、すべてうまくいくはずです。

また、Dave が述べたように、1 つのフォルダーに多くの子を入れすぎないようにしてください。物事は10.000前後でかなり遅くなる傾向があります.

于 2009-09-08T23:25:48.373 に答える