微软处理海量非结构化数据的技术和解决方案_第1页
微软处理海量非结构化数据的技术和解决方案_第2页
微软处理海量非结构化数据的技术和解决方案_第3页
微软处理海量非结构化数据的技术和解决方案_第4页
微软处理海量非结构化数据的技术和解决方案_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微软处理海量非结构化数据的技术和解决方案,DAT315,朱海峰 高级技术方案顾问 微软(中国)有限公司,孙巍 技术总监 北京中达金桥技术服务有限公司,点击此处修改二级标题 将幻灯片标题设置为 “Title Case” 标题字号为 40分或类似尺寸,并尽可能不换行 将二级标题设置为 “sentence case” 二级标题的字体颜色已经在PPT模板中定义,议题,SQL Server 能力及案例 文档存储技术发展趋势 案例讨论,文档存储技术发展趋势,新时代非结构型数据的挑战,未来的发展方向,统一标准的存储平台支持所有数据类型、各式,新数据形态成为标准实体,单一数据平台的应用,需要协调的数据存取,简

2、约、可扩展的管理模式,结构型、非结构型数据的集成,支持BLOB的抽象编程接口 提供更多的服务围绕非结构化数据,例如:搜索,分析 提供集成多种空间数据源的能力 提供结构化和非结构化数据的关联、集成 属性的提取/推广 灵活的架构 适用于非关系型数据的关系型操作,实体汇总,实体数据 访问,企业级数据查询,通过实体架构实现对实体的直接搜索查询 针对多数据源的联合并发搜索查询 与 Microsoft Office SharePoint Server 和 FAST 的集成,其他 数据源,数据源1,数据源2,数据源3,FAST,企业 查询门户,应用特定 查询,SQL Server,SharePoint,SQ

3、LServer存储,数据文件流,可适用于不同网域的数据流服务,例如:金融、制造,监测数据 基于历史数据实现决策支持的和业务分析 与现有SQL Server 部件集成,充分利用现有能力,例如:报表、数据分析,报警,报表,报表及 数据分析,数据流 服务引擎,数据流服务应用接口,金融数据, 例如:股票 交易记录,点将流量数 据,例如;Web 日志,历史数据流,SQL Server文档存储新技术,文档、多媒体文件的存储,传统的三种存储模式,SQL Server 非结构型数据存储技术,RBS - Remote Blob Storage,FILESTREAM BLOB Storage,SQL BLOB,文

4、件流(FILESTREAM)简介,非结构数据直接储存于文件系统(使用NTFS文件系统) VARBINARY(MAX) 数据类型上注明存储属性即可开启文件流存储功能 丰富的双重编程模式 T-SQL语句(数据库语法)编程 Win32文件系统I/O编程接口支持数据库事务属性 BLOBs 大小上限= 文件系统大小 与SQL Server集成数据库管理,例如:备份、恢复. 与SQL Server数据库安全管理集成,RBS 技术简介,远程BLOB存储 标准的存储接口可使用不同存储体系 后端存储无技术限制:文件系统、数据库、文件流、专用文档存储等等 后端存储改变不影响应用(不需要改变) 宽松(链路级)一致性

5、保证 SQL Server管理链路级一致性和垃圾收集,例如:删除、更改等等 市场趋势 RBS优势 降低BLOB存储成本 降低数据库工作负载,提高系统扩展性 标准应用端借口可使用不同存储 使用经济的普通服务器完成复杂的存储和工作流要求,非结构型数据存储技术一览,演 示,使用不同方式访问SQL Blob数据,孙巍 技术总监 北京中达金桥技术服务有限公司,SQL Server Blob数据访问,SQL Server Blob访问方式 Filestream存储 T-SQL访问 Win32 API访问 Varbinary存储 访问性能与Blob数据块大小有关 系统设计时需要对存储数据的平均大小及使用模式

6、进行评估,示例代码-TSQL,Filestream Select file from documents where docId=1 Varbinary(max) Select file from documents where docId=1,示例代码-Win32 API,DllImport(sqlncli10.dll, SetLastError = true, CharSet = CharSet.Unicode) static extern SafeFileHandle OpenSqlFilestream( string FilestreamPath, UInt32 DesiredAcce

7、ss, UInt32 OpenOptions, byte FilestreamTransactionContext, UInt32 FilestreamTransactionContextLength, Int64 AllocationSize);,示例代码-Win32 API,SqlTransaction transaction = sqlConnection.BeginTransactio(mainTranaction); sqlCommand.Transaction = transactio; sqlCommand.CommandText =SELECT GET_FILESTREAM_T

8、RANSACTION_CONTEXT(); Object obj = sqlCommand.ExecuteScalar(); byte txContext = (byte)obj; SafeFileHandle handle = OpenSqlFilestream(filePath,DESIRED_ACCESS_READWRITE, SQL_FILESTREAM_OPEN_NO_FLAGS,txContext,(UInt32)txContext.Length,0); byte buffer = new byte512; FileStream fileStream = new FileStrea

9、m(handle,FileAccess.ReadWrite,buffer.Length, false);,远程读取性能,远程写入性能,远程更新性能,FILESTREAM最佳实践,尽可能避免对多个小文件的附加操作,每个附加操作都将创建新的Filestream文件。如果必须建议使用varbinary(max) 在高负载的多线程系统中,可以考虑通过OpenSqlFilestream或SqlFilestream API设置AllocationSize,减少碎片 如果文件很大,避免使用T-SQL进行更新或附加,这样会对tempdb有很大开销,FILESTREAM最佳实践,当读取FILESTREAM数据时

