私は DB に大量の画像を保存するアプリを使用しています。これについてはどうお考えですか? 私は DB に直接保存するよりも、ファイルシステムに場所を保存するタイプです。
長所と短所は何だと思いますか?
ベストアンサー1
私は数テラバイトの画像を管理するアプリケーションを担当しています。ファイル パスをデータベースに保存するのが最適であることがわかりました。
いくつか問題があります:
- データベースストレージは通常、ファイルシステムストレージよりも高価です。
- 標準的な市販製品を使用してファイルシステムへのアクセスを超高速化できます
- たとえば、多くの Web サーバーは、オペレーティング システムのsendfile()システム コールを使用して、ファイル システムからネットワーク インターフェイスにファイルを直接非同期的に送信します。データベースに保存されている画像は、この最適化の恩恵を受けません。
- ウェブサーバーなどは、ファイルシステム内の画像にアクセスするために特別なコーディングや処理を必要としません。
- 画像とメタデータ間のトランザクションの整合性が重要な場合には、データベースが優先されます。
- DBメタデータとファイルシステムデータ間の整合性を管理するのはより複雑です
- (Webアプリケーションのコンテキスト内では)データがファイルシステム上のディスクにフラッシュされたことを保証するのは難しい