通过SQLServer2008管理非结构化数据.DOC

上传人:国*** 文档编号:2023301 上传时间:2019-03-29 格式:DOC 页数:9 大小:121.50KB
下载 相关 举报
通过SQLServer2008管理非结构化数据.DOC_第1页
第1页 / 共9页
通过SQLServer2008管理非结构化数据.DOC_第2页
第2页 / 共9页
通过SQLServer2008管理非结构化数据.DOC_第3页
第3页 / 共9页
通过SQLServer2008管理非结构化数据.DOC_第4页
第4页 / 共9页
通过SQLServer2008管理非结构化数据.DOC_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、通过 SQL Server 2008 管理非结构化数据SQL Server 技术文档作者:Graeme Malcolm (内容主管)技术审核员:Shan Sinha项目编辑:Joanne Hodgins发布日期:2007 年 8 月适用产品:SQL Server 2008概述:数字化信息的增长为企业应当存储和访问业务数据的方法提供了启发。数据库作为业务应用程序的核心,必须能够同非结构化的数据进行集成,其中包括文档、图像、视频、以及其它多媒体格式。为了能够对信息生命周期进行管理,满足策略需求,并实施内容管理解决方案,企业需要存储和管理所有格式的数字化数据。Microsoft SQL Server

2、 2008 提供了一套灵活的解决方案,对非结构化数据进行存储并将其同关系型数据相结合,从而围绕企业中的全部数据来构建一套全面的解决方案。版权该白皮书为初步文档,可能会在所述软件进行最后商业发布之前做完全修改。本文档所包含的信息代表了在发布之日,Microsoft Corporation(微软公司)对所讨论问题的当前看法。因为 Microsoft 必须顺应不断变化的市场条件,故不应将本文档理解为 Microsoft 一方的承诺,Microsoft 不保证所给出的信息在发布之日以后的准确性。本白皮书仅用于提供信息。Microsoft 对本文档中的信息不做任何明示、默示或法定的担保。遵守所有适用的版

3、权法律是用户的责任。在不对版权法所规定的权利加以限制的情况下,未得到 Microsoft Corporation 明确的书面许可,不得为任何目的、以任何形式或手段(电子的、机械的、影印、录制等等)复制、传播本文的任何部分,也不得将其存储或引入到检索系统中。本文档可能涉及 Microsoft 的专利、专利申请、商标、版权或其它知识产权。除非 Microsoft 通过书面许可协议明确提供,此文档并没有授予您对这些专利、商标、版权或其它知识产权的任何许可。除非特别说明,此处所述作为范例的公司、组织、产品、域名、电子邮件地址、徽标、人员、地点和事件均为虚构,不与任何真实的公司、组织、产品、域名、电子邮

4、件地址、徽标、人员、地点或事件有任何联系,也不应据此进行任何臆测或推断。 2007 Microsoft Corporation. 保留所有权利。Microsoft, Excel, SQL Server, 以及 Windows 是 Microsoft Corporation 在美国和/ 或其它国家的注册商标或商标。所有其它商标均是其各自所有者的财产。目录导言 .1非结构化数据的商业动力 .1非结构化数据面临的挑战 .1存储非结构化数据的挑战 .2使用非结构化数据的挑战 .2在 SQL Server 2008 中的非结构化数据的目标 .2在 SQL Server 2008 中存储非结构化数据 .2

5、SQL Server BLOB .3FILESTREAM 属性 .3远程 BLOB 存储 API .3比较 BLOB 的存储选择 .4在 SQL Server 2008 中搜索非结构化数据 .4集成全文搜索 .5结论 .5Managing Unstructured Data with SQL Server 2008 1Microsoft Corporation 2007导言最近几年,个人和公司创建及存储的数字化数据急剧膨胀。过去,企业使用计算机系统和数据库以结构化格式(例如关系表或固定的格式文档)来存储大部分商业数据,软件应用程序使用这些结构化数据来执行商业任务。然而如今,公司的很大一部分数据

6、存储在使用功能强大的工具(例如Microsoft Office Excel和 Microsoft Office Word)所创建的文档中,而数字照片、文档扫描、视频产品和音频格式进一步的扩大了用于商业数据的非结构化数据格式的范围。此外,存储硬件和内存的成本显著降低,也极大的影响了计算机中所存储的数据的数量和类型,并导致新一代的商业应用的产生,这些商业应用合并了传统的关系型数据结构和非结构化数字内容。数字内容的丰富意味着公司现在正试图在企业范围内管理关系型数据和非结构化数据,并需要一个能够全面满足关系型数据存储和非关系型数据存储,同时降低对这些应用程序进行管理和创建成本的解决方案。例如,考虑一个

