APP下载

大数据时代背景下内存计算技术

2020-11-25周鹏程

电子技术与软件工程 2020年12期
关键词:计算技术数据处理内存

周鹏程

(湖南工业职业技术学院信息工程学院 湖南省长沙市 410000)

随着现代社会经济与科学技术水平的不断发展,物联网、云计算、AI 等新技术在许多行业领域中发挥了重大的作用,然而这些新技术的实现都是建立在大数据基础上的,由此可见大数据技术是各种新技术赖以生存的前提。大数据技术在现代社会发展中具有重要的地位,本身具有数据信息量庞大、数据种类形式不一、高价值信息占比少、数据增长快速与高时效性等特点,根据大数据本身的特征,需要建立大数据处理系统,涵盖数据收集、数据分析与提取、数据存储、数据整合以及数据显现等各个环节,要求处理后的大数据具有良好的拓展性、可靠性、适用性以及实用性。大数据是基于数据的密集型技术,传统计算机体系中主要以计算为中心,已经无法达到大数据的使用标准。随着现代科学技术的创新与进步,新型非易失性存储设备获得了较快的发展,生产成本也越来越低,为大数据发展提供了新的途径。内存技术也就是在这种背景下产生的,具有非常高的信息处理效率以及很好的时效性。本文重点阐述了内存技术的含义与特征,指出了内存技术的应用现状,提出了内存技术面临的困境与挑战,为内存计算技术的进一步发展提供支持。

1 内存计算技术概述

1.1 内存计算技术含义

内存计算和传统计算方式具有较大区别,突出表现在读取数据方式上的差别,传统计算中CPU 是从硬盘上读取数据,而内存计算中CPU 是直接从内存上完成数据读取,并对数据进行计算以及整合,能够显著提升数据处理速度[1]。内存计算以大数据技术为载体,基于计算机内存元件的创新与进步,通过现代先进的软件系统结构,在内存中实现数据的存储与分析,最大程度防止开展I/O 操作的全新的以数据为主导的并行计算体系。内存计算通常应用在数据庞大且复杂的计算环境中,特别是计算量非常巨大同时要同步进行分析的计算场合。

内存计算技术通常是基于计算机软件与硬件融合的背景下,通过计算机内存完成原本属于数据库的计算工作。将数据计算转移到计算机内存中,能够很好的避免I/O 架构对其的限制,同时还可以融合并行处理技术,显著改善数据处理计算的速度[2]。

1.2 内存计算技术特征

内存计算技术在提高数据处理速度上发挥了重要的作用,从现阶段内存计算技术的应用现状来看,主要表现出了如下特征:

(1)在计算机内存上可以完成全部操作。依托于内存的快速数据读取以及计算机硬件拥有非常庞大的内存量,将等待处理的数据统一储存到内存中,内存不仅能够实现单向内存,同时能够视为分布式内存;将重要数据信息存储在内存上,既可以显著提升数据处理的速度,也有利于开展更加高效的数据处理途径。

(2)行存储与列存储交叉应用。因为将数据库存放在计算机内存中,原本对列存储与行存储的限制就不复存在,在这种情况下就可以实现行存储与列存储的交叉应用。

(3)快速并行处理体系。可以兼容不同类型的服务器以及处理器,在处理较为复杂与繁琐的数据模型时,能够将其拆分为若干个部分进行逐个处理,也能够将各个小部分划分到多个服务器中,然后再开始数据处理工作[3]。

(4)数据高效压缩。数据库包含了各式各样的庞大的数据信息,必须要将这些数据进行整合与压缩,进一步完善内存构造,这样才能够显著提升内存运行速度,从而在有限的时间内完成更多数据信息的处理。

(5)服务于数据密集型应用。内存计算技术要处理的数据类型通常是信息量庞大且复杂、时效性非常高的先进大数据应用。

(6)拥有优异的编程模型以及端口。内存计算技术的实现要建立在计算机软件与硬件良好配合的基础上,所以,编程的难度与复杂程度较高[4]。

