はい、OracleのバイナリデータにBLOBを使用できます。(および他の多くのデータベース。)ここでは、PDFファイルを保存するためにそれらを使用します。
私はそれがどちらか/両方の方法で行われるのを見てきました。画像をデータベースに保存するか、画像をファイルシステムに保存してから、ファイル名をデータベースに保存します。
データベースに保存する利点
それはデータベースにあります。レコードを引き出すと、関連する画像がすぐそこにあります。
ファイルとそれに関連するデータの間でデータの整合性が得られます(もちろん、優れたスキーマ設計を前提としています)。
データと画像を取得するための1つの論理演算。
多くのバイナリデータを保持するためにデータベースをスケーリングすることは、ファイルシステムの代替手段よりも難しく、費用がかかると思います。
データベースに保存することのデメリット
すべてのツールで画像を簡単に閲覧できるわけではありません。
Webから画像に簡単にアクセスすることはできません。
ファイルのサイズと量によっては、一部のテーブルに大量の生データが含まれる可能性があります。
BLOBデータのロードと保存は必ずしも簡単ではありません。(最近、ブロブされたPDFを処理するために、Hibernateのカスタムデータ型を作成しました。)
ファイルシステムの利点
おそらく、ファイルの読み取りと書き込みの方が効率的です。
Webで画像を提供したい場合は、ファイルシステムから直接提供できます。
デバッグ中の画像の閲覧が簡単で、これを行うための無料のツールがたくさんあります。
ファイルシステムにblobを配置するときは、アプリケーションをスケーリングする方が簡単だと思います。
ファイルシステムのデメリット
データの整合性/整合性の問題。ファイル構造について何かを変更すると、データベースで別の手順を実行できます。
バックアップすることは別のことです。
画像とデータを取得するための複数の論理操作(データベースからの読み取り、ファイルシステムからの読み取り)。