7、保险索赔应用程序在过去的 15 年里是怎样改变的。15 年前,这个应用程序一般维护一列以简单的行和列来存储的保险索赔记录。而今天,一个保险索赔应用程序更趋向于管理一组包括图片、照片和文档的索赔记录。它还可能需要以基于 XML 的格式来显示索赔数据,以此来与其它的系统集成,并且它还可能包括更高级别的功能,例如空间可视化、报表和分析。SQL Server 2008 提供了一些超出传统的数据库系统功能,并趋向于提供能够存储、管理和查询所有类型数据(包括非结构化二进制数据、XML 和空间数据)的数据平台。这篇白皮书集中讲述了非结构化数据,并描述了 SQL Server 2008 中存储、管理和使用非结

8、构化数据的选项。非结构化数据的商业动力大多数公司依赖于存储在数据库中的关键业务数据,并在存储和操作这些数据的数据管理系统和应用上投入很大。然而,日渐增长的业务产生了大量的数字图片、文档视频和其它多媒体格式的非关系和非结构化数据这些新的数据格式迅速成为正式或非正式的商业流程的关键组成部分,它们与现有的商业应用程序集成在一起,遵守管理要求,或者简单的提供更加丰富的用户体验。例如,在下面这些商业情景中: 一个保险公司需要存储政策文档并在索赔过程中获取这些文档。 一个在线零售商需要存储用于在电子商城中显示其产品的视频胶片。 一个电话系统需要保存语音信息的音频流以便进行远程传送。 一个广播台需要制作一个

9、在其网站上用于下载并可以搜索的广播库。 一个法律实践需要以图片形式存储文档,并需要很容易的获取与一个单独的客户端或例子相关的文档。 一个建筑合伙企业需要存储和提取数字格式的计划和其相关联的客户端数据。 一个图书馆需要转换并存档大量文件并对内容进行分类,以便在数字搜索工具中进行检索和使用。这些是全球商业中使用非结构化数据的一些例子;并且随着数字内容的创建越来越容易,公司也在寻找新的方式来使用这些数字内容来改进或扩展其商业能力。非结构化数据面临的挑战新的非结构化数据的类型在不断增加的同时,数字内容也带来了很多好处和商业机遇,但它同时还带来了一些针对那些需要合并这些非结构化数据源到计算机应用程序和服

10、务中去的系统架构师、管理员和应用程序开发人员的挑战。Managing Unstructured Data with SQL Server 2008 2Microsoft Corporation 2007存储非结构化数据的挑战要考虑的第一个挑战,同时也可能是最明显的挑战,就是非结构化数据的大量存储。你需要拥有一个可以灵活满足存储非关系型数据、同时将成本和管理费用降至最低的系统。当你计划存储非结构化数据时,要考虑的主要问题包括: 存储非结构化数据的成本,不只是包括硬件成本,还包括管理成本。 非结构化数据的物理存储位置,例如文件服务器和网络附属存储(NAS)设备。 管理持久力和存档政策。 将非结构化

11、数据文件和相关联的关系型数据集成起来,并维护结构化数据源和非结构化数据源间的事务一致性。 将与维护关系型数据和非结构化数据相关的管理费用降低到最小。 性能和可扩展性。 保护非结构化数据,并确保相关的关系型数据的一致性。 非结构化数据的可用性和可恢复性。使用非结构化数据的挑战关于存储非结构化数据的相关问题,你必须考虑数据将怎样被你的应用程序使用。一些具有代表性的要考虑的事项包括: 在建立使用结构化数据和非结构化数据的应用程序时,遇到的开发挑战包括编写代码来创建、提取、更新和删除非结构化数据,并维护相关联的关系型数据源和非结构化数据源间的事务一致性。 索引和搜索非结构化数据。 显式提取可用的元数据

12、(例如从表格区域或文件属性),并将它显示给用户。 将文档内容转换为可以搜索和查询的格式(例如,转换音频文件到文本形式,从而可以被数据库查询或纯文本引擎检索到。)在 SQL Server 2008 中非结构化数据的目标非结构化数据面临的相关挑战反应了那些开始为数字内容建立解决方案的公司所关注的一些常见情况: 管理多个不同的平台来处理关系型数据和非关系型数据,从而导致不必要的复杂性。 这些分散的数据存储对于开发人员来说增加了复杂度,并对于经理来说提高了部署难度。 对于开发人员和数据库管理员来说,在这些不同的数据类型中缺少可以使用的服务。SQL Server 2008 旨在解决这些问题,通过: 降低

13、管理不同数据类型的成本。 简化使用关系型数据和非关系型数据的应用程序的开发工作。 将现在只用于关系型数据的功能扩展到非关系型数据。在 SQL Server 2008 中存储非结构化数据依赖于关系型数据和非关系型数据的应用程序通常使用下面三种架构之一: 数据库中的关系型数据以及文件系统和文件服务器上的非关系型二进制大对象(BLOB)。 数据库中的关系型数据和只用于 BLOB 的存储中的非关系型数据。 数据库中的关系型数据和非关系型数据。Managing Unstructured Data with SQL Server 2008 3Microsoft Corporation 2007每一种方法都

