たとえば...「テーマ」や「プラグイン」がWordPress側に保存されるのは、なんとなく、うなづけるのですが、「画像ファイル」は「記事」等が保存されるMySQL側で保存されても良いような...保存に関するWordPressの立て付けが、ちょっと、引っかかるというか...
MySQLはデータベースなので、データを格納します。画像は格納出来ないです。
▽2
●
fiwa ベストアンサー |
CMSの設計思想について詳しいわけではないですが、WordPressに限らず画像ファイル等はデータベースではなく、ファイルシステムで管理する仕組みになっているものが多いのではないかと思います。
画像ファイルをデータベースに格納しない理由は、パフォーマンスの問題が大きいのではないでしょうか。
結論から言ってしまうと、高速化を考えるなら画像のDB保存は避けた方が無難です。
DB保存のメリットとデメリットを挙げるとこんな感じでしょうか。
DBに保存するメリット
- セキュリテイ上の優位性。認証をパスした人だけに表示・DLさせるといったことが容易。
- ファイルとレコードが常に一致しているので、レコードはあるのにファイルがない(※もしくはその逆)…といった不整合が発生しない。
- ファイルとレコードが常に一致しているので、バックアップ・リストアも容易。
DBに保存するデメリット
- DB保存よりWebサーバの方がキャッシュに優れている。
- データベースへの負荷が増える。
- 表示方法によっては動作が遅い。
一方で画像ファイルをデータベースに入れるタイプのCMSも存在していて、例えばPloneというCMSの場合、以前のバージョンでは画像ファイルもデータベースに格納されるのがデフォルトだったようです。もっとも、Ver.4以降ではファイルシステムに保存されるようなったそうですが……。
Ploneは、ZODBと言われるデータベース(DB)が内包しています。オブジェクト型データベースで非常に使いやすい物になっています。そのこともあり、コンテンツ類はすべてこのDB内に保存します。コンテンツとは、文書やHTMLはもちろん、PDFファイルや画像ファイルなども同じDBに入れることになります。
コンテンツデータがすべて、データベースに入ると言うことは、データの可搬性が非常に高く、移設やテストなど非常に便利です。しかし、大型ファイルが多くなるとパフォーマンスが低下することがあります。
Ploneで大型ファイルを扱う ? 株式会社CMSコミュニケーションズ