2 内存计算技术的主要应用

2.1 内存数据库

伴随着现代科学技术水平的不断发展,计算机硬件技术获得了较大的突破与进步,内存容量逐步增大,制造成本越来越低,并且对数据库实时响应速度需要的标准更高,加强内存技术在数据库中的应用,以此来提高数据库系统的运行效率成为了现代计算机领域研究的重点。

实际上内存技术不能够算真正意义上的新型技术,在上世纪60年代就已经被发现,并且在社会经济水平不断增长的背景下,在90年代时期得到了大范围的应用。内存计算技术不需要将数据存储到硬盘中,在内存中就可以实现数据性信息的操作。和传统的磁盘等存储方式相比较,采取内存存储方式能够获得更快的数据处理速度,同时系统从内存上读取数据信息也能够明显的改善系统应用效果。此外,采用内存计算技术构建的数据库系统除了在数据处理速度上得到明显提升外,同时还弥补了传统磁盘管理中存在的诸多问题,以内存为数据存储的载体构建新型的系统架构,同时对数据缓存、高效算法以及并行运算等部分开展优化工作,进而在数据处理速度上要明显优于常规数据库效率,通常情况下都可以实现10 倍的增长,在理论状况下则能够达到上千倍增长[5]。

内存数据库还有一个非常关键的特征是能够实现对存储在内存中的数据开展全事务处理工作,和以往通过数组的模式将数据存储到内存中具有天壤之别。内存数据库和应用之间没有直接的联系,从内存数据库的本质来看,是将数据存储到内存中并进行管理,并不单单是定义为缓存数据。一些数据库仅仅是将系统中的缓存数据放置到内存中,但是内存数据库中的内存引擎能够实现任意数据访问,因此和一般的内存数据库具有不同的数据架构以及算法,通过这种方法能够有效的防范由于反复行使排序命令降低缓存数据库性能的现象。利用内存数据库,可以最大可能的降低I/O 磁盘处理,而传统数据库主要以磁盘I/O 处理为主,因此可以获得比传统数据库更高的数据处理效率。

2.2 图数据处理

图计算分析本质上是I/O 聚集性计算,绝大多数的应用计算都要通过多次迭代来实现,同时计算过程中状态信息也要在相邻计算节点之间进行信息传递以及不断更新,特别是面对体积庞大的图数据,信息的传递更需要在不同计算节点之间往复进行,并对阶段结果进行存入[6]。假如能够将所有的数据信息都移植到内存中开展计算活动,必然能够显著提升数据处理速度。

常规的独立工作的图数据计算法库,比如说LEDA,延伸性较差,同时不能够很好的满足庞大图数据信息的处理要求;Map Reduce 具有良好的兼容性以及延伸性,然而在进行数据处理工作时无法获得较高的效率;当下已有的图并行工作系统,面临着兼容性较差的困境。

将数据资源存储到内存中再进行计算工作,可以极大的提升数据处理的速度,图的内存计算系统主要涵盖了以下几个方面:首先是以内存分布模式为载体的集群系统,比较常见的有Trinity 系统;其次是依托于共享内存的分布式系统;最后是基于多核单机的非单一线程的共享内存体系,常见的有GRACE。

2.3 实时大数据处理

内存计算技术是结合计算储存的系统架构,在计算机内存中构建专用数据库。每隔一段时间就将存在时间较长的数据文件共享到磁盘中;在进行数据计算与处理过程中,全面的工作流程都依托于计算机内存,文件读写工作也只需要和内存交互系统建立联系,不再进行磁盘读写操作,很好的弥补了传统数据处理中互联网信息传输速度慢、内部存储与外部存储兼容性差、I/O 配合不佳等弊端。

以内存数据库为载体,布置各种类型的内存接口与存储端口,从而实现内存数据库的数据存储与传输工作,同时还可以利用资源管理模块对内存数据库中的数据资源实施分配与管理。依托于内存计算技术构建的内存数据库可以通过内存接口模块实现虚拟内存管理系统以及数据库资源关联到一起,也可以通过数据存储接口模式来完成分布式数据管理系统和硬盘内存之间的联系,以此为基础完成对内存数据库各个节点数据的访问。