14、有其优劣之处。例如,在文件服务器或只用于 BLOB 的存储中存储非结构化数据会降低每 GB 所花费的费用,但是通常会增加管理和建立应用程序的复杂性,因为应用程序不得不维护包含BLOB 数据的数据库和单独系统中的记录以及这些记录所关联的对象间的完整性。另一方面,在数据库中存储 BLOB 数据方便地集中了数据存储,但是通常带来了更高的成本并会导致性能下降。SQL Server 2008 推出了两个用于存储 BLOB 数据的新功能: FILESTREAM:可以在 varbinary 字段上设置的属性,以便将数据存储在文件系统中 ( 因此受益于它的快速流式功能和存储能力) 但数据是直接在数据库的上下文

15、中管理和访问的。 远程 BLOB 存储:一个客户端应用程序编程接口 (API),它降低了建立依赖于一个用于 BLOB的外部存储和一个用于关系型数据的数据库的应用程序的复杂性。此外,SQL Server 2008 继续通过 varbinary 数据库类型支持标准的 BLOB 字段。SQL Server BLOBSQL Server 2005 推出了 varbinary (max)数据类型,它使得你可以在一个 SQL Server 字段或变量中存储最大为 2,147,483,647 字节的大型二进制数据值。当使用修订过的 max 时,你可以通过设置 large value types out of

16、 row 表选项来控制数据怎样存储在物理的表的数据页面中。当这个选项设置为 ON 时,所有的值存储在单独的链接页面上,而在这个记录的数据页面上会保存一个指向这些页面的 16 位的根指针。当这个选项设置为 OFF 时,最大为 8000 字节的值存储在这行的数据页面上,而更大的值存储在单独的链接页面上。尽管新的 FILESTREAM 和远程 BLOB 能力是设计用来提供比标准的 varbinaryBLOB 字段更好的性能和可管理性,但有一些场景是使用 varbinary 字段更适合的( 具有代表性的是当 BLOB 平均规模小于 250 KB 的时候。)FILESTREAM 属性在 SQL Serv

17、er 2008 中,你可以将 FILESTREAM 属性应用到一个 varbinary 字段,然后 SQL Server 为这个字段在本地 NTFS 文件系统上存储数据。在文件系统上存储数据带来两个重大的优势: 性能可匹配文件系统的流性能。 BLOB 大小只受文件系统卷大小的限制。然而,字段可以像 SQL Server 中的其它任何 BLOB 字段一样来管理,所以管理员可以使用 SQL Server 的可管理性和安全功能来集成 BLOB 数据管理和关系型数据库中的其它数据而不需要单独管理文件系统数据。在 SQL Server 中将数据定义为一个 FILESTREAM 字段还确保了在数据库中的关

18、系型数据和存储在文件系统中的非结构化数据在数据级的一致性。FILESTREAM 字段的使用和BLOB 字段一样,这意味着维护操作的完全集成 (例如备份和恢复) 、SQL Server 安全模型的完全集成、以及纯事务的支持。应用程序开发人员可以通过两个编程模型中的一个来使用 FILESTREAM 数据;他们可以使用Transact-SQL 就像对待标准的 BLOB 字段一样的来访问和操纵数据,或者他们可以使用 Win32 流式 API 和 Transact-SQL 事务型语义来确保一致性,这意味着他们可以对 FILESTREAM BLOB 使用标准的 Win32 读/写调用,这与他们在文件系统上

19、对文件进行交互时所做的一样。在 SQL Server 2008 中,FILESTREAM 字段只可以将数据存储在本地磁盘中,并且 FILESTREAM 字段不支持像简单加密和以表为值的参数等功能。此外,尽管提供了支持日志传送功能,但你不能在数据库快照或数据库镜像会话中使用包含了 FILESTREAM 字段的表。远程 BLOB 存储 API 尽管 FILESTREAM 属性将文件系统的性能和可扩展性与在数据库中存储 BLOB 的可管理性和数据一致性结合起来,但是通常会出现在 EMC Centera、Fujitsu Nearline、Microsoft Windows这样的文件服务器或其它任何只用

20、于 BLOB 的存储的系统中存储 BLOB 更有效或成本利用率更高的情况。Managing Unstructured Data with SQL Server 2008 4Microsoft Corporation 2007在 SQL Server 2008 中的远程 BLOB 存储 API,通过提供一个基于提供商的架构,从而可以更容易的将只用于远程 BLOB 存储解决方案同数据库中的关系型数据集成起来,这个架构使你的应用程序可以使用任何 BLOB 存储而不需要特定的 BLOB 存储功能或代码。在架构方面有两个关键部分: 客户端库:它是一个能够利用任何提供商来同你的 BLOB 以及关系型数据协

