首页 Oracle In Memory技术最佳实践

Oracle In Memory技术最佳实践

举报
开通vip

Oracle In Memory技术最佳实践OracleInMemory技术最佳实践技术创新,变革未来InMemory基础架构12InMemory功能优势3InMemory最佳实践4InMemory最新特性目录CONTENTS太多InMemory?•DBCache•Default•Keep•Recycle•Cache•ResultCache•Memoptimize•Memoptimizeforread•Memoptimizeforwrite•TimestenIn-MemoryDatabase•OracleDatabaseInMemory•行与列格式同时存在•...

Oracle In Memory技术最佳实践
OracleInMemory技术最佳实践技术创新,变革未来InMemory基础架构12InMemory功能优势3InMemory最佳实践4InMemory最新特性目录CONTENTS太多InMemory?•DBCache•Default•Keep•Recycle•Cache•ResultCache•Memoptimize•Memoptimizeforread•Memoptimizeforwrite•TimestenIn-MemoryDatabase•OracleDatabaseInMemory•行与列格式同时存在•同时可用且事务一致•分析报表使用列格式•在线处理使用行格式InMemory架构NormalBufferCacheNewIn-MemoryFormatSALESSALESRowFormatColumnFormatSALES•日记用于使列存储在事务上保持一致•在行存储中处理DML操作•列存储中的对应条目标记为过时•修改记录的拷贝存储在交易日志中InMemory架构SALESColumnFormatMemoryJOURNALInMemory基础架构12InMemory功能优势3InMemory最佳实践4InMemory最新特性目录CONTENTS•内存访问速度•仅访问必要的列•矢量指令InMemory对性能提升数据扫描InMemory聚集•快速扫描填充的内存过程中创建报告大纲•立即生成报告连接•将星形查询转换为10倍更快的列扫描•在大表中搜索与小表匹配的值HASHJOINTableATableBVectorRegisterLoadmultipleregionvaluesVectorCompareallvaluesan1cycleCPUCACACACA•分析查询包含复杂的表达式–最初针对每一行进行评估•表达式预先计算并缓存在内存中–用户通过虚拟列定义–自动检测到表达式•所有内存优化均适用•复杂查询速度提高3-5倍Example:ComputetotalsalespriceNet=Price+Price*TaxIn-MemoryColumnStoreSalesTaxPricePrice+Price*TaxInMemory:内存表达式•热图跟踪数据访问频率•可以将策略定义为•将数据带入IM列存储•随着数据冷却增加压缩级别•从IM列存储中逐出冷数据InMemory:内存数据自动填充策略Sales_Q3Sales_Q2Sales_Q4In-MemoryColumnStoreSales_Q1InMemory:快速启动•IM列格式持久存储•内存中的列存储内容在填充时存储为securefilelob格式•当重新启动数据库时,填充过程会更快,因为填充过程会直接从存储中读取列格式•列存储的恢复速度更快(2-5倍),因为无需重新格式化数据DBFILE1IndexTableTableTableIndexDBFILE2SALESTABLESPACEFASTSTARTTABLESPACEFastStartDataIn-MemoryColumnStoreBufferCache•实时分析,不影响生产数据库•高效利用备用数据库资源•可以从生产数据库中填充不同的数据–使用新的DISTRIBUTEBYSERVICE确定填充表的位置–增加总的列容量InMemory:ActiveDataGuard支持1MonthIn-MemoryProductionStandby1YearIn-MemoryInMemory优势•极速性能–与BUFFERCACHE访问相比性能提高7到128倍–与磁盘命中相比性能提高62到3259倍–混合场景提速5到9倍(通过删除多余索引实现)–数据扫描、连接、聚集全面提速•易用性–无需数据迁移–无需应用修改–设置部署简单–全面基于CBOInMemory基础架构12InMemory功能优势3InMemory最佳实践4InMemory最新特性目录CONTENTS•星型模式和预先计算的KPI•改善仪表板的性能•基础层的全部或子集•用于第三范式的时间敏感分析•Staging/ETL/Temp不是最佳场景•写一次,读一次In-Memory使用场景•直接对OLTP数据启用实时报告•加快ETL过程的数据提取部分•无需单独的ODSODSETLIn-MemoryColumnStoreSALESOLTPSystemReportingDataWarehouseReportingIn-MemoryColumnStoreStagingLayerPerformanceLayerSTARSCHEMAPre-CalKPIsFoundationLayer3rdNormalFormInMemory使用建议•OLAP或报表系统:最佳使用场景–开启内存压缩模式–配合分区效果更优–考虑开启InMemory自动建议•混合系统:有限制使用–业务或数据库评估InMemory候选表–考虑使用索引建议去掉部分OLAP相关的索引•纯OLTP系统:不建议–架构决定对OLTP性能无提升–无论是单机还是RAC架构,事务频繁提交都会带领额外开销InMemory部署实践•内存参数调整–In-Memory默认没有打开–SGA_TARGET=源SGA_TARGET+INMEMORY_SIZE(单实例)–SGA_TARGET=(源SGA_TARGET+INMEMORY_SIZE)*1.1(RAC)–PGA_TARGET=PARALLEL_MAX_SERVERS*2GB–如果无法避免写临时段:_smm_auto_max_io_size=1024•不支持类型–IOT–Hashcluster–OutoflineLOBs•内存使用占用–CompressionAdvisor&In-MemoryAdvisor监控InMemory操作•内存InMemory区域–v$inmemory_area•对象InMemory属性–v$im_segmentsSQL>SELECT*FROMV$INMEMORY_AREAWHERECON_ID=3;POOLALLOC_BYTESUSED_BYTESPOPULATE_STATUSCON_ID1MBPOOL145752064109051904DONE364KBPOOL461373442686976DONE3SQL>selectsegment_name,inmemory_size,bytes,bytes_not_populated,populate_statusfromv$im_segments;SEGMENT_NAMEINMEMORY_SIZEBYTESBYTES_NOT_POPULATEDPOPULATE_STATUST_INMEMORY1114767367898234880COMPLETED监控InMemory操作•内存InMemory区域–v$inmemory_area•对象InMemory属性–v$im_segments•执行 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 InMemory–INMEMORYFULLSQL>select/*+full(t)*/count(*)fromt_inmemoryt;COUNT(*)5307536执行计划Planhashvalue:2112900194|Id|Operation|Name|Rows|Cost(%CPU)|Time||||||||0|SELECTSTATEMENT|1|SORTAGGREGATE|2|TABLEACCESSINMEMORYFULL|T_INMEMORY|1|1022(6)|00:00:01|1|5307K|1022(6)|00:00:01|监控InMemory操作•内存InMemory区域–v$inmemory_area•对象InMemory属性–v$im_segments•执行计划InMemory–INMEMORYFULL•统计信息–物理读–逻辑读统计信息62recursivecalls0dbblockgets18consistentgets5physicalreads0redosize561bytessentviaSQL*Nettoclient410bytesreceivedviaSQL*Netfromclient2SQL*Netroundtripsto/fromclient0sorts(memory)1sorts(disk)2rowsprocessed监控InMemory操作•内存InMemory区域–v$inmemory_area•对象InMemory属性–v$im_segments•执行计划InMemory–INMEMORYFULL•统计信息–物理读–逻辑读–IMscanrowsSQL>selectname,value,t.con_idfromv$statnamen,v$sesstatt2wheren.statistic#=t.statistic#3andn.con_id=t.con_id4andname='IMscanrows'5andsidin(selectsidfromv$mystat);NAMEIMscanrowsVALUECON_ID53075363InMemory与RAC•In-Memory是sharenothing架构–In-Memory的表会打散到RAC所有节点的内存中–数据打散方式包括ROWIDRANGE、PARTITION和AUTO三种–In-Memory的Duplicate功能仅在Exadata环境中可用–一个会话仅访问当前实例仅能访问InMemory表的部分数据InMemory与RAC•RAC环境如何高效使用InMemory–PARALLEL_FORCE_LOCAL设置为FALSE–PARALLEL_DEGREE_POLICY设置为AUTO•参数可以会话级设置•可以在提示中使用语句级并行提示PARALLEL来代替•不希望数据库自动确定并行度,通过PARALLEL(N)提示•需要确保N/nodes>=2–合理规划表分区并按照PARTITION方式分布InMemory–规划业务访问SERVICE对应的节点,按照SERVICE分布InMemoryIn-Memory与高可用RACASMRMANDataGuard&GoldenGate•InMemory不会更改存储格式,日志记录,备份,恢复等。•所有经过验证的可用性技术都可以透明地工作•防止所有故障•节点,站点,损坏,人为错误等额外考量•成本–In-Memory是选件非免费功能–In-Memory使用的内存为额外增加部分•可用性–对OLTP环境性能提升通过删除索引实现–对于网络交互,登录,解析,PL/SQL,复杂函数,数据处理,ETL没有加速能力–需要关注由于空间,连接方式,RAC架构以及BUG导致的In-Memory查询不可用问题•可扩展性–通过增加内存来支持数据增长–In-MemoryRAC架构需要全面开启并行,且对心跳带宽要求较高,查询效率较单实例下降InMemory基础架构12InMemory功能优势3InMemory最佳实践4InMemory最新特性目录CONTENTS•In-Memory的自动化管理增强列式存储特性–可以通过单一参数控制:inmemory_automatic_level=HIGH–不再需要通过INMEMORY标记表•机器学习算法将会自动加载或驱除表,无需用户参与•允许自动压缩较少访问的列式内存数据In-MemoryColumnStoreHotDataIntermediateDataCoolDataHotDataAutoPopulateHotTablesAutoEvictColdTablesAutoCompressColdColumns自动化的In-Memory管理•较大的不常访问的列可从内存列存储中排除➢比如图片、文档等•12c(18c/19c):如果查询包含任何被排除的列,则无法进行In-Memory访问•20c:混合In-Memory扫描➢扫描过滤使用in-memory列存➢从BufferCache获取被排除的列➢超过10倍性能提升混合In-Memory扫描ID5678In-MemoryColumnStoreSALEStableExcludesInvoiceColumnItemCameraLaptopPhoneLEDTVPrice$200$2000$500$3000RowStore(BufferCache)SALEStable1.ScanandfilterbyPriceusingcolumnstoreIDItemPriceInvoice5Camera$2006Laptop$20007Phone$5008LEDTV$30002.FetchinvoicesfromrowstoreSELECTInvoiceFROMSalesWHEREPrice>1000•新的深度矢量化框架允许SIMD矢量化用于各种查询运算符In-Memory向量连接Example:JoinSalesandItemsSALES•In-Memory中向量连接使用此框架来加速复杂连接➢在单个SIMD向量指令中匹配SALES和ITEMS表之间的多行➢In-Memory连接处理速度提高5-10倍ITEMSVectorRegisterVectorRegister•18c:–In-Memory支持外部表–外部表支持分区In-Memory外部表功能增强In-memoryExternalTablesIn-memoryDatabaseTablesDBTABLESIn-Memory支持外部表ObjectStorageFilesHadoop•外部表允许透明访问数据库外部的数据•外部表的In-Memory功能为数据库外部的数据建立in-memory列缓存以便实现外部数据的超快速分析•支持所有In-Memory优化功能•向量处理,JSON表达式透明地扩展到外部数据•百倍速度提升•18c:–In-Memory支持外部表–外部表支持分区•19c:–混合分区表In-Memory外部表功能增强Q2_2017Q3_2017Q4_2017Q1_2018Q2_2018Q3_2018Q4_2018OBJECTSTORAGESQLHOTDATACOLDDATAORDERSQ4_2016Q1_2017UPDATESTABLEPARTITIONEDBYQUARTER混合分区表进一步扩展了Oracle分区技术,混合指的是数据的分布,一些分区可以位于数据库中,另一些可以是位于数据库外部的文件(比如操作系统文件或HDFS文件)。19c中将内部分区(internalpartitions)与外部分区(externalpartitions)特性结合起来,形成一个更通用的分区,称为混合分区表。混合分区表Q2_2017Q3_2017Q4_2017Q1_2018Q2_2018Q3_2018Q4_2018OBJECTSTORAGESQLHOTDATACOLDDATAORDERSQ4_2016Q1_2017UPDATESTABLEPARTITIONEDBYQUARTERCREATETABLEorders(order_idnumber,order_dateDATE,…)EXTERNALPARTITIONATTRIBUTES(TYPEoracle_loaderDEFAULTDIRECTORYdata_dirACCESSPARAMETERS(..)REJECTLIMITunlimited)PARTITIONBYRANGE(order_date)(partitionq1_2015valueslessthan(‘2015-04-01’)EXTERNALLOCATION(‘order_q1_2015.csv’),partitionq2_2015valueslessthan(‘2015-07-01’),partitionq3_2015valueslessthan(‘2015-10-01’),partitionq4_2015valueslessthan(‘2016-01-01’));混合分区表•18c:–In-Memory支持外部表–外部表支持分区•19c:–混合分区表•20c:–In-Memory支持分区外部表–In-Memory支持混合外部表–In-Memory支持表级和分区级别的In-Memory属性In-Memory外部表功能增强RamEmilySaraTextIndexResume(Text)Words........database....NameDegreeJohnPhDBSMSMS找到具有”PhD”学位并具有Database技能的候选人In-MemoryColumnStore1.仅在内存中将倒排索引添加到每个文本列--将单词映射到包含这些单词的文档--替换用于分析工作负载的磁盘上文本索引2.混合查询(关系+文本)可以从内存中获得3倍以上性能提升;In-Memory的Spatial和TextAdditionalIMcolumnsSpatialSummaryInTaParcelNumber-Memory(IM)bleColumnsParcelSpatialAddressDetails095040390300OraclePkwy095040310400OraclePkwy095040250500OraclePkwy095040260600OraclePkwySearch140MillionUSlandparcelsWhichparcelistheutilityvalvelocatedin?在内存中位空间列增加空间摘要;--复杂空间细节的紧凑近似--使用SIMD矢量扫描快速过滤--替换R-Tree索引进行空间分析--空间查询速度提高10倍•对于OLAP系统存在巨大的性能提升–收集统计信息–合理利用并行–充分利用分区和布隆过滤•对于OLTP仍然是额外的负担–频繁提交带来性能损耗–执行计划的不确定性对访问性能的稳定性带来巨大挑战–CBO评估的准确性需要进一步提升InMemory小结谢谢观看THANKSFORWATCHING
本文档为【Oracle In Memory技术最佳实践】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
IT人
暂无简介~
格式:pdf
大小:1MB
软件:PDF阅读器
页数:0
分类:互联网
上传时间:2021-01-20
浏览量:24