人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

WordPressのデータの保存先は、なぜ、WordPressと、MySQLに分かれているのしょう?

●質問者: torimaki
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

質問者から

たとえば...「テーマ」や「プラグイン」がWordPress側に保存されるのは、なんとなく、うなづけるのですが、「画像ファイル」は「記事」等が保存されるMySQL側で保存されても良いような...保存に関するWordPressの立て付けが、ちょっと、引っかかるというか...


1 ● takipon

MySQLはデータベースなので、データを格納します。画像は格納出来ないです。


torimakiさんのコメント
takiponさん、ご回答、ありがとうございます。 MySQLは画像を格納できないのですね。スッキリしました!

fiwaさんのコメント
まぁ別に出来なくはないでしょうけど。 http://www.itmedia.co.jp/enterprise/0309/24/epn25.html

torimakiさんのコメント
添付して頂いたURLのサイト、拝見しました。(内容は理解できないのですが)MySQLでも、写真が格納できるという。。。また、モヤモヤしてまいりました。

2 ● fiwa
ベストアンサー

CMSの設計思想について詳しいわけではないですが、WordPressに限らず画像ファイル等はデータベースではなく、ファイルシステムで管理する仕組みになっているものが多いのではないかと思います。
画像ファイルをデータベースに格納しない理由は、パフォーマンスの問題が大きいのではないでしょうか。

結論から言ってしまうと、高速化を考えるなら画像のDB保存は避けた方が無難です。
DB保存のメリットとデメリットを挙げるとこんな感じでしょうか。

DBに保存するメリット

DBに保存するデメリット

ブログのレスポンスを高速化する為に行った7つの施策 | 14時の間食


一方で画像ファイルをデータベースに入れるタイプのCMSも存在していて、例えばPloneというCMSの場合、以前のバージョンでは画像ファイルもデータベースに格納されるのがデフォルトだったようです。もっとも、Ver.4以降ではファイルシステムに保存されるようなったそうですが……。

Ploneは、ZODBと言われるデータベース(DB)が内包しています。オブジェクト型データベースで非常に使いやすい物になっています。そのこともあり、コンテンツ類はすべてこのDB内に保存します。コンテンツとは、文書やHTMLはもちろん、PDFファイルや画像ファイルなども同じDBに入れることになります。
コンテンツデータがすべて、データベースに入ると言うことは、データの可搬性が非常に高く、移設やテストなど非常に便利です。しかし、大型ファイルが多くなるとパフォーマンスが低下することがあります。
Ploneで大型ファイルを扱う ? 株式会社CMSコミュニケーションズ


torimakiさんのコメント
fiwaさん、ご回答、ありがとうございます。 CMSについては、言葉を知っているていどですが、 「パフォーマンスの問題では」というご指摘は、 直感的に「うん、うん」という感じであります。 PloneというCMSもあるんですねぇ。 ウェッブサイト制作経験1年未満、 WordPress一本やりの当方にとって、 視野が、ちょっぴり、開けましたー。

fiwaさんのコメント
それこそ星の数ほどあるCMSですが、データベースを全く使わないタイプも存在します。一時期だいぶ下火でしたが、最近また少し見直されてるみたい。 [http://wslash.com/?p=5444:title]

Sampoさんのコメント
画像をDBに保存する保存するメリット・デメリットの記事は、今年書かれたものながら知識としてはやや古く感じます。 まず、DBサーバに置かない場合にはファイルとしてWebサーバに置くとしてしまっている点。 この場合、Webサーバにファイルとして置くことの最大の問題点が、「Webサーバを並行稼働させられない」点です。 アクセスが増え、一台のWebサーバでリクエストをさばくことができなくなった場合、同じDBシステムを参照するWebサーバを複数立てて負荷を分散する必要が出てきます。 ところがアップロードされたファイルをWebサーバ内に直接ファイルとして保存するなら、アップロードを受け付けたサーバ以外では画像が表示されないことになってしまいますね。 ファイル直接保存では、アクセス増にサーバ増で対応できないのです。 ではどうするか。DBに保存するのは1つの方法です。takiponさんの回答は誤りで、MySQLに限らずDBは画像データを受け入れ可能です。しかしパフォーマンス上の悪影響はやはり問題。 そこで現在よくある方法は、Amazon S3に代表されるオブジェクトストレージに保存する方法です。保存したデータにはURLが付くので、データベースにはそのURLさえ保存すれば十分。DBに保存するような権限制御はできませんが、十分複雑なURLにしておくことで知らない人は開きようがないという体制にすればまあ十分制御できると言えるでしょう、という管理をfacebookなんかもしています。

torimakiさんのコメント
現在は、WordPressのユーザーが多いのですが、これから、どうなっていくのか。。。データー保存の方法から目配りしていくことも、必要であると。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