SQL Server 2008 – FileStream

私たち、マイクロソフトの独りよがりになっているかもしれません。
最近、イベント・書籍・Webなどを通じて、マイクロソフトが盛んにお伝えしている各製品の機能をご存じない方が結構いらっしゃることに気がつきました。
ですので、ここで敢えて取り上げたいと思います。

SQL Server 2008 の開発注力ポイントのひとつに「Beyond the Relational」があります。
一言でいうと、「Tableに入れられるもの以外もRDBMSで管理する」ための機能です。

映像・写真などのコンテンツを扱っていらっしゃる皆様であれば、その重要性は良くご理解されていると思います。
既存ではどうやっているかといえば:

  • データ
    • メタデータ: RDBMS
    • ファイル: 巨大ファイルサーバー(SAN/NASなど)
  • 管理
    • 独自のシステム

だったのではないでしょうか?
システム経由でないと、そのデータの整合性は担保しずらいわけですね。

SQL Server 2008には、3つの手法で、RDBMSが一括して「データ」を「管理」できるようになっています。

  1. BLOB: これは以前からありましたが、ファイルデータをRDBMSのテーブルのひとつの列に格納します
  2. File Stream [NEW]: BLOBデータはファイルシステム上(NTFSのみ)に直接格納します。
  3. Remote BLOB [NEW]: 別のサーバーにBLOBをおくことができます。専用のAPIが用意されていて、それに対応したベンダー作成のストレージであれば、ファイルサーバーでもRDBMSでも、リモートのストレージの形式は問いません

SQL Server 2008 beyond Relational

個人的にお勧めなのが、FileStreamです。

  • パフォーマンスがBLOBに比べると良くなると言われています
  • ストレージ容量の制限が、飛躍的に拡大します。該当ボリュームの最大値まで、データ格納が可能です
  • Win32 Streaming APIも用意されていますので、開発する側から見たときに、SQL文を記述する以外の場面でも活用できると思います。

「素材管理システム」「デジタルアーカイブシステム」

見直しの時に、更に管理性の高まっているこの機能、是非検証してみてはいかがでしょうか?

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中