这篇论坛文章详细的讲解了使用sql server 2008管理非结构化数据的具体方法,更多内容请参考下文:
microsoft SQL Server™ 2008提供了一个灵活的解决方案,使得可以存储非结构化数据,并将它与关系数据合并起来建立使用整个公司范围内的数据的综合的解决方案。
1. 导言
在最近几年,个人和公司创建和存储的数字数据的数量急剧膨胀。过去,企业使用计算机系统和数据库以结构化格式例如关系表或固定的格式文档来存储它们的大部分商业数据,软件应用程序使用这些结构化数据存储来执行商业操作。然而在现今,公司的很大一部分数据是存储在使用功能强大的工具例如Microsoft® office excel®和Microsoft Office word所创建的文档中的,而数字摄影、文档扫描、视频产品和音频格式进一步的扩大了用于商业数据的非结构化数据格式的范围。此外,在存储硬件和内存上的成本的显著降低极大的影响了存储在计算机中的数据的数量和类型,并导致产生了新一代的商业应用,这些商业应用合并了传统的关系数据结构和非结构化数字内容。数字内容的丰富意味着公司现在正在试图能够在企业范围内管理关系数据和非结构化数据,并需要一个能够全面满足关系数据存储和非关系数据存储,同时降低管理和建立使用这些数据的应用程序的成本的解决方案。
例如,考虑一个保险索赔应用程序在过去的15年里是怎样改变的。15年前,这个应用程序一般维护一列以简单的行和列来存储的保险索赔记录。而今天,一个保险索赔应用程序更趋向于管理一组包括图片、照片和文档的索赔记录。它还可能需要以基于XML的格式来显示索赔数据,以此来与其它的系统集成,并且它还可能包括更高级别的功能像空间可视化、报表和分析。
SQL Server 2008提供了一些超出传统的数据库系统、向能够存储、管理和查询所有类型的数据的数据平台发展的功能;包括非结构化二进制数据、XML和空间数据。这篇白皮书集中讲述了非结构化数据,并描述了使用SQL Server 2008的存储、管理和使用非结构化数据的选项。
2. 商业推动非结构化数据
大多数公司依赖于存储在数据库中的关键业务数据,并在存储和操纵这些数据的数据管理系统和应用上投入很大。然而,日渐增长的业务产生了大量的数字图片、文档视频和其它多媒体格式的非关系和非结构化数据——这些新的数据格式迅速成为正式的和非正式的商业处理的一个关键组成部分,它们与现有的商业应用程序集成在一起,遵守调整要求,或者简单的提供了一个更加丰富的用户体验。
例如,在下面这些商业情景中:
· 一个保险公司需要存储政策文档和按照要求处理来提取这些文档。
· 一个在线的零售商需要存储用于在一个电子商城中显示它的产品的视频胶片。
· 一个电话系统需要保存语音信息的音频流以便他们可以远程传送。
· 一个广播台需要制作一个在它的网站上用于下载的并可以搜索的广播库。
· 一个操作需要存储文档的图片形式的电子拷贝,并能很容易的获取与一个单独的客户端或例子相关的文档。
· 一个建筑合伙企业需要存储和提取数字计划和其相关联的客户端数据。
· 一个需要转换和保存大量的现有的文件和分类内容的库,用于在一个数字搜索工具中进行检索和使用。
这些是全球商业中使用的非机构化数字数据的一些新的例子;并且随着创建数字内容变得越来越容易,公司也在寻找新的创新方式来使用这个数字内容来改进或扩展它们的商业能力。
2.1 对于非结构化数据的挑战
当新的非结构化数据的类型在不断增加的同时,数字内容带来了很多好处和商业机遇,但是它同时还带来了一些针对需要合并这些非结构化数据源到计算机应用程序和服务中去的系统架构师、管理员和应用程序开发人员的挑战。
存储非结构化数据的挑战
要考虑的第一个挑战,同时也可能是最明显的挑战,就是非结构化数据的大量存储。你值得拥有一个使你可以灵活地满足存储非关系数据、同时将成本和管理费用降低到最小的特定需求的系统。当你计划存储非结构化数据时你要考虑的主要问题包括:
· 存储你的非结构化数据的成本,不只是包括硬件成本,还包括管理成本。
· 非结构化数据的物理存储位置,例如文件服务器和网络附加存储(NAS)设备。
· 管理持久力和存档政策。
· 将非结构化数据文件和相关联的关系数据集成起来,并维护结构化数据源和非结构化数据源间的事务一致性。
· 将与维护关系数据和非结构化数据相关的管理费用降低到最小。
· 性能和可扩展性。.
· 保护非结构化数据,并确保相关的关系数据的一致性。
· 非结构化数据的可用性和可恢复性。
使用非结构化数据的挑战
还有关于存储非结构化数据的相关问题,你必须考虑数据将怎样被你公司的应用程序使用。一些具有代表性的要考虑的事项包括:
· 在建立使用结构化数据和非结构化数据的应用程序时遇到的开发挑战包括编写代码来创建、提取、更新和删除非结构化数据,并维护相关联的关系数据源和非结构化数据源间的事务一致性。
· 索引和搜索非结构化数据。
· 显式提取可用的元数据(例如从表格区域或文件属性),并将它显示给用户。
· 将文档内容转换为可以搜索和查询的格式(例如,转换音频文件到文本形式,从而可以被数据库查询或纯文本引擎检索到。)
2.2 在SQL Server 2008中的非结构化数据的目标
非结构化数据面临的相关挑战反应了那些开始为数字内容建立解决方案的公司所关注的一些常见情况:
· 管理多个不同的平台来处理关系数据和非关系数据,从而导致不必要的复杂性。
· 这些分散的数据存储使得对于开发人员来说增加了复杂度,并提高了经理的部署难度。
· 开发人员和数据库管理员缺乏在这些不同的数据类型中可以使用的服务。
SQL Server 2008旨在解决这些问题,通过:
· 降低管理这些不同的数据类型的成本。
· 简化使用关系数据和非关系数据的应用程序的开发工作。
· 将现在只用于关系数据的功能扩展到非关系数据。
3. 在SQL Server 2008中存储非结构化数据
依赖于关系数据和非关系数据的应用程序通常使用下面的三个架构中的一个:
· 数据库中的关系数据以及文件系统和文件服务器上的非关系型二进制大对象(BLOB)。
· 数据库中的关系数据和只用于BLOB的存储中的非关系数据。
· 数据库中的关系数据和非关系数据。
每一个方法都有其优劣之处。例如,在文件服务器或只用于BLOB的存储中存储非结构化数据会降低每GB所花费的费用,但是通常会增加管理和建立应用程序的复杂性,因为应用程序不得不维护包含BLOB数据的数据库和单独的系统中的记录以及这些记录所关联的对象间的完整性。另一方面,在数据库中存储BLOB数据方便地集中了数据存储,但是通常带来了更高的成本并会导致性能下降。
SQL Server 2008推出了两个用于存储BLOB数据的新功能:
· FILESTREAM:是一个你可以在varbinary字段上设置的属性,以便数据存储在文件系统中(因此受益于它的快速流式功能和存储能力)但是直接在数据库的上下文中管理和访问。:
· 远程BLOB存储:一个客户端应用程序编程接口(API),它降低了建立依赖于一个用于BLOB的外部存储和一个用于关系数据的数据库的应用程序的复杂性。
此外,SQL Server 2008继续通过varbinary 数据库类型支持标准的BLOB字段。
◆3.1 SQL Server BLOB
SQL Server 2005推出了varbinary(max)数据类型,它使得你可以在一个SQL Server字段或变量中存储最大为2,147,483,647字节的大型二进制数据值。当使用修订过的max时,你可以通过设置large value types out of row表选项来控制数据怎样存储在物理的表的数据页面中。当这个选项设置为ON时,所有的值存储在单独的链接页面上,而在这个记录的数据页面上会保存一个指向这些页面的16位的根指针。当这个选项设置为OFF时,最大为8000字节的值存储在这行的数据页面上,而更大的值存储在单独的链接页面上。
尽管新的FILESTREAM 和远程BLOB能力是设计用来提供比标准的varbinaryBLOB字段更好的性能和可管理性,但有一些场景是使用varbinary 字段更适合的(具有代表性的是当BLOB平均规模小于250 KB的时候。)
◆3.2 FILESTREAM 属性
在SQL Server 2008中,你可以将FILESTREAM 属性应用到一个varbinary 字段,然后SQL Server 为这个字段在本地NTFS文件系统上存储数据。在文件系统上存储数据带来两个重大的优势:
· 性能可匹配文件系统的流性能。
· BLOB 规模只受文件系统的空间规模限制。
然而,字段可以像SQL Server中的其它任何BLOB字段一样来管理,所以管理员可以使用SQL Server的可管理性和安全功能来集成BLOB数据管理和关系数据库中的其它数据——而不需要单独管理文件系统数据。在SQL Server中将数据定义为一个FILESTREAM字段还确保了在数据库中的关系数据和存储在文件系统中的非结构化数据在数据级的一致性。FILESTREAM字段的使用和BLOB字段一样,这意味着维护操作的完全集成(例如备份和恢复)、和SQL Server安全模型的完全集成、以及纯事务的支持。
应用程序开发人员可以通过两个编程模型中的一个来使用FILESTREAM数据;他们可以使用Transact-SQL就像对待标准的BLOB字段一样的来访问和操纵数据,或者他们可以使用Win32流式API和Transact-SQL事务型语义来确保一致性,这意味着他们可以对FILESTR
关键词标签:SQL Server 2008
相关阅读
热门文章 SqlServer2005对现有数据进行分区具体步骤sql server系统表损坏的解决方法MS-SQL2005服务器登录名、角色、数据库用户Access、SQL Server、Oracle常见应用的区别
人气排行 如何远程备份(还原)SQL2000数据库SQL2000数据库远程导入(导出)数据配置和注册ODBC数据源-odbc数据源配置教程SQL2000和SQL2005数据库服务端口查看或修改SQL Server 2005降级到2000的正确操作步骤修改Sql Server唯一约束教程浅谈JSP JDBC来连接SQL Server 2005的方法SQL Server创建表语句介绍
查看所有0条评论>>