比较用于存储 Blob 的选项 (SQL Server)

讨论和比较用于在 SQL Server 中存储文件和文档的选项。

主题内容

  • 在数据库中存储文件 - 好处和期望

  • FILESTREAM

  • FileTable

  • FILESTREAM 和 FileTable 的比较

  • FILESTREAM 和远程 BLOB 存储区 (RBS) 的比较

  • 详细信息

在数据库中存储文件 - 好处和期望

很大比例的企业数据本质上是非结构化的,通常作为文件和文档存储在文件系统中。 大多数此类数据由应用程序生成、管理和使用,应用程序通过 Windows API 访问这些文件。 企业通常将此类数据保存在文件系统中,同时将文件的相关元数据存储在关系数据库中。

将非结构化数据集成到关系数据库可提供很多好处。 其中包括:

  • 集成的存储和数据管理功能,例如备份。

  • 一些集成服务,如针对数据和元数据的全文搜索和语义搜索。

  • 易于对非结构化数据的管理和策略管理。

但对于大部分企业而言,难以将这种非结构化数据存储在关系数据库中。 以前不能在关系型系统上运行基于 Windows 的现有应用程序。 重写现有应用程序(如 Microsoft Word 或 Adobe Reader)以便在关系数据库 API 上运行并不现实。 这些应用程序只是希望能够通过 Windows API 访问数据。 换而言之,要求做到以下几点:

  • Windows 应用程序并不识别数据库事务,也不需要它们。

  • Windows 应用程序要求与文件和目录数据的文件系统 API 兼容。

[返回页首]

FILESTREAM

SQL Server 已有 FILESTREAM 功能,它为作为文件存储在文件系统中的非结构化数据提供了高效的存储、管理和流式处理方法。 但是,FILESTREAM 解决方案要求自定义的编程,并且不满足上文所述的完全 Windows 应用程序兼容性的要求。

[返回页首]

FileTable

FileTable 功能以现有的 FILESTREAM 功能为基础,使企业客户只要满足对基于文件的数据的非事务性访问和 Windows 应用程序兼容性要求,就可以在 SQL Server 数据库中存储非结构化文件数据和目录层次结构。

[返回页首]

FILESTREAM 和 FileTable 的比较

功能

文件服务器和数据库解决方案

FILESTREAM 解决方案

FileTable 解决方案

用于管理任务的单个存储区

单组服务:搜索、报告、查询等

集成的安全模型

FILESTREAM 数据的就地更新

在数据库中维护文件和目录层次结构

Windows 应用程序兼容性

对文件属性的关系访问

[返回页首]

FILESTREAM 和远程 BLOB 存储区 (RBS) 的比较

有关这两种功能的比较,请参阅来自 RBS 团队的以下博客:SQL Server 远程 BLOB 存储区和 FILESTREAM 功能比较

[返回页首]

详细信息

[返回页首]