SQL Server のFILESTREAMとBLOB、SharePointのRBSの違いがよくわからないのですが。そのあたりが難しいので、メモしておきます。
FILESTEAMとBLOBについて
SQL ServerのFILESTREAMを使用すると、データベースのBLOB型(Binary Large Object)のデータをDB内ではなく、ファイルシステム(NTFS)に保存することが出来るようになります。メリットは大きなファイルでも、高速に読み書きが出来るようになります。
参考文献
SQL Server: FILESTREAM(ファイルストリーム) を使ってファイルを保存する方法
SharePointのRBSについて
SharePointはSQL Serverの Content DB(コンテンツDB)にデータを保存します。
ファイル(Excel, Word等のBLOB)を、Content DB(コンテンツDB)ではなく、外部のファイルシステム(NTFS)にデータを保存して、読み書きを高速化したい場合があります。
その場合には、SharePoint ServerからRBS(SQL Serverのアドインソフト)経由で、FILESTREAM(SQL Server)の機能を利用して外部ファイルシステム(NTFS)にデータを保存することができるようになります。
考察
SQL Server標準機能のFILESTREAMだけ利用するだけなら、RBS経由で外部ファイルシステムにデータを保存する必要が内容ですが、SharePointは FILESTREAMではなく、3rd Pirty の ProviderをRBS経由で呼び出せるようにしている関係で、RBS経由でFILESTREAMを利用しているようです。
※SharePointのContent DBのBLOBカラムに FILESTREAM Optionをつけて、SQL ServerにFILESTREAMに保存するようにはしていない。しようと思ったらできると思いますが。
参考文献
A few simple notes on Sharepoint / SQL Server Storage
この記事を書いた人
- 野呂清二(ご連絡はこちらまで (http://www.exceedone.co.jp/inquiry/)