阿里云数据事业部强琦为大家带来内存计算方面的内容,本文主要从软硬件趋势、分布式计算简史与内存计算开始谈起,包括HIVE、ADS的介绍,接着分析了统一的计算框架,最后讲解了Spark和Flink经典的系统技术分析。一起来了解下吧。
软硬件趋势
我们现在使用的主流硬件从多核CPU 32核/56核,内存192G /384G,以及定制机型下更大的内存,存储层级可以做到三T的SSD/11×6T的SATA硬盘,而网络拓扑和带宽从IDC内的万兆网卡到IDC间的专线光缆,还有大数据和它的复用程度,读写比比较高的数据是业务价值极高的数据,我们可以针对不同的读写比的数据进行不同的系统优化,随之而来会有相应的问题:
从小型机到分布式到单机能力提升,矛盾么?
是否单机能力越强越好?
构建在虚拟机上的分布式?
数据密集型的计算可能会根据不同的计算平台选定不同的机型号,这就需要看计算任务到底 短板和瓶颈在哪里,比如瓶颈在CPU,那我们适当的增加CPU核心,把混合存储和内存降下来,这样可以有效的提高整个的资源利用率。
从现在的软硬件趋势可以看到,无疑CPU越来越快、memory越来越大、存储层级越来越丰富。
分布式计算简史与内存计算
经典的DataBase(DB)和现在比较火的BigData(BD)有哪些异同点呢?
从DataBase来看,数据是业务用户产生的,数据都必须schema化,而且保证强一致性,支持随机访问,数据实时的insert要能实时的查询,数据的访问按照CIUD集中的范式,机房是分散的,注重延时,还有一些其他显著特征,这是经典的OLTP的类似功能。
现在涌现的BigData技术体系,它的数据源是业务db或者log等,强调宽表,注重扫描,它是离线数据,侧重于数据计算,机房集中,BD重吞吐,最经典的领域就是数据仓库 OLAP。
DB势必要影响BD,而BD的一些技术最终也会推进DB领域的技术演进。
BigData
BD的数据有什么特点如下:
Volume、Velocity、Variety。
它的数据量是极其巨大的,对成本的要求非常苛刻;速度方面,数据不再以天、小时为单位,数据入口的吞吐、整个的时效性和用户的体验都有非常高的要求;多样性方面,数据怎么融合,数据源采集非常广泛,格式也是五花八门,对质量的把控也完全不一样。
今天BigData所面临的情况与DataBase不可同日而语,面临着巨大的复杂性和难度。
BD数据量有扩展性、有成本问题,BD的技术栈表示能力也是从支持机器学习到非SQL领域, 从半结构化到非结构化,它的计算模式以扫描为主。
GFS
分布式计算作为软件系统,也有着它与之匹配的演进。
在工业界、产业界,分布式计算蓬勃发展有赖于GFS,很快就对应着开源实现,HDFS开源社区的蓬勃发展,在某种程度上,也给国内的技术从业者提供了很大的学习机会。
GFS主要是进行大文件或者快文件的存储,在GFS之上的系统可以把小文件合并成大文件,然后进行存储,流式文件同样根据它写入的特征特点和它读取的特点,在大文件上可以封装出流式文件;
GFS具备不可修改性,在这种情况下,可以封装出Mutable的功能特性,比如说LSM可以支持随机读写;
GFS扩展性可以达到跨核心、跨IDC、跨国;
GFS使用廉价的服务器降低成本,通过replication来增加它的可靠性。
编程模型
在此之前,普通的技术开发者很难在集群上编写分布式程序和并行程序,编程模型在其表达能力方面,从RPC到MPI到SQL,它的表达能力是在不断的降弱,但是它的应用型是在不断的增强。
要在分布式上编程,程序怎么能做到扩展性?
如何根据网络拓扑来切分任务,怎么利用数据存储的本地化来避免不必要的网络传输和网络带宽?
如何去容错?1000台服务器的集群,只要有任意一个有故障,都算做整个集群有故障。
长尾效应。
无论是异构机型还是异构的网络拓普,或是根据数据分布的data scale,都会造成长尾效应,计算会被其中最慢的那个节点拖后腿,长尾会对整个用户提交任务的延时和对雪崩造成非常大的伤害。
计算逻辑和编程模型表示方面,ETL的工程师大多希望使用SQL建模的工程师,也会使用OLAP,而机器学习由于其对性能的极致要求,用户会希望系统开放最底层接口。
表示能力和自由度其实是一对treadoff,表示能力越强约束就越少,如果对原语进行约束,系统就会做很多failover。
MapReduce
全文连接http://click.aliyun.com/m/22540/
分享到:
相关推荐
SAP内存计算技术是一种革新性的计算模式,它利用了SAP HANA这一高级数据库技术,该技术可以提供更快的数据处理速度,因而对现行的数据库市场产生了重大影响。HANA技术主要特点在于它能够将大量的数据存储在计算机的...
【SAP HANA内存计算技术】是SAP推出的一种创新技术,它颠覆了传统的数据库处理方式,通过将数据存储在内存中,实现了对海量实时数据的高速处理和分析。内存计算技术解决了现代企业面临的海量数据处理挑战,尤其在...
### Java字符串内存计算 在Java开发中,理解内存管理至关重要,特别是对于字符串处理而言。本文将深入探讨如何在Java中计算字符串所占用的内存空间,包括现有的计算方法、其局限性以及具体的计算公式。 #### 计算...
内存计算框架Spark实战的知识点主要包括Spark集群模式、资源调度、分布式计算节点等方面的内容。具体而言,Spark集群模式分为独立模式(Standalone)、YARN模式和Mesos模式。在这之中,独立模式(Standalone)是...
### MySQL优化中的内存计算公式详解 #### 一、引言 在数据库管理中,合理配置MySQL的内存使用是提升性能的关键之一。通过精确计算MySQL占用的内存大小,可以帮助我们更好地理解系统资源分配,并据此进行相应的优化...
Spark是一种快速、通用、可扩展的大数据分析...目前,Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL、Spark Streaming、GraphX、MLlib等子项目,Spark是基于内存计算的大数据并行计算框架。
近年来,芯片技术持续取得重大进展,特别是在人工智能领域,普林斯顿大学的研究人员利用内存计算技术成功打造了一款新型计算机芯片,该芯片将人工智能处理能力提升了几十到几百倍。这一成果对于依赖于高性能计算且...
### SAP内存计算技术详解 #### 一、引言 随着信息技术的发展,企业的数据处理需求日益增长,特别是对实时数据处理的需求越来越迫切。SAP作为全球领先的企业应用软件供应商,其推出的SAP HANA(High Performance ...
资源名称:SAP内存计算-HANA内容简介:本书是《SAP企业信息化与最佳实践》丛书之一,全书以通俗易懂的语言、翔实生动的实例,通过结合包括农夫山泉SAP HANA实施全过程在内的相关HANA应用场景与案例,为读者详细解读...
内存计算与数据库.pptx 这份文档深入探讨了内存计算技术及其与数据库系统的结合,以下是对该文档中几个核心部分的详细解析。 ### 内存计算与数据库概述 #### 内存计算概述 - **定义与优势**:内存计算是指通过在...
内存计算是一种新兴的计算模式,它通过将大量数据存储在内存中,显著提高了数据处理的时效性和效率。这种计算方式的出现得益于64位CPU的出现,它允许寻址高达16EB的数据,以及DRAM(动态随机存取内存)生产成本的...
内存计算技术,作为企业应用的转折点,正在彻底改变企业数据管理和分析的格局。传统的数据处理方式往往依赖于批量处理和离线分析,这导致决策者无法基于最新的数据进行即时决策。然而,随着硬件技术的发展,尤其是...
《大数据平台内存计算节点》的文档主要探讨了大数据平台中内存计算节点的关键技术和配置要求,旨在构建一个高效、可扩展且高可用的计算环境。以下是文档中的主要知识点: 1. **软硬件一体化**:大数据平台强调原厂...
与共享内存计算相比,分布式内存计算更容易扩展到更多的计算节点,且成本相对较低,特别适合大规模并行处理任务。分布式深度学习是将深度学习算法与分布式内存计算相结合,以支持大规模数据集和复杂模型的训练。 ...
SAP HANA是一款高性能的内存计算平台,专为解决企业级大数据分析和实时业务处理的需求而设计。SAP HANA的核心理念是通过内存计算技术,将数据存储在内存中,从而极大提高数据处理速度,实现了在线事务处理(OLTP)和...
内存计算引擎Spark是大数据处理领域中的重要工具,它以其高效、灵活和易用性而备受赞誉。Spark的设计目标是提供一个通用的计算框架,能够支持批量处理、实时流处理、机器学习以及图形处理等多种数据处理任务。这个...
周敏奇教授在2013年中国大数据技术大会上的演讲中,提出了一个创新的概念——CLIAIMS(Cluster-Aware In-Memory System for High Performance Data Analysis),一个集群感知的内存计算系统。通过周教授的介绍和 ...