大数据分析技术的研究

2017-04-13 12:45
电子测试 2017年21期
关键词:存储系统内存应用程序

杨 彬

(辽宁行政学院,辽宁沈阳,110161)

大数据分析技术的研究

杨 彬

(辽宁行政学院,辽宁沈阳,110161)

在基于云的环境中,分布式数据中心承载大型数据存储库,同时提供用于分析的处理资源,有力地激发了有效并行/分布式算法的需求。这给大数据分析的潜在社会经济效益和应用特性的多样性带来了巨大的挑战。

大数据;数据存储;数据分析

0 引言

未来的并行和分布式系统的主要应用之一是大数据分析。此类应用程序的数据存储库目前超过了亿兆字节,并且规模正在迅速增长。这些数据集和相关的应用程序的考虑对方法和软件开发带来了巨大的挑战。数据通常驻留在具有广泛变化的计算和网络能力的平台上。容错,安全和访问控制的考虑在许多应用中至关重要。分析任务通常有严格的截止日期,数据质量是其他应用程序中的主要关注点。对于大多数新开发的,能够进行规模化运作的数据驱动型号和方法,尚属未知。即使已知的方法可以被扩展,对结果的验证也是对现状的特别关注,并关注新兴趋势,以突出大型数据分析的硬件、软件和应用领域。

1 数据分析的设计考虑

大数据分析应用程序的规模、范围和性质(工作负载特性),分别为未来的硬件和软件系统的设计和架构提供了方向。

对硬件的影响。数据访问模式,特别是数据访问的频率可以驱动未来的存储器层次结构优化:数据一般开始热;然而随着时间的推移,逐渐变冷,最适合储存在NVMs。然而,访问模式也具有周期性或波动性(季节性相关主题,名人头条)和热的大量数据集(比较基因组计算)也需要考虑的。此外,在硬件堆栈预测中可能会出现维度之间的潜在关联:单个视频由于多种格式或语言字幕而导致多个版本。这些可以离线生成并存储(因此需要大量存储)或即时生成(代码转换和按需翻译),从而给数据中心的计算基础结构带来压力,也可以在用户的设备(客户端计算)上施加压力。另外,可能必须重新考虑处理器设计中的进步相对于I/O子系统的性能的相对优先级,这是当前架构设计中的常见假设。在这种情况下,一种选择是考虑可能的“反转”:支持数据存储的计算元素的层次结构,而不是当前的内存层次结构,以服务于计算元素。逐渐地瓦解现有的存储层次结构将会使这种转换更加平滑,并进一步节省能源消耗。理解工作负载还可以确定在硬件中直接实现特殊目的处理元素的机会。需要考虑图形处理器、现场可编程门阵列(FPGA),专门的特定应用集成电路(ASIC),和专用的视频编码器/解码器。与它们的通用处理程序相比,这样的硬件加速器大大降低了能源消耗。这些可以集成在芯片上,导致以数据为中心的非对称多处理器系列。

对软件的影响。软件系统、存储和计算需要满足一个相当大的问题空间,这是由于数据规模、工作负载的性质以及其他应用程序需求,比如一致性、可用性和分区容差。一个大的数据规模需要高度可扩展的分布式存储系统,它能够容纳和服务大量的数据,具有高效的入口和出口机制;Apache Flume是这样的系统。此外,这些存储系统应有效查询和其他OLTP工作负载的内存缓存的支持;此外,这些存储系统应该支持高效查询的内存缓存和其他OLTP工作负载;甚至HDFS也增加了对缓存的支持。

2 数据分析的硬件平台

2.1 内存/存储

针对以数据为中心的应用程序,有几种基于NVM的建议。基于闪存的NVMs可以通过串行连接的SCSI(SAS)和串行高级技术附件(SATA)或PCI Express接口甚至与聚合内存组合,以提供经济高效的解决方案。其他类型的NVM,如相变存储器(PCRAM)和忆阻器,已经被提议作为内存总线上的字节可寻址存储器,或直接堆叠在芯片上(3D堆叠)。NVM还可以实现其他缓存级别,或者替换持久性存储。

