OLTP数据库与OLAP数据仓库技术解析

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

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

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

资源描述

OLTP数据库与OLAP数据仓库技术解析吕伟平IBM系统架构师议程•OLTP与OLAP的差异•IBMOLTP解决方案-DB2purescaleonPOWER•IBMOLAP解决方案-DB2数据仓库POWER系统解决方案2数据仓库系统的特性OLTPOLAP业务功能生产业务交易处理业务数据分析与决策支持DB设计面向应用面向主题数据当前的,最新的,细节的,二维的分立历史的,聚集的,多维的,集成的,统一的存取随机,高并发,每交易读/写记录量小(数十条)顺序,低并发,装载与读取大量记录(从百万条到数亿条)工作单位简单的事务复杂的查询DB大小数十至数百GB数百GB至数十TB数据库架构差异PowersystemSingleDatabaseViewLogDB2LogDB2LogDB2Part1Part2Part3SQL1’SQL1’’SQL1’’’SQL1Example:DB2InfoSphereWarehouse(akaDPF)SMP+MPPscaleoutTeraData;GreenPlumLogDB2DB2DB2SingleDatabaseViewExample:DB2pureScaleDataSharingIdealforactive/activeOLTP/ERPscaleoutOracleRACTran1Tran2Tran3SharedDataAccessOLTP数据库系统结构ShareDataOLAP数据库系统结构ShareNothing非共享架构V.S.共享架构5ItemsSharenothingSharestorage遍历查询性能(PerformanceofSelect)好一般数据装载性能(PerformanceofLoad)好一般随机插入性能(RandomInsert)一般好扩展性(Scalability)好一般高可用性(HighAvailability)一般好易维护性(EasytoMaintain)一般好易于应用设计性(EasytoDesignApps)一般好总结:非共享架构适合OLAP分析查询应用.共享架构适合OLTP联机交易应用.议程•OLTP与OLAP的差异•IBMOLTP解决方案-DB2purescaleonPOWER•IBMOLAP解决方案-DB2数据仓库POWER系统解决方案6当前客户在OLTP领域选择OracleRAC的原因和问题应用OracleRAC的原因和好处:•服务器高可用性–服务器故障不影响集群可用性–在线升级•负载分担应用OracleRAC的问题:•无法线性扩展–非集中式的节点通信结构导致通信量巨大及增加了扩展的复杂度–极高的interconnect带宽和延时需求•不是真正的在线升级•服务器故障接管还不够快DB2forz/OSDataSharing是“黄金标准”•每个人都认可DB2forz/OS是可伸缩性和高可用性的“黄金标准“•甚至Oracle也同意:•为什么?–CouplingFacility!!•集中锁定、集中缓冲池交付了优异的可伸缩性和优异可用性–z/OS上的整个环境都可用使用CouplingFacility•CICS、MQ、IMS、WorkloadManagement等8DB2pureScale的目标•无限扩展–随着需求的增长而增长•应用透明–不需要显著的程序修改–不需要复杂的管理工作•24*7的连续可用性–无论是针对计划内还是计划外在分布式平台最接近z/OS“黄金标准”的解决方案基于ZSysplex模型,和竞争对手的区别在于超强的高可用性和可扩展性DB2DB2DB2SingleDatabaseViewClusterInterconnectTransactionsCFTransactionLogsSharedData9ClusterInterconnectDB2pureScale的整体架构SingleDatabaseViewClientsDatabaseLogLogLogLogSharedStorageAccessCSCSCSCSCSCSCSMemberMemberMemberMemberPrimary2nd-ary运行于Power服务器上的DB2成员集群共享数据架构Clustercachingfacility(CF)支持RDMA的高带宽低延迟网络自动工作负载均衡整合的DB2ClusterServices借鉴IBM’sSystemzSysplex设计方案DB2pureScale的扩展性01234567891011120510151.98x@2members3.9x@4members#MembersThroughputvs1member7.6x@8members10.4x@12members读写比80:20对应用完全透明,未采用数据/应用分区的方式DB2pureScale最小化计划外停机时间–在线恢复•DB2pureScale的设计重点就是最大化在成员非正常宕机情况下的系统整体可用性•某一节点宕机后–DB2自动发现故障并在另一节点作恢复–故障节点上连接自动路由到其它节点–其它节点上交易再此过程中继续执行•当数据库成员失败的情况下,只有”in-flight“的数据在成员恢复完成前被锁定•In-flight=在成员失败时在该成员上参与交易的修改的数据DB2DB2DB2DB2MemberCrashRecoveryDB2InflightData%ofDataAvailableTime(~seconds)Onlydatain-flightupdateslockedduringrecoveryDatabasememberfailure10050DB2pureScale的易维护和升级–减少计划内停机在系统可用性上无断点不需要对已有工作强制回滚13DB2DB2DB2TransactionLogsSharedDataSingleDatabaseView1)运行系统•设定目标节点DB2DB2DB2SingleDatabaseViewTransactionLogsSharedData2)排干(Drain)目标节点•停止新的路由•允许已有交易完成DB2DB2DB2SingleDatabaseViewTransactionLogsSharedData3)执行维护工作•排干完成后工作负载平衡和自动路由•运行时负载信息用于负载平衡–每个成员记载自己的工作负载并在成员间共享信息–回复给访问的客户端–对下一个连接或者可选下一个交易进行路由–路由对应用程序是透明的•Failover:失败成员上的工作负载分布到其它存活的成员上–一旦失败的成员恢复,恢复的成员重新承担负载SharedDataLogSharedDataTransactionlogsDataClientsSharedDataTransactionlogsDataClients14DB2pureScale系统构成•集群中有多台主机,每台主机可运行成员(members)或CF,或二者同时运行–成员和CF由clusterinterconnect(network)和集群文件系统紧密联系–成员有自己的log和bufferpool–成员和CF共同组成DB2pureScale实例•实例,主机,成员,CF,网络和GPFS的状态有DB2ClusterServices管理和监控15pureScale成员16一个DB2engine的地址空间一个db2sysc进程内部采用多线程成员共享数据所有成员访问同一套数据每个成员有自己的页面池内存区域日志成员是逻辑概念一台服务器或LPAR上可有一个成员也可有多个成员(不推荐)db2agents&otherthreadslogbuffer,dbheap,&otherheapsbufferpool(s)Member2Shareddatabase(Singledatabasepartition)LogLogdb2syscprocessMember1db2agents&otherthreadsbufferpool(s)db2syscprocesslogbuffer,dbheap,&otherheapspureScaleCF•协助全局页面一致性管理和全局锁管理的软件技术•借鉴SystemzParallelSysplex的设计•软件实现•提供的服务包括•集中页面管理(GBP)•全局锁管理(GLM)•共享通讯区域(SCA)•由DB2成员发起GBP,GLM,和SCA在主备CF间同步•同步模式•可选,但建议使用•自动设置,默认设置Shareddatabase(Singledatabasepartition)LogLogGBPGLMSCAPrimarySecondarydb2agents&otherthreadslogbuffer,dbheap,&otherheapsbufferpool(s)db2agents&otherthreadsbufferpool(s)logbuffer,dbheap,&otherheaps17pureScale的关键通讯技术,有效解决扩展性难题•RDMA远程数据内存访问协议实现超低延时远程节点访问–Enablesround-tripresponsetime~10-15microseconds•静默页面状态失效–InformsmembersofpageupdatesrequiresnoCPUcyclesonthosemembers–Nointerruptorothermessageprocessingrequired–Increasinglyimportantasclustergrows•无需磁盘I/O的热页可用(从GBP内存访问)–RDMAanddedicatedthreadsenablereadpageoperationsin~10sofmicrosecondsGBPGLMSCABufferMgrLockMgrLockMgrLockMgrLockMgrMembersCFp崩溃恢复比较100%0%NodeFailureAllothernodescontinuetoprocessuninterrupted.CAinstantlyknowswhatpagesneedrecovery.Survivingnodeprocesseslog.RecoverylikelyrequiresnoI/OanddonefrommemoryDB2pureScaleDataavailabilityOracleRACTimePagesbecomeavailableastheyarerecoveredFreeze–onlydatapagesalreadyinbufferpoolinrightlockmodecancontinue19•同城灾备方案–目标:提供数据库双活解决方案•类似DB2/zGeographicallyDispersedParallelSysplexformulti-sites(GDPS):一个地理分布的pureScale集群DB2充分利用POWER的优秀的特性•DB2与AIX的WLM良好集成•对大内存的完美支持,减少TLBmissing–HugePage(16GB)–AIXonly–largepage–Middlepage(64KB)–AIXonly(defaultsinceDB2V9.5)–Smallpage(4KB)•DB2是唯一在AIX和Linux上采用kernelthread的数据库产品–降低contextswitch,减少内存消耗–特别适合multi-core,multi-thread的大型SMP(例如:Power7)•decfloat数据类型--充分利用Power6/7的硬件特性•uDAPL--充分利用Infiniband的优势,降低延时•VectorI/O–有效提升prefetch的效率DB2purescale其他优势•O

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

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

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

×
保存成功