资源描述
微软处理海量非结构化数据的技术和解决方案,DAT315,朱海峰
高级技术方案顾问
微软(中国)有限公司,孙巍
技术总监
北京中达金桥技术服务有限公司,,点击此处修改二级标题
将幻灯片标题设置为 “Title Case”
标题字号为 40分或类似尺寸,并尽可能不换行
将二级标题设置为 “sentence case”
二级标题的字体颜色已经在PPT模板中定义,议题,SQL Server 能力及案例
文档存储技术发展趋势
案例讨论,文档存储技术发展趋势,,新时代非结构型数据的挑战,,,,,,,,,未来的发展方向,统一标准的存储平台支持所有数据类型、各式,新数据形态成为标准实体,,单一数据平台的应用,需要协调的数据存取,简约、可扩展的管理模式,结构型、非结构型数据的集成,支持BLOB的抽象编程接口
提供更多的‘服务’围绕非结构化数据,例如:搜索,分析
提供集成多种空间数据源的能力
提供结构化和非结构化数据的关联、集成
属性的提取/推广
灵活的架构
适用于非关系型数据的关系型操作,实体汇总,实体数据
访问,企业级数据查询,通过实体架构实现对实体的直接搜索查询
针对多数据源的联合并发搜索查询
与 Microsoft Office SharePoint Server 和 FAST 的集成,其他
数据源,数据源1,数据源2,数据源3,FAST,企业
查询门户,应用特定
查询,,,,,,SQL Server,SharePoint,SQLServer存储,数据/文件流,可适用于不同网域的数据流服务,例如:金融、制造,监测数据
基于历史数据实现决策支持的和业务分析
与现有SQL Server 部件集成,充分利用现有能力,例如:报表、数据分析,报警,报表,报表及
数据分析,数据流
服务引擎,数据流服务应用接口,,金融数据,
例如:股票
交易记录,点将流量数
据,例如;Web 日志,历史数据流,SQL Server文档存储新技术,,文档、多媒体文件的存储,传统的三种存储模式,SQL Server 非结构型数据存储技术,RBS - Remote
Blob Storage,FILESTREAM
BLOB Storage,SQL BLOB,文件流(FILESTREAM)简介,,非结构数据直接储存于文件系统(使用NTFS文件系统)
VARBINARY(MAX) 数据类型上注明存储属性即可开启文件流存储功能
丰富的双重编程模式
T-SQL语句(数据库语法)编程
Win32文件系统I/O编程接口支持数据库事务属性
BLOBs 大小上限= 文件系统大小
与SQL Server集成数据库管理,例如:备份、恢复...
与SQL Server数据库安全管理集成,RBS 技术简介,,远程BLOB存储
标准的存储接口可使用不同存储体系
后端存储无技术限制:文件系统、数据库、文件流、专用文档存储等等
后端存储改变不影响应用(不需要改变)
宽松(链路级)一致性保证
SQL Server管理链路级一致性和垃圾收集,例如:删除、更改等等
市场趋势
RBS优势
降低BLOB存储成本
降低数据库工作负载,提高系统扩展性
标准应用端借口可使用不同存储
使用经济的普通服务器完成复杂的存储和工作流要求,非结构型数据存储技术一览,,,演 示,使用不同方式访问SQL Blob数据,孙巍
技术总监
北京中达金桥技术服务有限公司,SQL Server Blob数据访问,SQL Server Blob访问方式
Filestream存储
T-SQL访问
Win32 API访问
Varbinary存储
访问性能与Blob数据块大小有关
系统设计时需要对存储数据的平均大小及使用模式进行评估,示例代码-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 DesiredAccess,
UInt32 OpenOptions,
byte[] FilestreamTransactionContext,
UInt32 FilestreamTransactionContextLength,
Int64 AllocationSize);,示例代码-Win32 API,SqlTransaction transaction = sqlConnection.BeginTransactio("mainTranaction");
sqlCommand.Transaction = transactio;
sqlCommand.CommandText ="SELECT GET_FILESTREAM_TRANSACTION_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 byte[512];
FileStream fileStream = new FileStream(handle,FileAccess.ReadWrite,buffer.Length,
false);,远程读取性能,远程写入性能,远程更新性能,FILESTREAM最佳实践,尽可能避免对多个小文件的附加操作,每个附加操作都将创建新的Filestream文件。如果必须建议使用varbinary(max)
在高负载的多线程系统中,可以考虑通过OpenSqlFilestream或SqlFilestream API设置AllocationSize,减少碎片
如果文件很大,避免使用T-SQL进行更新或附加,这样会对tempdb有很大开销,FILESTREAM最佳实践,当读取FILESTREAM数据时考虑如下因素
如果仅需要读取初始的部分数据,可以使用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 架构,SQL 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,写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
数据库服务机,10 用户读取BLOB,2 请求BLOB标识,3 应用读取BLOB标识,5 请求BLOB (标识),6 请求BLOB(标识),演 示,使用RBS实现对于FILESTREAM的负载均衡,孙巍
技术总监
北京中达金桥技术服务有限公司,,,,远程文档与文件流结合的文档存储解决方案,,解决方案特点,远程BLOB存储技术与FILESTREM文件流技术的集成
由FILESTREM文件流存储节点组成的存储池可以迅速扩展(使用经济实惠的PC服务器)
RBS后端的FILESTREM文件流接口提供多线程、多通道的负载均衡逻辑进行文档的读写
负载分配可以用户可以根据需要灵活调整
存储节点可转变为“只读”属性(存储历史数据,不接受新档案)
可以迅速添加节点并重新设置负载均衡模式
智能备份/恢复功能可以避免历史性“只读”数据的重复备份,显著降低备份需要的时间和空间
客户生产环境显示单线程文档写入可达到48M+/秒性能(限于存储设备性能),解决方案优势,按用户需要扩展存储池
更合理的资源投入
避免大规模初期投入造成空置设备、存储空间的浪费
后续投入经济上可得益于硬件价格的快速跌落
后续投入可取的更现代的技术,自然升级系统,且不需要更改应用
服务器性能提升快,降价快
存储成本降低快,读写性能提高快
分期扩展自然形成不同层次的存储池,帮助信息生命周期的管理
老旧数据在老一代存储池,新数据、常用数据在新一代系统上,有更好性能
可嵌入各种服务、应用对文档数据进行整个生命周期的管理。例如:审计、备份、归档、删除等等
可集成各种不同存储媒介进一步支持各种服务,例如NAS、磁带或其他现有或未来存储技术
可嵌入智能缓冲区,将当前文档、历史文档、归档数据、备份集合在一起,RBS+文件流解决方案架构一中小型系统应用场景,FILESTREM文件流接口提供负载均衡、多线程、多通道文档读写
RBS+FILESTREM文件流存储池可根据用户需要使用经济实惠的PC服务机扩展,RBS+文件流解决方案架构二大型企业级应用场景,RBS+文件流存储池,企业核心BLOB存储系统,,SQL RBS
后端存储接口
Provider API,SQL DB
RBS
数据库,,,,,,,,Filestream 文件流存储接口,横向扩展,,,,,,,,,,SQL RBS 应用端接口
Client API,客户订制应用,,,,,RBS接口,档案管理使用场景,核心档案存储可通过服务层安全的提供各种应用借口
档案导入可嵌入智能保留期限识别模块
防火墙提供基础保护
如需要应用层可通过防火墙PORT FORWARDING功能延伸到外网,企业核心档案存储
使用RBS+文件流可扩展解决方案,调阅,其他,收集,查询,管理,导入,安全,服务接口,防火墙,建议使用硬件配置,市场性价比较好的PC服务机标准:
4芯4核16G
存储标准
光纤技术SAN或其他存储设备
估算方式
至少2台
每台承担10-20T(当前数据使用)
每台承担20-40T(历史数据使用)
设计应可达到单通道读写每秒40M以上(实际情况根据存储设备吞吐量),代码字体或字号,请用此版面展示软件代码
aaa
请用展示字体为Courier New这一单一空间字体,模板颜色,字体,字号和颜色模式已经在PPT模板中定义
请使用下面展示的颜色模式
更多指示请参见下页
超文本衔接颜色: www.microsoft.com,Sample
Fill,Sample
Fill,Sample
Fill,Sample
Fill,Sample
Fill,视 频,视频名称,姓名
职务
公司,演 示,演示名称,姓名
职务
公司,客 户,客户名称,姓名
职务
公司,合作伙伴,合作伙伴名称,姓名
职务
公司,宣布,宣布题目,姓名
职务
公司,表格格式,图标格式,饼图格式,疑问和解答,参考资源,
展开阅读全文
相关搜索