一、SQL Server 2008文件流功能简述 SQL Server 2008中最新的文件流功能使得你可以将实际数据存储在文件系统中,而非在数据库中。只要愿意,你仍可以作为一个常规的二进制列来查询此列,即使数据自身存储在外部。你可以使用Transact-SQL语句来查询、插入或更新数据,或者使用Win32文件系统界面来直接访问数据。 文件流的优点 BLOB(二进制大数据,一般是图片文档视频等等文件附件)数据现在可以保存在NTFS系统中,并且它处于SQL Server 2008的控制之下。
SQL Server将维护所有BLOB数据的事务一致性。 对于要以FILESTREA……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
一、SQL Server 2008文件流功能简述
SQL Server 2008中最新的文件流功能使得你可以将实际数据存储在文件系统中,而非在数据库中。只要愿意,你仍可以作为一个常规的二进制列来查询此列,即使数据自身存储在外部。你可以使用Transact-SQL语句来查询、插入或更新数据,或者使用Win32文件系统界面来直接访问数据。
文件流的优点
BLOB(二进制大数据,一般是图片文档视频等等文件附件)数据现在可以保存在NTFS系统中,并且它处于SQL Server 2008的控制之下。
SQL Server将维护所有BLOB数据的事务一致性。
对于要以FILESTREAM来存储的文件没有规模限制。只要你在磁盘上具有空间,那么你就可以存储更大的FILESTREAM文件。
当激活了文件流的数据库被备份后,在指定FileStreamData文件夹下的所有BLOB文件都将被备份,它们将帮助数据库管理员轻松地管理BLOB。
可以通过TSQL和具有很好流性能的NTFS流APIs轻松地访问数据。
文件流的缺点
数据库镜像不能配置在激活了文件流的数据库上。
数据库快照不能快照文件流数据库中的文件流数据。
SQL Server 2008的文件流特性帮助公司更有效地管理它们的BLOB数据,因为它们可以在NTFS文件系统中存储数据并利用SQL Server事务一致性的好处。数据库管理员现在可以轻松地进行公司的文件流数据备份,只需要对文件流数据库进行备份就可以了,不用对每一个BLOB文件进行单独备份。这使得他们可以节省很多时间,而且不会再因为没有备份一些文件而丢失数据。
二、SQL Server 2008文件流功能应用设想
在传统PDM系统以及类OA、邮件系统等等涉及文件附件保存的信息系统中,一直存在两种处理方式,就是数据库存储全部数据,或者数据库负载数据结构查询、文件系统负责文件存储,两种方式互不兼容。现在SQL2008提供的文件流功能,终于为两种方式的统一指出了一条新路。
关于SQL2008文件流的应用,有两个方向:
1、将现有作为独立附件的文件纳入数据库,可统一备份和恢复,甚至可能进行全文检索。例如现在的OA系统,结构数据库和附件数据是分离的,数据库里面只保存了文件的链接指针。可以探讨是否可以直接在OA中应用文件流,将附件直接收入数据库管理,实现附件与数据库的统一,在编程的简便性和系统性能、可管理性方便都得到改进;
2、将现有全文数据库管理的大文件分离到文件系统,减少数据库容量和负担,让文件系统处理文件存储传送,数据库负责查询,扬长避短。例如PDM系统,所有文件都在数据库中存储,这是一种便于统一管理,但是非常低效率的方式。一个轿车车型的PDM的数据库体积已经超过200GB,而实际真正具备数据表特征的数据恐怕不到1%,数据库当文件服务器来用实在是有些无奈。如果能将数据库中的CAD文档等文件剥离出来,转存到文件系统,那么PDM系统的管理和性能矛盾就能得到完美的解决。
三、小结
在SQL2008之前,也有其它理念可以尝试着解决数据库--文件系统之间的矛盾,例如NTFS文件系统与数据库的统一,文件系统本身就采用数据库的运作方式;还有文档与数据库的统一,CAD、DOC文档本身采用数据表的方式存储,修改文档也只是修改数据库内对应的很小数据块,存盘时并不会导致整个文件的重新存储(据传catia新版本就采用了数据库的方式保存CAD文档,如果此方式与PDM结合,用户端修改文档导致的网络流量、磁盘读写量会减少百倍以上!)。
但是,文件系统与数据库的统一目前还未实现,而单个CAD程序的数据库化存储并不能影响到类似PDM、OA、邮件系统等基于文档管理的信息系统架构,因为架构的改变只有所有文档都实现数据库化存储能实现。文档来源不一致必然导致存储架构无法统一,信息系统只能继续以附件或者BLOB方式来管理文件。
所以,真正能够具备实际操作可能性,体现价值的,我想应该是在SQL2008上的文件流功能了,它能在信息系统公用的数据库层面实现基于文件的文档存储和BLOB两种方式的统一。希望早日见到有实际的应用,让我们经历又一次IT架构的革新体验。
作者
相关推荐
-
内存中OLTP变形记:在SQL Server 2016沐浴重生
内存中OLTP是在SQL Server 2014版本中首次推出的,在目前最新发布的SQL Server 2016中提供了很多重要的改进,让我们一起来了解主要有哪些重要的提升……
-
SQL Server 2008将退出微软主流数据库支持
你的企业是否还在运行SQL Server 2008?请注意微软为SQL Server 2008提供的主流技术支持服务将于今年的7月8日正式结束。
-
开发者的兵工厂:SQL Server开发工具五大新特性
SSDT包含一系列的新特性,能够进一步简化开发并提升数据库开发效率。在本文中,我们就将为您介绍其中5个最重要的功能,DBA和开发者需注意本文提到的内容。
-
SQL Server 2008中的对称密钥加密
证书和非对称密钥使用数据库级的内部公钥加密数据,并且使用数据库级内部私钥解密数据。而对称密钥相对简单,它们包含一个同时用来加密和解密的密钥。