21、同使用的组件。客户端应用程序使用客户端库和任何适用的提供商库来插入、更新和查询存储在 BLOB 中的数据和数据库中存储的数据。 供应商库:它是一个由 BLOB 存储供应商提供的具有代表性的组件(尽管它可以定制开发) 。供应商库实现了一个常规接口,提供了一组标准的服务,这些服务抽象了对这个特定的存储执行 Create、Fetch、Enumerate、Delete 和 Garbage Collect 操作的细节。当你的数据库 BLOB 需要存储在与数据库不同的服务器上并需要和其它系统协作时,远程 BLOB 存储API (Remote BLOB Store API)是一个理想的选择。它对 BLOB

22、存储没有任何限制。任何提供远程BLOB 存储提供商的系统或任何可以建立于远程 BLOB 存储提供商的系统都支持它。 因为与 BLOB 存储的交互细节被提供商库抽象出来了,所以你可以改变存储而不必改动应用程序,这带来了很大的好处并且降低了开发人员和管理员的复杂度。Microsoft 与业内的所有存储供应商合作,以确保提供一个适当的供应商库用于远程 BLOB 存储 API。使用远程 BLOB 存储 API 使你能够灵活地使用不同的系统来管理关系型数据和非关系型数据。远程BLOB 存储 API 通过链接级别的一致性维护了数据库中的记录与在外部存储的 BLOB 之间的一致性。例如,如果你通过一个删除语

23、句从数据库中删除 BLOB 参照,系统将从存储中删除 BLOB。然而,使用远程 BLOB 存储 API 不能提供随着 BLOB 直接存储到数据库中而来的数据级别的一致性,要做到这一点你需要使用 FILESTREAM 或者 varbinary。比较 BLOB 的存储选择下表比较了 SQL Server 2008 中的 BLOB 数据的存储选项。 只使用文件服务器或者 BLOB 存储SQL Server BLOB远程 BLOB 存储APIFILESTREAM 字段快速流式性能 取决于文件存储 否 取决于 BLOB 存储 Yes链接级一致性 是 是 是 是数据级一致性 否 是 否 是集成管理 否 是

24、 否 是使用远程 Windows 文件服务器n/a 否 是 这个版本中没有与外部的 BLOB 存储协同工作n/a 否 是 否表 1:BLOB 存储选项对照这些选项意味着 SQL Server 2008 为存储非结构化数据提供了一个最适合你的业务需求的灵活的解决方案。在 SQL Server 2008 中搜索非结构化数据使用非关系型数据的应用程序,最常见的要求是可以在数据上作纯文本搜索。Managing Unstructured Data with SQL Server 2008 5Microsoft Corporation 2007集成全文搜索SQL Server 在之前的版本中支持纯文本搜索

25、。然而,它一直依赖于一个外部的服务Windows Search Service 作为它的纯文本搜索引擎。使用外部服务将面临下面两个挑战: 对外部服务的依赖使得部署更加复杂,也更难进行支持。 结合了纯文本搜索谓词和标准 SQL 谓词的查询性能将受到影响,因为从搜索的纯文本部分得来的整个结果集不得不在标准的谓词应用之前放置在这个引擎上。查询优化器不能创建与纯文本搜索谓词协作的计划。在 SQL Server 2008,纯文本搜索是完全集成在数据库引擎中的。通过将纯文本引擎直接集成到SQL 核心中, SQL Server 2008 解决了之前版本中所面临的挑战,降低了管理和部署 SQL Server的

26、成本,同时提高了搜索非结构化数据的性能。结论SQL Server 2008 为存储和搜索非结构化数据提供了一个灵活的解决方案。FILESTREAM 加强了存储数据库中的非关系型数据像 BLOB 和关系型数据的性能,而没有降低可管理性。如果你需要使用一个只用于 BLOB 的存储,那么远程 BLOB 存储 API 能够帮助你集成你的 BLOB 数据和你的数据库中的关系型数据,并提供一个一致的编程界面用于与这个数据交互,还提供了系统的独立性,用来存储数据。最后,当你需要通过使用在这篇白皮书中讨论的任何解决方案来存储和使用大型文档库时,SQL Server 2008 帮助你使得搜索非关系型数据更加有效也更易于管理。更多信息,请访问http:/ 这篇文档对您有帮助吗?请将您的反馈提交给我们。告诉我们您的评价 1(很不好)-5(很好)。您如何评价以及为何如此评价,例如: 您是否因为其中的优秀示例或截图、清晰的描述或其他原因打了高分? 您是否因为其中不恰当的示例或模糊不清的截图、不清晰的描述打了低分?这些反馈将帮助我们提高我们今后发布的白皮书的质量。发送反馈

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 医药卫生

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。