SQL_Database

DBにファイルデータを保存しないほうがいい理由



私が以前にDBにファイルデータを保存して失敗したと思ったお話です。

システム自体は簡単でファイルのやり取りを行うものでした。

ファイルの容量もそんなにないのでDBに保存することになって実際に開発して運用して失敗したと思いました。


DBにファイルデータを入れては行けない理由

DBにファイルデータを入れてしまうと様々な弊害が発生します。

データ量の増加

1レコードあたりの容量がファイルを入れたことにより通常の場合と比較してかなり大きくなってしまいました。

例えばvarchar(256)の列が10列あって1Mには及びませんが、ExcelやPDFのファイルをアップするだけで1Mをゆうに超えていきます。

最悪容量が多いファイルがアップされた場合は1レコード取得するのも、困難になってしまいました・・・


ネットワークの圧迫

前述に述べた通りにデータ量が増えてしまったことによりDBとWebサイトを別サーバーにしていた場合に、ネットワークが圧迫されてしまいDBからのレスポンスがとても遅くなってしまいました。

DBからのレスポンスが遅く最悪タイムアウトが発生・・・


メンテナンス性の悪さ

DB自体のメンテナンス性は最悪です。

ファイルがDBに入っているので通常のメンテナンスを行うときでさえレスポンスが遅くて困ることも多々有りました。

また、ファイルのバックアップを取っておくことや、古いファイルデータの一括削除などを行うのも大変です。


DBにファイルを入れない!

結論としてはDBにファイルを入れてはいけません!

DBにファイルを入れると百害あって一利なしの状態になってしまいます。

DBには「ファイル名」や「ファイルパス」などを入れて実ファイルはサーバー上に置いておくといいでしょう。



コメントを残す