内存计算在DSP领域的应用前景分析
引言
本文引用地址://m.amcfsurvey.com/article/202438.htm对海量数据进行实时分析处理,一直是数据仓库、OLTP/OLAP、商业智能等领域的软件厂商所普遍关心的课题。前不久,SAP推出了一款面向实时商业智能领域的高性能分析应用软件(SAP High-Performance Analytic Appliance ,简称SAP HANA)。其中,受到业界广泛关注的是,SAP HANA采用了以往大家很少听说过的“内存计算(In-Memory Computing)”技术。而且在IBM、戴尔等厂商推出的HANA解决方案中,无一例外地使用了基于英特尔至强E7平台的服务器。
下面我们来分析一下,到底什么是内存计算,它在企业级关键业务领域有着怎样的应用前景,然后看看英特尔至强E7为什么能够很好地支持这类应用,从而一起为海量数据实时处理打造一条宽广的“高速公路”。
1内存计算:对海量数据进行实时处理
今天,许多企业已经面临越来越多的数据要处理,而且对这些数据需要进行实时的分析。为此,SAP一直在重新构想数据仓库的运行模式,并提出了内存计算的理念。那么什么是内存计算呢,我们不妨从两个角度来理解。
首先,从计算存储技术的角度看,由于服务器在处理数据时,CPU首先会从其缓存中找数据,缓存中找不到,再从内存中找,内存里没有,再从硬盘上读取。在传统数据库查询中,磁盘访问时间是一个主要的瓶颈。研究发现,如果让查询在读写速度快很多倍的内存中进行,而不用访问物理磁盘,将会大大提升处理性能。试想一下,对于商业智能应用而言,由于数据库一般都较大,少则几个GB,多则成百上千个GB,如果把整个数据库都搬到内存中去运行,又会怎样呢?
因此,所谓“内存计算”,实质上就是CPU直接从内存而不是硬盘上读取数据,进行计算、分析,是对传统数据处理方式的一种加速。内存计算非常适合处理海量的数据,以及需要实时获得结果的数据,比如可以将一个企业近十年几乎所有的财务、营销、市场等各方面的数据一次性地保存在内存里,并在此基础上进行数据的分析。当企业需要做快速的账务分析,或要对市场进行分析时,内存计算就能够快速的按照需求完成。
其次,从应用的角度来看,在商业智能方案中,在线交易处理(OLTP)和在线分析处理(OLAP)是两种不同的应用,其中OLTP系统需要对发生的业务进行实时记录,因此要处理的是大量简单、小规模、同时发生的交易;而OLAP系统是对OLTP提供的数据进行分析,以支持业务决策,因此处理的交易数量相对较少,但更为复杂。使用内存计算的SAP HANA的交易型和分析型引擎能够同时应对这两种应用,内存计算技术实际上是把现在交易型的数据库和分析型的数据库合并为一个内存数据库,其结构如下图所示:
谈到SAP HANA的具体应用场景,SAP中国区首席技术官张侠曾对媒体举过这样一个例子:航空公司。航空公司的主要特点就是信息量大,且有很多实时信息,一般会有这样两个系统:一是客户相关的系统,里面有各种客户的信息,如谁是金卡会员,谁希望坐在靠窗或者靠走道的座位,商务旅客与私人休闲旅客的不同偏好等等;另一个是定票系统,定票系统会把每个航班对应的飞机型号、座位数量、飞机维修、天气等等信息综合在一起。高速的内存计算技术能够综合所有以上这些情况,根据不同场景进行更好的匹配。比如,利用高速分析的能力对航班晚点的情况进行调配,通过分析发现某些型号的飞机可以在某个飞机转场。这样就能把天气等各种影响降至最低,使客户尽可能坐在他喜欢坐的位置上,并设计好定价策略做到既能满足客户的需求,又能为航空公司带来更好效益。
评论