与数据相关的移动计算,受许多大型数据管理任务的一般结构驱动,由相关框架支持。例如,在频繁使用的MapReduce范例中,数据被划分为可用的节点和任务,这样它们就可以与它们的数据操作数(尽可能地)相搭配。任务和相关数据搭配也可节省能源。最近的nanostore提案主张使用持久性数据存储进行计算的搭配。这让人联想起过去的想法,如Active Storage-增强磁盘控制器处理特殊的计算任务-但在原始提案时的应用范围有限。

从进化的角度来看,磁盘仍保持高性价比。因此,它们不太可能在短时间内被完全取代。基于NVM的技术应该被视为短期未来设计的有吸引力的组件。在这方面,我们还应该考虑到NVM在整个软件堆栈中会触发的变化。例如,当前文件系统针对毫秒级的延迟进行了优化。NVM在这段时间内提供大约三个数量级(微秒)的延迟时间。还有人建议,使用基于闪存的固态硬盘(SSD)来支持键值存储抽象,有利于其工作负载。还有人提出将SSD作为常规磁盘的高速缓存(混合设计)。理想情况下,NVM的持久性应该在指令集级别(ISA)上公开,以便操作系统可以有效地利用它们(例如,通过重新设计的部件,承担记忆波动或提供给上层,API将归档数据放在节能的NVM模块上)。另一方面,持久内存写入的能力减少了隔离;这个问题可以通过持久内存事务来解决。从算法设计和相关数据结构的角度来看,非波动性可以推动索引结构的交替优化设计和实现,键值存储数据库和文件系统,这是大数据分析的全部组成部分。

2.2 数据分析的网络资源

标准通信栈的链路,网络和传输层是由不同技术和制造商的组件的互操作性作为主要设计考虑的。在此设计中,链路层不可靠,因此拥塞或不可靠的通信通道可能导致数据包丢失。

为了解决这个问题,传输层需要回退传输,从而影响带宽。然而,典型的数据中心网络环境与广域网是完全不同的。首先,它的通道可以被认为是无损的,这个假设应该理想地反映它实现的流机制。它基本上是同构的,在单一的管理控制下,与已经部署的协议的向后兼容性不是问题。负载均衡器和应用代理将内部流量与外部分离分开,因此传统TCP没有公平的担忧。在没有排队的情况下,往返时间(RTTs)可能小于250微秒。应用程序同时需要非常高的带宽和非常低的延迟。此外,几乎没有统计多路复用,因此单一的流可以支配特定的路径。

数据中心网络中的特定性能瓶颈是由许多大规模Web应用程序中广泛使用分区/聚合设计模式引起的:应用程序的高级层的请求被分解成碎片,并将其外包给底层的工作;这些工作的反应是聚合以产生结果。因此,传回的数据将以多对一的方式遍历瓶颈链接。随着并发发送者的数量增加,接收机的应用级吞吐量下降到低于链路容量的数量级(乱序模式问题)。TCP(DCTCP)的最新变体通过利用大多数现代商品交换机中实现的ECN协议扩展,来处理网络流量的连接结构,允许端到端通知网络拥塞而不丢弃数据包。相反,未来的性能问题可能会推动交换设备的定制化。

注意,处理特定网络缺陷的细节与选择的协议基本相关。最基本的竞争者是以太网和Infiniband。Infiniband是一种能量比例网络,这一特性无疑为这项技术提供了优势,因为能效是未来数据中心的主要设计目标。预计这两种选择都将在不远的将来可用,两者之间的选择将是基于应用程序的。

3 分析应用软件栈

除了硬件的升级,大规模数据集的大数据分析还需要对软件堆栈进行完整的重新评估。

3.1 存储系统