10、考虑如下因素 如果仅需要读取初始的部分数据,可以使用substring函数 如果读取整个文件,考虑使用Win32 API 当读取整个文件时,指定FILE_SEQUENTIAL_ONLY标志 程序中的缓存尽量设置为60KB的整数倍,FILESTREAM最佳实践,使用文件组及分区进行负载均衡 NTFS优化 fsutil behavior set disable8dot3 1 Fsutil behavior set disablelastaccess 1 Format F:/FS:NTFS /A:64K RAID级别 磁盘接口,Remote Blob Storage 技术框架及实现,RBS 架构,S

11、QL FS lib,IBM lib,Centera lib,SQL RBS API,SQL Server,IBM,Centera,SQL DB,供应商接口,客户应用程序可以支持多种不同的Blob存储机制或设备 供应商将提供相应的接口类库,RBS 服务 创建 读取 垃圾收集 删除,Net App lib,NetApp,RBS 示例,文档或多媒体数据,应用程序,RBS 客户端类库,存储供应商类库,存储,SQL Server,1,2,3,1,写入 BLOB数据(图片),返回BlobID,将BlobID 写入PhotoRef 字段,2,3,机器边界,RBS文档写流程,写Blob 地址Reference

12、,写Blob,写Blob,写Blob,返回地址Reference,取得Collection 信息,清理,App Machine 应用服务机,SQL Server,终端用户 例如:浏览器,应用,触发、 存储过程,服务,存储接口,应用端 接口,存储接口,Database Machine 数据库服务机,用户请求,RBS文档读流程,1 用户请求,4 请求BLOB (标识),9 应用读取BLOB,8 读取BLOB,7 读取BLOB,App Machine 应用服务机,SQL Server,终端用户 例如:浏览器,应用,触发、 存储过程,应用端 接口,存储接口,Database Machine 数据库服务

13、机,10 用户读取BLOB,2 请求BLOB标识, 应用读取BLOB标识,5 请求BLOB (标识),6 请求BLOB(标识),演 示,使用RBS实现对于FILESTREAM的负载均衡,孙巍 技术总监 北京中达金桥技术服务有限公司,远程文档与文件流结合的文档存储解决方案,解决方案特点,远程BLOB存储技术与FILESTREM文件流技术的集成 由FILESTREM文件流存储节点组成的存储池可以迅速扩展(使用经济实惠的PC服务器) RBS后端的FILESTREM文件流接口提供多线程、多通道的负载均衡逻辑进行文档的读写 负载分配可以用户可以根据需要灵活调整 存储节点可转变为“只读”属性(存储历史数据

14、,不接受新档案) 可以迅速添加节点并重新设置负载均衡模式 智能备份恢复功能可以避免历史性“只读”数据的重复备份,显著降低备份需要的时间和空间 客户生产环境显示单线程文档写入可达到48M+/秒性能(限于存储设备性能),解决方案优势,按用户需要扩展存储池 更合理的资源投入 避免大规模初期投入造成空置设备、存储空间的浪费 后续投入经济上可得益于硬件价格的快速跌落 后续投入可取的更现代的技术,自然升级系统,且不需要更改应用 服务器性能提升快,降价快 存储成本降低快,读写性能提高快 分期扩展自然形成不同层次的存储池,帮助信息生命周期的管理 老旧数据在老一代存储池,新数据、常用数据在新一代系统上,有更好性

15、能 可嵌入各种服务、应用对文档数据进行整个生命周期的管理。例如:审计、备份、归档、删除等等 可集成各种不同存储媒介进一步支持各种服务,例如NAS、磁带或其他现有或未来存储技术 可嵌入智能缓冲区,将当前文档、历史文档、归档数据、备份集合在一起,RBS+文件流解决方案架构一中小型系统应用场景,FILESTREM文件流接口提供负载均衡、多线程、多通道文档读写 RBS+FILESTREM文件流存储池可根据用户需要使用经济实惠的PC服务机扩展,RBS+文件流解决方案架构二大型企业级应用场景,RBS+文件流存储池,企业核心BLOB存储系统,SQL RBS 后端存储接口 Provider API,SQL D

16、B RBS 数据库,Filestream 文件流存储接口,横向扩展,SQL RBS 应用端接口 Client API,客户订制应用,RBS接口,档案管理使用场景,核心档案存储可通过服务层安全的提供各种应用借口 档案导入可嵌入智能保留期限识别模块 防火墙提供基础保护 如需要应用层可通过防火墙PORT FORWARDING功能延伸到外网,企业核心档案存储 使用RBS+文件流可扩展解决方案,调阅,其他,收集,查询,管理,导入,安全,服务接口,防火墙,建议使用硬件配置,市场性价比较好的PC服务机标准: 4芯4核16G 存储标准 光纤技术SAN或其他存储设备 估算方式 至少2台 每台承担10-20T(当前数据使用) 每台承担20-40T(历史数据使用) 设计应可达到单通道读写每秒40M以上(实际情况根据存储设备吞吐量),代码字体或字号,请用此版面展示软件代码 aaa 请用展示字体为C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论