当下内存计算技术主要是基于列存储途径对数据信息进行压缩处理,之后在采取多核处理,一方面能够更好的发挥出内存使用性能,另一方面也能够显著提升应用程序的执行效率。

(1)以列存储模式完成对数据库数据的存储工作,能够降低数据压缩难度,极大的减小数据库服务器和终端设备之间的数据输送大小。

(2)以数据库内存为载体实现数据存储,能够在云端完成对相关数据的分析与查询,而不再需要将数据库中的数据资源下载下来,缩减了信息分析与查询流程,提升了数据查询的效率。

3 内存计算技术面临的困境和挑战

随着内存计算技术的不断发展,面临的困境和挑战也越来越突出,重点表现在异构协同、能耗管理以及高效并行[7]。其中,异构协同主要表示为体系架构以及操作系统分别属于不同的类型,怎样将两者进行相互结合构建数据库内存的协同管控、公开透明的工作环境;能耗管理主要表示为怎样将内存计算技术很好融入到系统架构以及编程模型中,实现大数据处理过程中的能耗可控,从而尽可能的降低数据处理与分析的能耗量;高效并行表示为依托于编程模型以及并行处理两部分,怎样将内存计算技术应用到其中,确保大数据可以高效率并行工作。

对上述问题进行深入研究,可以得出导致出现这三个问题的根本原因是由于以下四个方面引起的:系统架构以及软件、编程模型与并行处理[8]。为了促进基于大数据的内存计算技术进一步发展,必须要对这四个难题进行处理。首先,在系统架构环节中,必须要规划专用的CPU 信息输送线路,从而能够满足异构混合层次内存的应用需求。其次,在系统软件环节中,一方面要重新规划异构层次内存系统的相同性数据形式,另一方面也要构建高效、透明以及稳定的新型内存数据查询与管理模式。再次,在编程模型环节中,必须要基于新型内存的层次性特点来开发融合数据和计算的编程模型,与此同时还需要建立各种粒度划分方法。最后,在并行处理环节,该环节要解决的问题重点体现在三个方面,分别是如何在并行环节中完成各个节点之间的互联工作、如何科学合理的开展任务调度工作、如何解决分布式场所下的一致性问题。

内存数据库是以内存为载体构建数据库,有效防止了常规数据库I/O 操作产生的开销。在这种背景下内存数据库的发展困境也就从I/O 操作问题转变为怎样缩减计算时间与降低访问与存放时间,一般采取构建检索目录、采取并发控制方法等,进而最大程度的提高内存数据库的处理速度,科学管理数据内存以及缓存,确保内存数据库能够获得更高的应用性能。与此同时,硬件设施的创新与进步逐步优化了商用处理器的使用方式,常见的有SIMD 指令、RDMA 网络等,可以基于较低的生产成本获得较高的性能。由此可以看出,内存数据库要想取得进一步发展,受到了来自系统软件以及硬件两方面的压力与挑战。

4 结语

综上所述,将数据库信息放置到内存中,能够很好的避免传统I/O 操作带来的弊端与限制,有助于提升数据库的运算效率,改善数据库的运行性能。在大数据背景下,数据种类多样、体积庞大,必须要加强内存计算技术的发展,为大数据进一步发展提供支持。

猜你喜欢

计算技术数据处理内存
《计算技术与自动化》2022年总目次索引
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
ILWT-EEMD数据处理的ELM滚动轴承故障诊断
外部高速缓存与非易失内存结合的混合内存体系结构特性评测
基于云计算技术的FLAC3D软件计算平台的研发
“春夏秋冬”的内存
《物探化探计算技术》2016年1~6期总要目
基于云计算技术的虚拟实训室设计与实现
基于希尔伯特- 黄变换的去噪法在外测数据处理中的应用
基于内存的地理信息访问技术