大数据存储对于任何形式的分析至关重要。数据量和硬件的进步需要存储平台的分布式,可扩展性,弹性和容错能力。除了这些高需求的特性之外,应用程序也有各自对底层存储的需求。面向客户的应用程序需要高可用性,即使存在节点故障或网络分区。根据所需的容错能力和可用性数量,当前的存储系统可以跨数据中心内和跨数据中心的多台机器适当复制数据。复制涉及保留副本之间的一致性的开销;这个开销随着副本的数量而增加。尽管归档系统对于存储大量数据是有效的,但随机访问或需要保存元数据(标签)需要更复杂的存储模型。大数据通常是非结构化的,不符合严格的关系模型。这激发了NoSQL分布式数据存储 -多列键值存储。

3.2 数据处理方面的考虑

大数据分析应用程序在输入、数据访问模式和它们所展示的并行性方面存在差异。使用在线(流)输入处理的应用程序每一个输入/请求都会产生显著的延迟成本,而那些有大数据集作为输入的应用程序可以批量处理输入输出,并避免这些延迟。面向客户端的应用程序(例如查询)随机访问底层存储,而在整个数据集上运行的后端进程具有更为连续的访问模式。虽然大多数的Web应用程序具有数据并行,科学应用往往表现出任务并行。即使在数据并行应用程序中,也有一些使用迭代算法,每次迭代都在相同的数据上运行。不同的应用程序需要不同的数据处理技术和优化。然而,所有用于数据中心的大数据分析模型需要容错、规模与数据,弹性利用额外的资源。

3.3 不同模型的整合

现代应用程序经常在其工作流程中使用多种编程模型点击流的流处理(计数),然后进行批处理(分析:例如点击的关联)是一个这样的示例。编程模型不仅需要更紧密地集成在一起,而且还需要与底层存储相结合。例如,一个高效的发布/订阅系统可以通过在分布式的键值存储上建立一个流处理系统来构建;订阅可以存储在集群节点上的一个表(主题上的分区)中,并且发布的事件可以被发送到那些具有相关订阅的节点,在这些节点上可以执行主题和基于内容的匹配。

Apache YARN离实现第一个目标又近了一步;它可以通过跨模型调度资源来在同一个集群上运行多个编程模型。需要做很多工作来支持一个高效且可用的组合编程模型来支持新兴应用程序。

4 结论

现代应用程序所运行的数据量正以惊人的速度增长,这给并行和分布式计算平台带来了有趣的挑战。这些挑战包括构建能够容纳这些大型数据集的存储系统,并收集从地理位置分散的数据源到存储系统的数据,再到对数据进行各种各样的计算。将来,随着数据量的不断增加,这些应用程序的域也会出现差异,这些系统将需要适应特定于应用程序的优化。为了解决数据源的高度分布式特性,未来的系统可能会将一些计算转移到数据源本身,以避免昂贵的数据转移成本。

[1]马小宁,邹丹,吴艳华.铁路主数据管理平台解决方案及应用实践[J].中国铁路,2017,(01):17-23.

[2]宋兴顺.铁路物资采购应付款信息化管理解决方案[J].铁路采购与物流,2016,(06):40-41.

[3]刘明霞.关于中小企业财务会计问题探究[J].商场现代化,2016,(15):182-183.

[4]李甜.企业合并中的财务与会计问题探析[J].商场现代化,2016,(10):151-152.

Research on big data analysis techniques

Yang Bin(liaoning administrative college, Shenyang Liaoning,110161)

Based on the cloud environment, distributed data center hosting large data repository, is applied to the analysis of the processing of resources at the same time, effectively stimulated the demand of parallel/distributed algorithm effectively. This presents great challenges to the potential socio-economic benefits and application characteristics of large data analysis.

big data; Data storage; The data analysis

猜你喜欢
存储系统内存应用程序
外部高速缓存与非易失内存结合的混合内存体系结构特性评测
分布式存储系统在企业档案管理中的应用
删除Win10中自带的应用程序
“春夏秋冬”的内存
天河超算存储系统在美创佳绩
谷歌禁止加密货币应用程序
华为震撼发布新一代OceanStor 18000 V3系列高端存储系统
一种基于STM32的具有断电保护机制的采集存储系统设计
基于内存的地理信息访问技术
三星电子将开设应用程序下载商店