探索中国CIO人才现状 | 第四季调研报告
内存分析在大数据分析中的作用
2013-11-21  作者:TEC 

 在《关于大数据》一文中,我讨论了大数据的一些问题,以及利用大数据解决方案处理和管理,并从大容量数据中以不同形式和资源导出有价值的信息的必要性。在本文中,我将重点介绍内存技术在大数据分析中扮演的角色,还有该技术改变商业智能结构和行业技术空间的潜力。但首先要了解一些基本概念。

  基本框架

  拥有内存技术意味着什么?意味着所有在计算机中的数据都被存储在随机存取存储器(以下简称RAM)中,而不是硬盘中。内存数据的存储从以下方面得到了改善:

  通过使用半导体存储媒介,而不是使用物理磁盘存储,数据读取和处理的速度更快

  通过最小化或是避免机器读取和编写,各种运营的执行延迟时间将缩短

  通过使用不同的和创新性的方式存储数据,处理大容量数据效率得到提高

  硬件技术的发展已经在支持内存技术的发展和使用中起到了关键作用。例如,使用64位处理器,使服务器处理更大内存,并允许当前服务器架构和在RAM中的工作。可扩展器和并行处理器使内存技术能利用RAM改进的性能优势。

  具有内存技术能力的产品在软件行业并非新技术。比如,QlikTech(它的产品QlikView被人们所熟知)早在90年代就开始研发基于内存的产品,还有其他诸如IBM这样的BI应用程序系统供应商,比如IBMCongo已经利用该技术有10多年的历史了。许多软件供应商用一种方式或其他方式提供内存能力,尤其是那些数据分析,比如BI软件供应商提供在线分析处理(OLAP)。将数据存储在RAM和OLAP的应用程序系统能够加速数据搜索和分析处理,同样还可以通过应用创新性的方式管理和存储数据来简化数据建模。以下的表格罗列了在OLAP服务中利用内存技术的软件产品。

  很多产品已经利用内存技术来提供更快的数据分析和发掘服务。一些供应商的产品甚至提供内存数据引擎的实施服务(比如,QlikView,PowerPivot,Kognitio,Spotfire,Tableau)。这样的引擎使数据能够分配内存,比如使用柱状存储架构,以BI为目的,从而提高数据处理性能。

  然而分析学和BI能充分利用内存数据库系统(IMDSs),IMDSs并不是出于这样的目的而被开发的。例如…这样的数据库系统是多用途内存中创建的数据库特别允许运行的应用程序,以实现快速响应。这样的系统可能潜在地改变企业流程和区分交易性(业务)和非交易性(分析)数据。

  从设计的角度而言,IMDSs展示了确保在严格环境中的最高性能表现的关键特点:

  减少数据传输超载。利用传统数据库管理系统(DBMSs)需要从文档存放磁盘中读取数据,正如他们直指实际数据,IMDSs无需或只需一点数据传输。

  减少或消除缓存。删除内存中的数据库缓存,确保几乎所有数据都保存在RAM中。

  优化内存使用(压缩)。该功能允许IMDSs优化RAM中的数据存储和处理。

  因此,内存数据库在增强数据处理性能方面已经证明了其优势。现在让我们一起来看看内存技术如何帮助解决大数据带来的挑战。

  当内存与大数据不期而遇

  内存技术如何适应于大数据的范围。容量、种类和数据增长时的处理速度,企业将需要收集更多的数据,并将数据分析作为决策流程的一部分。该信息同样也需要及时进行分析,赋予竞争优势。对于一些企业来说,要求数据的收集和分析并最终用于决策的时间非常短。处理大批量的结构性和非结构性数据的方法是部署大数据解决方案,比如基于Hadoop的数据解决方案,以管理大数据为目的。随着内存数据库技术的发展,使得高速分析实时的巨大而复杂的数据群成为可能。因此,之前需要花费数天或是数小时的分析现在可以利用IMDSs在几小时,几分钟,甚至几秒钟内完成。

  内存技术的使用同样能促进点对点的性能和非正式数据分析,可能引起数据发掘和流程提高。因此,在部署大数据战略时,超级快速数据库或是内存数据库看似应该是合乎逻辑的伴侣。与大数据解决方案类似,内存数据库能提供以下功能:

  存储。能够处理大量数据内存

  简洁。用简洁的方式处理结构化与非结构化数据

  流程速度。提供高速处理数据的能力。

  从技术角度来说,在部署大数据解决方案时,企业需要考虑的基本特征,以及从内存数据库技术中获益的关键问题如下:

  1.高速缓存和内存交换。应用系统如何处理数据量超出磁盘的可用空间情况。

  2.压缩。可用的压缩比例是多少,应用系统如何在压缩格式下处理数据。

  3.负载(初始和增量)。应用程序如何处理初始数据或数据负载的增加。

  4.集成。如何将内存中数据库与第三方系统集成,运营性与非运营性。

  一种技术,多家供应商

  供应商目前还提供基于云的内存数据库。应用程序一般都具有软件组合的优势----在硬件中内存的应用程序和数据库,服务器----基于云的内存解决方与较低的总体拥有成本相联系,对用户的技术要求较低。

  下面是一些提供大数据分析能力的内存数据库供应商

  当然,并不是所有大数据解决方案都必须基于内存技术。一些软件供应商已经能够利用混合技术处理大数据分析,即基于磁盘记忆技术的解决方案,同样还能增强大数据分析性能。我们希望更多的软件供应商能够开发出特定基于内存技术的实时大数据分析解决方案。Teradata将其IntegratedAnalytics解决方案进行了扩展,微软全新的SQLServer2012也改进了内存和大数据能力,还有SoftwareAG的内存大数据管理战略等等。全新的内存大数据管理战略只是提供内存解决方案来解决实时大数据分析问题的供应商在这一领域表现出的一部分兴趣。因此,我认为大数据分析的内存数据库技术成为主流只是时间问题,应该将考虑内存解决方案的潜在好处作为整个大数据策略的一部分。