为何Exadata是运行OracleDatabaseIn-Memory的最佳平台ORACLE白皮书|2015年5月1|EXADATA是运行ORACLEDATABASEIN-MEMORY的最佳平台引言OracleDatabaseIn-Memory透明地将分析查询的速度提高了若干数量级,从而有助于实时业务决策.
OracleDatabaseIn-Memory使用"双格式"架构,这种架构支持以行格式和纯内存中列格式维护数据.
利用SIMD向量处理1和内存中存储索引2可以非常快速地扫描列格式数据.
借助OracleDatabaseIn-Memory,可以完全在内存中以每处理器内核每秒数十亿行的速度扫描数据.
如今,企业能够在不影响现有系统性能的情况下对其关键业务数据运行实时分析.
为使OracleDatabaseIn-Memory发挥其优势,在哪个平台上运行数据库很重要吗是的,OracleExadata数据库云平台(Exadata)自2008年发布以来一直是运行Oracle数据库的首选平台,同样它也为运行OracleDatabaseIn-Memory提供了独特优势.
以下是Exadata为OracleDatabaseIn-Memory带来的前十大最重要的优势:Exadata能够高效地伸缩OracleDatabaseIn-Memory内存中容错超越DRAM限制,可以跨内存、闪存和磁盘透明地伸缩可以将内存中聚合优化分流到Exadata存储单元Exadata提供高存储带宽,可快速填充OracleDatabaseIn-Memory列存储并行执行NUMA支持Exadata是OracleDatabaseIn-Memory的开发平台弹性配置支持自定义配置,因此您可以按需付费使用Oracle可信分区可以减少软件许可成本Exadata是一个数据库整合平台,而OracleDatabaseIn-Memory进一步促进整合本文将一一探讨上述要点并详细说明为何Exadata是运行OracleDatabaseIn-Memory的最佳平台.
1单个指令处理多个数据值,这允许以一条CPU指令来计算一组列值.
2利用内存中存储索引,可以基于SQL语句中提供的筛选谓词进行数据修剪.
2|EXADATA是运行ORACLEDATABASEIN-MEMORY的最佳平台Exadata可以高效地伸缩OracleDatabaseIn-MemoryExadata对数据库服务器和存储服务器采用了一种横向扩展架构.
Exadata配置周密地平衡CPU、I/O和网络吞吐量以避免瓶颈问题.
当Exadata系统扩容时,数据库CPU、存储和网络将以一种平衡的方式添加到系统中,从而确保可扩展性而不造成瓶颈.
这种横向扩展架构能适应任意规模的负载,允许从小规模配置无缝扩展至极大规模的配置,同时避免出现性能瓶颈和单点故障.
这对于OracleDatabaseIn-Memory非常重要,因为这提高了并行性并极大降低了互连消息传递的延迟,从而确保内存中列存储(IM列存储)可以跨多个节点横向扩展.
在RealApplicationClusters(RAC)环境中,指定了INMEMORY属性的对象可以按rowid范围、按分区或按子分区在集群中分布.
默认情况下,Oracle基于使用的分区类型(如果有分区)决定分布对象的最佳方式.
或者,可以使用DISTRIBUTE子子句取代这种方式.
内存中容错鉴于RAC环境中IM列存储的无共享架构,一些应用程序可能需要一个容错选项.
在Exadata上,可以通过指定INMEMORY属性的DUPLICATE子子句对填充到IM列存储中的数据进行镜像.
这意味着,填充到IM列存储的每个内存中压缩单元(IMCU)都将在RAC集群的另外一个节点上存放一个镜像副本.
镜像IMCU提供了内存中容错功能,因为,即使某节点发生故障也可确保仍能通过IM列存储访问数据.
它还提高了性能,因为查询可随时访问主IMCU及其备份副本.
IMCU复制到RAC集群的另一个节点上图1.
可以镜像Exadata上IM列存储中的对象以提高容错能力如果某RAC节点发生故障并停用一段时间,唯一的影响将是重新镜像位于该节点上的主IMCU.
只有第二个节点发生故障并停用一段时间才需要重新分布数据.
如果需要额外的容错能力,可以通过指定INMEMORY属性的DUPLICATEALL子子句将对象填充到集群中每个节点的IM列存储.
这将提供最高级别的冗余性,并提供线性可伸缩性,因为查询将能够完全在单个节点内执行.
3|EXADATA是运行ORACLEDATABASEIN-MEMORY的最佳平台DUPLICATEALL选项还可帮助将大的分布式事实表与较小的维度表间的联接置于同一位置.
通过在较小的维度表上指定DUPLICATEALL选项,这些表的一个完整副本将填充到每个节点的IM列存储.
在图2所示的示例中,当查询将销售表的一个分区联接到一个或多个维度表时,该联接所需的所有数据将位于本地节点中,从而无需跨节点获取数据以完成联接.
图2.
分布式事实表和复制的维度表超越DRAM限制,可以跨内存、闪存和磁盘透明地伸缩在Exadata上,您的应用程序可以利用所有存储层(内存、闪存和磁盘),而不必知道数据所处的位置,并且当并非所有数据都位于IM列存储的内存中时也不会导致性能下降.
在Exadata上,数据可位于IM列存储、数据库缓冲区缓存、闪存存储或磁盘存储中,您的应用程序无需知道数据位置,因为Oracle数据库可无缝访问这些数据.
当数据位于Exadata存储服务器上时,Exadata智能闪存缓存特性可加快I/O操作速度,从而极大提高了Oracle数据库处理速度.
闪存提供对数据库对象的智能缓存,以避免使用物理磁盘I/O.
Exadata存储提供一种高级压缩技术,即混合列压缩(HCC),此技术通常可提供10倍的数据压缩,从而将有效数据传输速度提高一个数量级.
这意味着,所有数据访问,而不只是已填充到IM列存储的数据,都将得到尽可能高效的处理.
Exadata还包含智能扫描,这是一项独特的技术,能够将数据密集型SQL操作分流到OracleExadata存储服务器.
这类似于OracleDatabaseIn-Memory处理,同时也是对后者的一项补充,因为它支持无缝且高效地访问任意存储层上的数据.
当数据不在IM列存储中时,通过将SQL处理推送到Exadata存储服务器,从磁盘读取数据时可以直接在所有存储服务器上并行执行数据筛选和处理.
Exadata智能扫描降低了数据库服务器的CPU占用率,并大大减少了在存储服务器与数据库服务器之间移动的数据量.
这支持跨所有存储层进行伸缩以及高效执行SQL处理,无论数据是位于IM列存储、闪存存储还是磁盘存储上.
4|EXADATA是运行ORACLEDATABASEIN-MEMORY的最佳平台可以将内存中聚合优化分流到Exadata存储单元OracleDatabaseIn-Memory的推出带来了新的内存中聚合优化,即VectorGroupBy特性.
内存中聚合(IMA)提供新的SQL执行操作,可提高针对星型模式和类似模式的各种分析查询的性能.
其中包括KEYVECTORUSE和VECTORGROUPBY操作,这两种操作支持使用向量转换计划,以最大程度地减少必须流经执行计划的数据量.
这样,与备用计划相比,最大程度地减少了CPU使用量.
由此,IMA可将联接转换为事实表上的KEYVECTOR筛选器并一次性地聚合数据,同时降低CPU使用量.
当整个表都位于IM列存储时该过程极快,但如果整个表未完全位于IM列存储中时会怎样呢在Exadata上,当访问表时,如果表尚未填充到IM列存储,可以将KEYVECTORUSE操作分流到Exadata存储服务器上,这增强了IMA的能力.
当对表进行分区且仅将最新分区加载到IM列存储而其他分区仍位于磁盘上时,可能会发生这种情况.
这种分流功能在Exadata存储服务器间分布键向量处理,并最大程度地减少了必须返回到数据库节点的数据量.
Exadata提供高存储带宽,可快速填充OracleDatabaseIn-Memory列存储当初次将数据填充到IM列存储时,直接从磁盘以行格式读取,然后旋转90度以创建列,再进行压缩.
读取数据的速度越快,填充过程完成的就越快.
Exadata存储提供杰出的IO性能,可确保数据填充过程不受I/O限制.
填充过程是通过一组后台工作进程来进行的.
这些工作进程可以并行运行,以尽快地填充IM列存储,从磁盘读取数据以及CPU处理这些数据的速度有多快,就可以多快地填充IM列存储.
这正是Exadata的高I/O性能和CPU资源的作用所在,可尽快填充IM列存储.
还可以控制后台工作进程的数量,以进一步利用Exadata的可伸缩性.
此外,当IMCU中的陈旧条目数达到陈旧程度阈值时,OracleDatabaseIn-Memory也将重新填充IMCU.
同样,因Exadata的高I/O性能,该重填过程可以在后台执行,且对应用程序性能无明显影响.
Exadata通过专用协议提供极快互连,以加快OracleDatabaseIn-Memory的横向扩展Exadata在数据库服务器和存储服务器之间使用最新的InfiniBand互连.
每个数据库服务器和Exadata单元具有双端口四倍数据速率(QDR)InfiniBand连接,以实现高可用性.
每个InfiniBand链路提供40Gb带宽,这比传统存储或服务器网络高出许多倍.
此外,Oracle的互连协议使用直接数据放置方法(DMA—直接内存访问),将数据直接从线路移动到数据库缓冲区而无需额外的数据复制,从而确保极低的CPU开销.
InfiniBand网络兼具LAN网络的灵活性和SAN的效率.
通过使用InfiniBand网络,Exadata可确保网络不会成为性能瓶颈.
该InfiniBand网络同时还为RAC节点提供高性能集群互连.
当在Exadata上横向扩展DatabaseIn-Memory时,IM列存储之间的这种对于消息传递的高速传输和高带宽让IM列存储彼此间能够保持事务一致性并保持同步.
这增强了分布式对象以及已复制对象的横向扩展.
5|EXADATA是运行ORACLEDATABASEIN-MEMORY的最佳平台并行执行NUMA支持现今的多插槽处理器采用的内存架构允许一个插槽上的进程能够访问连接到另一个插槽的内存.
这称为NUMA,即非一致性内存访问(NUMA).
在NUMA系统中,CPU和内存资源通常基于CPU插槽分为多个逻辑节点.
在Exadatax4-8上,有8个CPU插槽,因此有8个NUMA节点3.
每个NUMA节点均可访问本地和远程内存资源,但本地内存访问将快得多(快2-3倍).
OracleDatabaseIn-Memory是NUMA感知的,可在Exadata上利用NUMA.
当在NUMA系统上分配IM列存储时,它会分为多个条带,每个NUMA节点上会放置一个不同的条带.
在填充IM列存储的过程中,会为IM列存储中的每个IMCU分配一个NUMA节点id.
当从IM列存储读取数据时,会将读取器进程部署在要读取的IMCU所在的NUMA节点上.
这样可大大减少远程读取的数量,确保最快地访问内存中填充的所有数据.
LOCVPS在农历新年之后新上架了日本大阪机房软银线路VPS主机,基于KVM架构,配备原生IP,适用全场8折优惠码,最低2GB内存套餐优惠后每月仅76元起。LOCVPS是一家成立于2012年的国人VPS服务商,提供中国香港、韩国、美国、日本、新加坡、德国、荷兰、俄罗斯等地区VPS服务器,基于KVM或XEN架构(推荐选择KVM),线路方面均选择国内直连或优化方案,访问延迟低,适合建站或远程办公使用。...
cmivps香港VPS带来了3个新消息:(1)双向流量改为单向流量,相当于流量间接扩大一倍;(2)Hong Kong 2T、Hong Kong 3T、Hong Kong 无限流量,这三款VPS开始支持Windows系统,如果需要中文版Windows系统请下单付款完成之后发ticket要求官方更改即可;(3)全场7折年付、8折月付优惠,优惠码有效期一个月!官方网站:https://www.cmivp...
大硬盘服务器、存储服务器、Chia矿机。RackNerd,2019年末成立的商家,主要提供各类KVM VPS主机、独立服务器和站群服务器等。当前RackNerd正在促销旗下几款美国大硬盘服务器,位于洛杉矶multacom数据中心,亚洲优化线路,非常适合存储、数据备份等应用场景,双路e5-2640v2,64G内存,56G SSD系统盘,160T SAS数据盘,流量是每月200T,1Gbps带宽,配5...