20

私の顧客の1人が、pdf、doc、docxなどのさまざまな形式の数千のドキュメントのドキュメント管理システムを求めています。私の質問は、このファイルをデータベースまたはファイルシステムに保存するための最良の方法は何ですか。2つのアプローチの間でドキュメントを保護するのはどれくらい簡単ですか?

ファイルの高速取得が重要な要件です。

それが役立つ場合はmysqlを使用しています

よろしく。

4

3 に答える 3

19

ファイルシステムに直接保存することをお勧めします。

ファイルシステムを使用する場合は、次の点に注意してください。

  • 機密性:ドキュメントをApacheドキュメントルートの外に置きます。次に、あなたのPHPコントローラーがドキュメントを出力します。
  • シャードパス:同じディレクトリに何千ものドキュメントを保存せず、別のディレクトリを作成します。たとえば、ファイル名にハッシュを付けてシャーディングできます。/documents/A/F/B/AFB43677267ABCEF5786692/myfile.pdfなど。
  • iノード番号:小さなファイルをたくさん保存すると、iノードが不足する可能性があります(主にPDFやオフィスのドキュメントを保存する場合はそうではないかもしれません)。

これらのドキュメント(日付/タイトルなど)を検索する必要がある場合は、パフォーマンスを向上させるためにメタデータをデータベースに保存することをお勧めします。

参考までに、この質問では、 MS SQL Serverには(ハイブリッドのような) FILESYSTEM列タイプがありますが、現時点ではMySQLに代替の列タイプはありません

于 2011-08-04T10:27:54.090 に答える
6

ビッグデータブロブにファイルシステムアクセスを使用することは、一般に、それらをmysqlデータベースに保存するよりも高速なアクセスと少ないオーバーヘッドを意味します。

興味深く、おそらく関連する投稿の1つ:画像をDBに保存する-そうですか、それともそうですか?

于 2011-08-04T09:32:57.807 に答える
1

高性能を得るには、phpglob関数とJSインターフェイスを使用してファイルシステムを使用する必要があります。このようなプロジェクトは3月に終了しました。

于 2011-08-04T09:34:09.560 に答える