HANA深度剖析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

SAPHANA深度剖析董玢SAP高级研发经理DTCC2013©2012SAPAG.Allrightsreserved.2关键趋势:企业实现真正的实时需要一项突破性的技术来满足深度广度实时高速简单过去现在使用过时的聚集数据和直觉来做出决策用实时、精细的数据实现强大的分析功能(模拟、模式识别等)从计划到执行采用按部就班、僵化的周期周期具有适应性、可以交互,能够感觉到系统的需要并做出相应调整一刀切的解决方法,不能针对具体情况采用不同的方法根据对情势的深刻洞察采取个性化的措施在PC上执行复杂的业务处理灵活的应用程序可在任何(移动)设备上使用DTCC2013©2012SAPAG.Allrightsreserved.3SAPHANA全新的实时分析和应用程序的平台SAPBusinessSuite第三方系统实时分析SAPHANAMicrosoftExcelSAPBusinessObjects解决方案其它……(开放)实时复制服务数据服务实时应用程序内存数据库计划和计算引擎商业函数库预测分析库信息编辑器建模工具应用服务SAPHANASAPHANA是一种革命性的内存平台,它简化并合理化了复杂和昂贵的IT体系结构。SAPHANA帮助大量数据,并以前所未有的速度提供信息,比以前快了1万倍。SAPHANA是一个开放平台:适应性和可扩展性,使能够创建之前无法设想的应用程序,并重新思考和设想新的方法来运行业务DTCC2013©2012SAPAG.Allrightsreserved.4SAPHANA设计目标硬件革新导致软件革新•内存计算:数据读取时无磁盘访问(更新将被记入日志并且持久化到硬盘)•高度并行执行•充分利用CPUCache的内存组织结构多引擎的数据平台:超越SQL关系数据(行式与列式),文本,图,…集成的开发环境BusinessFunctionLibrary,PredictiveAnalysisLibrary,内在的算法引擎SAP应用服务器集成简化的系统架构•简化的TCO•集成ERP交易系统Image:RenjithKrishnan/FreeDigitalPhotos.netDTCC2013©2012SAPAG.Allrightsreserved.5额外的SAPHANA设计目标支持大型数据集•数据分区与数据分布•最大(100TB内存,~400TB硬盘),100节点,4000个CPU内核故障恢复和高可用性•持久化存储,Redo-log,save-points•备份/恢复•热备,表延迟加载•故障恢复其它•计划引擎与预测分析•多租户&云环境支持Image:RenjithKrishnan/FreeDigitalPhotos.netDTCC2013SAPHANA内存数据库技术特性DTCC2013InsertonlyonchangeColumnandrowstore+NoaggregatesMinimalprojectionsPartitioningAnalyticsonhistoricaldataSingleandmulti-tenancySQLinterfaceoncolumns&rowsReductionoftiers/layersxIn-memoryCompressionMulti-core/parallelizationDynamicExtensibility+++Active/passive&dataagingPABulkload++++TTextRetrieval&ExplorationMulti-threadingwithinnodesMapreduceGroupKeytSAPHANA技术特性SQLIn-memoryAppsDTCC2013©2012SAPAG.Allrightsreserved.8数据库通常使用行式存储;SAPHANA也支持行式存储,但是它是为列式存储而优化的OrderCountryProductSales456Francecorn1000457Italywheat900458Italycorn600459Spainrice800列式与行式存储456Francecorn1000457Italywheat900458Italycorn600459Spainrice800456457458459FranceItalyItalySpaincornwheatcornrice1000900600800RoworderorganizationColumnorderorganizationSingle-recordaccess:SELECT*FROMSalesOrdersWHEREOrder=‘457’SQLSingle-scanaggregation:SELECTCountry,SUM(sales)FROMSalesOrdersWHEREProduct=‘corn’GROUPBYCountryDTCC2013©2012SAPAG.Allrightsreserved.9OrderCountryProductSales456Francecorn1000457Italywheat900458Spainrice600459Italyrice800460Denmarkcorn500461Denmarkrice600462Belgiumrice600463Italyrice1100…………列式词典压缩对于每一列建立词典使用数据驱动的固定长度位编码直接操作压缩过后的数据,利用整型位操作计算将更多的位于CPUCache中而不是内存中1Belgium2Denmark3France4Italy5Spain1324354452627184……1725,63142,4,853LogicalTableDictionary5entries,soneed3bitstoencode!Compressedcolumn(bitfields)InvertedindexDictionaryWherewasorder460?WhichordersinItaly?DTCC2013©2012SAPAG.Allrightsreserved.10列式行程编码压缩列式存储中的重复数据在稀疏已经排序的数据中表现最好其它类型中其它编码方式OrderCountryProductSales456Francecorn1000457Italywheat900458Spainrice600459Italyrice800460Denmarkcorn500461Denmarkrice600462Belgiumrice600463Italyrice1100…………1Belgium2Denmark3France4Italy5Spain34542x214…LogicalTableCountry1corn2wheat3rice122x313x3…ProductDTCC2013©2012SAPAG.Allrightsreserved.11消除聚合表传统数据库使用“物化聚合”(记录min/max/sum/avg…)来增加分析性能这些聚合记录在数据更改时必须被重新计算HANA可以高性能的实时计算聚合,无须聚合表这可以简化数据模型,保证及时性,并且减少日志记录DTCC2013©2012SAPAG.Allrightsreserved.12基于列式的“仅仅插入”策略使用“仅仅插入”的策略在“DeltaStore”中记录增加与修改(针对写优化)插入/更新记录按照时间排序支持快照储存减少锁冲突需要偶然的“deltamerge”++++456457458459FranceItalyItalySpaincornwheatcornrice1000900600800457Italycorn900460Denmarkcorn600456457458459460FranceItalyItalySpainDenmarkcorncorncornricecorn1000900600800600DeltaStoredeltamergeupdinsDataTableDTCC2013©2012SAPAG.Allrightsreserved.13行式与列式存储的索引行式存储主键与rowid的对应可以定义其它的附加索引利用Hash表与B+树实现,其不利于CPUCache优化列式存储列式存储在大多数情况下不需要额外的索引因为这种列式存储方式本身就类似于为每一列都建立了索引因为数据在内存内读取,所以其本身的访问速度也比较快消除了索引可以节约内存空间,同时也增强了写入性能DTCC2013©2012SAPAG.Allrightsreserved.14列式存储的表关联操作基于值ID的表关联操作列式存储包括一个可以用于innerjoins,rightouterjoins,leftouterjoins,andfullouterjoins的关联器平均来说,基于值ID的关联会比基于值的关联快3倍列式存储维护了值ID与值的对应关系DTCC2013©2012SAPAG.Allrightsreserved.1515数据分区表可以被分区,并且可以被分布到多台系统上–巨型表,可以被跨机器的并行化–分布式执行ProductGroupColor10Ared20Bblue30Agreen40Ared50Cred60AredHost1Host2ProductGroupColor1013301240136013ProductGroupColor20215033Select*fromtablewhereGroup=“A”Select*fromtablewhereColor=“red”DTCC2013©2012SAPAG.Allrightsreserved.16并发用户查询中的并发操作数据分区,在独立实例或者集群环境单一查询中的水平或者垂直划分对于应用开发者是完全透明的并行化quant.150601004575849616245366sales$1000$900$600$800$500$750$600$600$1100$450$2000type43121233331232431233core3core4core1core2DTCC2013©2012SAPAG.Allrightsreserved.17高度并行的OLAP分析实例五亿条记录的表;包括join和聚合操作80个线程的并发执行(4-CPU服务器)比单核执行的速度快67.7倍:5.24秒高效的缓存利用率每周期1.2个指令DTCC2013©2012SAPAG.Allrightsreserved.18持久化存储为什么内存数据库需要一个持久层?主内存是容易丢失的。那么接下来会发生什么…数据库重启?电力中断?…数据需要用不容易丢失的方式存储备份和恢复SAP内存计算引擎为行存储和列存储实现了持久层定期创建“保存点”→在保存点时间保存数据库完整镜像通过日志获取所有自最新一个保存点以后的数据库事务(通过写入重做或则撤销日志)→从保存点恢复数据库创建“快照”→用于做备份DTCC2013©2012SAPAG.Allrightsreserved.19持久化存储在内存化储存中的系统重启与恢复系统重启过程中的活动从最近一个保存点开始恢复从撤销日志里获取自最近一次保存点以后的未提交的事务从重做日志里自最近一次保存点以后的已提交的事务行存储的完整内容被加载到内存列存储的表可能会被标记成预加载或者没有被标记的只有被标记为预加载的表才能在启动的时候加载到内存如果表被标记成在需要的时候加载,恢复过程就会在首次进入的时候被调用DTCC2013SAPHANA数据建模DTCC2013©2012SAPAG.Allrightsreserved.21应用开发:超越SQL信息模型,计算模型SQLScript商业函数库预测函数库…不仅仅是SQL存储过程DTCC2013©2012SAPAG.Allrightsreserved.22SAPHANA建

1 / 59
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功