通过SQL 2008管理非结构化数据
2008-09-28 10:06:36 来源:WEB开发网当你的数据库BLOB需要存储在与数据库不同的服务器上并需要和其它系统协作时,远程BLOB存储API (Remote BLOB Store API)是一个理想的选择。它对BLOB存储没有任何限制。任何提供远程BLOB存储提供商的系统或任何可以建立于远程BLOB存储提供商的系统都支持它。因为与BLOB存储的交互细节被提供商库抽象出来了,所以你可以改变存储而不必改动应用程序,这带来了很大的好处并且降低了开发人员和管理员的复杂度。Microsoft与业内的所有存储供应商合作,以确保提供一个适当的供应商库用于远程BLOB存储API。
使用远程BLOB存储API使你能够灵活地使用不同的系统来管理关系型数据和非关系型数据。远程BLOB存储API通过链接级别的一致性维护了数据库中的记录与在外部存储的BLOB之间的一致性。例如,如果你通过一个删除语句从数据库中删除BLOB参照,系统将从存储中删除BLOB。然而,使用远程BLOB存储API不能提供随着BLOB直接存储到数据库中而来的数据级别的一致性,要做到这一点你需要使用FILESTREAM或者varbinary。
比较BLOB的存储选择
下表比较了SQL Server 2008中的BLOB数据的存储选项。
只使用文件服务器或者BLOB存储SQL Server BLOB远程BLOB存储APIFILESTREAM 字段
快速流式性能取决于文件存储否取决于BLOB存储Yes
链接级一致性 是是是是
数据级一致性否是否是
集成管理否是否是
使用远程Windows 文件服务器n/a否是这个版本中没有
与外部的BLOB存储协同工作n/a否是否
这些选项意味着SQL Server 2008为存储非结构化数据提供了一个最适合你的业务需求的灵活的解决方案。
在SQL Server 2008中搜索非结构化数据
使用非关系型数据的应用程序,最常见的要求是可以在数据上作纯文本搜索。
集成全文搜索
SQL Server 在之前的版本中支持纯文本搜索。然而,它一直依赖于一个外部的服务——Windows Search Service ——作为它的纯文本搜索引擎。使用外部服务将面临下面两个挑战:
对外部服务的依赖使得部署更加复杂,也更难进行支持。
结合了纯文本搜索谓词和标准SQL谓词的查询性能将受到影响,因为从搜索的纯文本部分得来的整个结果集不得不在标准的谓词应用之前放置在这个引擎上。查询优化器不能创建与纯文本搜索谓词协作的计划。
在SQL Server 2008,纯文本搜索是完全集成在数据库引擎中的。通过将纯文本引擎直接集成到SQL核心中,SQL Server 2008解决了之前版本中所面临的挑战,降低了管理和部署SQL Server的成本,同时提高了搜索非结构化数据的性能。
结论
SQL Server 2008为存储和搜索非结构化数据提供了一个灵活的解决方案。FILESTREAM加强了存储数据库中的非关系型数据像BLOB和关系型数据的性能,而没有降低可管理性。如果你需要使用一个只用于BLOB的存储,那么远程BLOB存储API能够帮助你集成你的BLOB数据和你的数据库中的关系型数据,并提供一个一致的编程界面用于与这个数据交互,还提供了系统的独立性,用来存储数据。最后,当你需要通过使用在这篇白皮书中讨论的任何解决方案来存储和使用大型文档库时,SQL Server 2008帮助你使得搜索非关系型数据更加有效也更易于管理。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››通过远程管理更改ESXi主机root用户密码
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接