基于SQL SERVER 2008数据库内容服务研究与实现.docVIP

基于SQL SERVER 2008数据库内容服务研究与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于SQL SERVER 2008数据库内容服务研究与实现

基于SQL SERVER 2008数据库内容服务研究与实现   [摘 要]本文档的主要目的是对系统文件存储方式进行规划和设计,以便尽量减轻数据库和应用服务器与web服务器的压力,提高系统的整体性能。并考虑是否需要增加文件服务器,把部分文件从数据库系统中移到单独的文件服务器上来单独管理。文档主要对将文件内容存储到数据库来进行分析与实现。   [关键词]内容服务;SQLSERVER2008 ;VARBINARY(MAX);FILESTREAM;      引言:   系统文件通常为文档、图、照片等类型,通常是客户端以附件内容上传。附件可多次添加,附件内容通常与业务数据相关联才更有意义。孤立的、与业务数据没有关系的文件可以认为是没有意义的。   系统文件与业务数据的关联情况:   1.业务数据与文件联系相对紧密,每笔业务通常伴随一个或者多个文件。通常对业务数据的访问与文件内容的访问同等重要,文件内容相对较小,文件内容访问比较频繁。比如产品图片、产品说明。   2.业务数据与文件联系相对松散,每笔业务可能伴随一个或者多个文件,也可能没有文件。通常同类业务中只有部分业务数据存在文件,而大多数情况文件内容为空。业务数据访问比较频繁,而文件内容访问较少。   3.业务数据与文件没有联系或之间联系弱。该类情况可能出现有文件而没有业务数据情况。   4.垃圾文件:原本与业务数据相关联,但由于主业务数据已经删除,文件由于各种原因遗留到系统中,造成垃圾文件数据。   1.文件与业务数据的存储描述:   方式一:在一个事务内,将文件内容在客户端读取与业务记录一起存储到数据库。该种方式数据与文件的一致性可以得到保证。客户端业务数据准备完毕,读文件内容与其他相关信息,执行数据业务操作,文件与业务数据一起提交,提交成功,则全部成功,否则当部分成功也全部回滚。   方式二:在一个事务中先对业务数据与文件其他信息执行插入操作,再对文件内容执行更新操作或者在两个事务中前一个事务先对业务数据与文件其他信息进行插入操作,后一个事务对文件内容执行更新操作。前种方式数据与文件的一致性也可以得到保证,前者要成功,全成功,否则回滚。后者先保证业务数据与文件相关信息插入成功,文件更新如果出现异常,可以单独处理。该种存储方法是将文件内容存储分为2个步骤执行,可以尽量减少和避免由于文件内容的存储对业务数据的存储的影响。   方式三:先对文件及其他信息执行操作,在对业务数据执行操作。当文件保存成功后,在将业务数据保存。删除则相反,先删除业务数据,在删除文件。这样为了保证文件操作的成功率,但可能出现垃圾数据。必须有机制对其进行处理。   结论:   一个事务内处理,可以保证数据与文件的一致性和完整性。而分为两个事务处理则业务数据和文件数据的一致性与完整性无法保证,但由于文件内容往往要比业务数据大、业务数据往往要对应多个文件等原因,存储时采用2个事务分步提交并采用方式三的方式相对合理。   补充:业务中,出现业务数据往往非常重要,而文件目前没有或者未知等情况,可以满足先存业务数据,后存文件内容或者以后补充追加文件内容的方法,采用方式二的形式。   2.内容服务研究与设计   2.1 设计的目标   内容服务,要满足如下功能性和非功能性要求。   事务一致性存取效率   文件内容的安全性与备份/恢复易用性。   资源占用尽量小   文件内容与业务数据的完整性(减少或者避免出现垃圾文件文件)   并发可控性。   程序员使用的易用性与可操作性。   松偶合   2.2 存储说明   内容存储对外采用varbinary(max)数据类型进行存储.   内容服务内部采用下叙的两种存储类型进行实际存储,对外不透明:   【类型一】 varbinary (max) 类型   可变长度二进制数据,用来存储文件大小在1M以内的文件内容。该类型存储方式分为行内存储与行外存储.行外存储要比行内存储浪费数据库空间,但查询效率大大提高。   【类型二】varbinary (max)FILESTREAM类型   Sqlserver以独立文件的形式存放大对象数据称为FILESTREAM,它是varbinary(max)数据类型的特殊存储形式。本内容服务主要用它来存储大于1M的文件内容。   内容服务内部采用下叙的两种存储方式进行实际存储,对外不透明:   文件系统存储:   用win32应用程序来管理,由studio2008新增SqlFileStream类来进行管理。   数据库存储:   通过传统SQL语句方式对其直接进行增删改查。   以上存储说明具体参考SQLSERVER2008存储引擎,在此不详细论述。   2.3 fil

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档