`
weitao1026
  • 浏览: 1062451 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

大数据时代

 
阅读更多

MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算

thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 这些编程语言间无缝结合的、高效的服务。

在某种意义上,WebService、REST均是RPC的实现,那么RPC的发展过程如何呢?本文参考了wikipedia,对RPC做一下简要摘记。

RPC(RemoteProcedureCall),是进程间通信(IPC,Inter-Process Communication)的一种技术,一般指不同机器上的进程间通信。在采用C等古老语言编程的时候,RPC被称作了对S端的“子程序”的调用,所以称“过程调用”。在OOP出现后,RPC也可以称为远程方法调用(RemoteMethodInvocation),或者远程调用(RemoteInvocation)。

RPC过程可以是同步的,也可以是异步的。同步方式:C端向S端发送请求,阻塞等待;S端执行一段子程序,发送响应;C端继续执行;异步方式,比如XHTTP调用。

 

RPC的调用过程(Stub这个术语应该是借鉴了JavaRMI):

  1. Client向ClientStub发送请求(Call)。
  2. ClientStub对请求参数进行封包(也叫Marshalling),发出系统调用,OS向S端发送消息。
  3. S端接收到消息后,把封包消息传递给ServerStub。ServerStub解包(UnMarshalling)。
  4. ServerStub调用S端的子程序。处理完毕后,以同样的方式向C端发送结果。

注:ServerStub又叫Skeleton。

 

什么是Stub?

Stub是一段代码,用来转换RPC过程中传递的参数。处理内容包括不同OS之间的大小端问题。另外,Client端一般叫Stub,Server端一般叫Skeleton。

生产方式:1)手动生成,比较麻烦;2)自动生成,使用IDL(InterfaceDescriptionLanguate),定义C/S的接口。

交互机制标准:一般采用IDL,生成IDL的工具 RPCGEN()。

 

RPC相关实现方式

  • JavaRMI
  • XML-RPC,XML+HTTP来进行机器之间的调用
  • JSON-RPC
  • SOAP,XML-RPC的升级版
  • Facebook Thrift
  • CORBA
  • AMF,AdobeFlex
  • Libevent,是一个用于构建RPC Server和Client的框架。
  • WCF,来自微软
  • .net Remoting,逐步被WCF取代

对大数据这一概念,大部分企业都不会陌生,而对于其中应用到的技术,却并没有几个人了解的到。一方面,很多人用到的软件都比较简洁,专业,只需要会操作就可以,比如FineBI商业智能解决方案软件,它内部所有的技术都不需要操作者了解,只需要了解表面的一些沟通需求即可,也不需要考虑如何建模,这样能够节省项目实施过程中的沟通时间,从而为企业带来更多的收益。

另一方面,很多老板也并不擅长这个,了解也对他们并没有实际作用,但是对于经常接触这些软件的人来说,了解其背后的技术,将会对自己的工作有更好的帮助。那么,大数据背后都用到了哪些技术呢?

一、NoSQL数据库

在我们生活的环境当中,新技术的出现并不会等太久就被人们所重用,事实上,很多技术在出现一个月之后就会陆续有人开始使用。NoSQL数据库在广义上本身也包含很多技术,他们关注关系型数据库引擎如索引、流媒体以及高访问网站服务等的限制,同时也关系其他的,而在这些领域当中,NoSQL数据库的使用频率最高。

二、HadoopMapReduce

这是一种能够处理大数据分析所带来的挑战的技术,不仅应用频率高,而且在处理上更有得天独厚的优势。就老家,很多企业在使用HadoopMapReduce技术研发的数据平台时,都认为是最好用的。由此可见,该技术确实能给企业带来意想不到的好处。

三、内存分析技术

内存最开始出现的时候是昂贵的,但是随着技术的进步,越来越多的内存开始出现,价格自然也是一降再降。但是性能方面却并没有降,反而有上升的趋势,这也是内存在网络中倍受欢迎的原因所在。

不仅如此,专业人士还提到,低廉的内存应用在大数据中心,具有实时、高效的优势,同时也能提升大数据的洞察力,从而为企业提供更好的数据分析和挖掘。

四、集成设备

商业智能以及大数据分析就是在数据仓库设备出现之后才被激发出来的,这种利用数据仓库技术提升自身竞争优势,走在对手前列的方式让很多企业欣喜。不过,集成设备的功效还有很多,其中能够提升传统数据库系统的作用让很多企业最为受用,再加上集成设备已经成为企业应对数据挑战大环境下的重要利器,因此该技术也备受关注。

 

Erlang是一种通用的面向并发的编程语言,它由瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。Erlang问世于1987年,经过十年的发展,于1998年发布开源版本。Erlang是运行于虚拟机解释性语言,但是现在也包含有乌普萨拉大学高性能Erlang计划(HiPE)开发的本地代码编译器,自R11B-4版本开始,Erlang也开始支持脚本式解释器。在编程范型上,Erlang属于多重范型编程语言,涵盖函数式、并发式及分布式。顺序执行的Erlang是一个及早求值, 单次赋值和动态类型的函数式编程语言。
Erlang是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此非常适 合于构建分布式,实时软并行计算系统。使用Erlang编写出的应用运行时通常由成千上万个轻量级进程组成,并通过消息传递相互通讯。进程间上下文切换对于Erlang来说仅仅 只是一两个环节,比起C程序的线程切换要高效得多得多了。
使用Erlang来编写分布式应用要简单的多,因为它的分布式机制是透明的:对于程序来说并不知道自己是在分布式运行。Erlang运行时环境是一个虚拟机,有点像Java虚拟机,这样代码一经编译,同样可以随处运行。它的运行时系统甚至允许代码在不被中断 的情况下更新。另外如果需要更高效的话,字节代码也可以编译成本地代码运行。
Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。
Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。
尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoop 文件系统中并行运行。通过名为 Mesos 的第三方集群框架可以支持此行为。Spark 由加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发,可用来构建大型的、低延迟的数据分析应用程序 
分享到:
评论

相关推荐

    大数据时代观后感.doc

    《大数据时代》这本书深入探讨了大数据对现代社会产生的深远影响,为我们揭示了在信息化时代如何理解和应对数据洪流的挑战与机遇。作者通过三个主要部分,阐述了大数据带来的思维方式的转变,以及它对产业实践、政策...

    大数据时代大学生就业创业新前景研究.pdf

    在大数据时代背景下,大学生就业与创业的环境和要求均发生了显著的变化,为当代青年提供了广阔的发展空间,同时也对他们的能力和素质提出了更高的要求。具体来说,以下几个方面是大数据时代影响大学生就业创业的关键...

    大数据时代高校教学实效问题与路径选择.pdf

    大数据时代对高校教学实效性问题和路径选择进行了探讨与分析。首先,大数据技术的应用在教育领域能够显著提升教学质量,并且能够为教育管理提供决策支持。大数据分析有助于从庞大的数据库和统计信息中发现有价值的...

    大数据时代生活工作与思维的大变革(PPT48页).pptx

    大数据时代生活工作与思维的大变革 大数据时代的生活、工作和思维都将发生深刻的变革。随着大数据的出现,我们的生活方式、工作方式和思维方式将发生根本性的改变。我们将从中寻找更多的机遇和挑战。 大数据的定义...

    大数据时代个人隐私安全防护.pptx

    大数据时代个人隐私安全防护 大数据时代个人隐私安全防护是当前时代一个非常重要的主题。大数据的出现带来了许多新的机遇和挑战,其中个人隐私安全防护是其中之一。本文将从大数据的特点、应用价值和个人隐私安全...

    大数据时代下高职院校学生创新创业能力的培养策略.pdf

    在大数据时代背景下,高职院校学生创新创业能力的培养显得尤为重要。随着信息技术的飞速发展,特别是大数据技术的应用,高职院校面临的教育环境和要求正在发生深刻的变化。这种变化对高职院校创新创业教育的改革提出...

    赤裸裸的未来:大数据时代:如何预见未来的生活和自己(带目录)

    资源名称:赤裸裸的未来 : 大数据时代:如何预见未来的生活和自己(带目录)内容简介:全书主题聚焦于未知与未来,但论述绝非建立在想象之上的空中楼阁,其间穿插着大量事例,或基于客观现实,或依据科学推测,生动...

    大数据时代企业管理会计面临的机遇和挑战.pdf

    本篇文章的主题是探讨大数据时代企业管理会计所面临的机遇与挑战,以及如何利用大数据技术为企业的发展助力。 首先,大数据技术对管理会计工作的效率和质量带来了显著的提升。在这一时代背景下,数据与信息的分析变...

    应用统计学在大数据时代下的应用与创新.pdf

    在大数据时代的背景下,应用统计学正面临着前所未有的发展机遇与挑战。传统的应用统计学理论与方法,在大数据技术的推动下,正在经历着创新与变革。本文将探讨应用统计学在大数据时代的应用与创新,以及其在不同领域...

    大数据时代对新闻采编与传播的影响——评《新闻传播的大数据时代》.pdf

    在如今的大数据时代,新闻采编与传播领域正经历着一场前所未有的变革。喻国明、李彪、杨雅、李慧娟共同编著的《新闻传播的大数据时代》一书,深入探讨了大数据技术给新闻传播带来的影响,强调了大数据分析对新闻预测...

    大数据时代会计信息化建设研究.pdf

    在大数据时代下,会计信息化建设显得尤为关键。随着经济和科技的快速发展,信息技术特别是大数据技术的融入,已经成为了企业发展的必然趋势。企业为了提高经济效益、增强市场竞争力以及满足消费者需求,必须重视会计...

    腾云:云计算和大数据时代网络技术揭秘

    《腾云:云计算和大数据时代网络技术揭秘》是国内第一本系统讲解云计算网络的书籍。通过阅读全书,读者将清楚地了解到如何在云计算与大数据时代构建安全、可靠、高速与灵活的网络。《腾云:云计算和大数据时代网络技术...

    商业银行在大数据时代的发展策略_郑重.pdf

    在大数据时代,商业银行正面临一场深刻的变革。大数据的特性,如海量、多样化、快速传输和高价值,正在重塑金融行业的运营模式。对于我国商业银行来说,应对这场“数据地震”的关键在于如何有效地利用数据,将其转化...

    试析大数据时代高校就业工作的机遇与挑战.pdf

    大数据时代是一个数据量巨大、数据形式多样、处理速度快且准确度高的时代。在这个时代,互联网平台产生的数据通过各种技术手段进行获取、分析和存储,实现了信息的海量存储和高效处理。大数据技术的应用不仅提高了...

    大数据时代背景下的企业市场营销策略思考分析.pdf

    在大数据时代背景下,企业市场营销策略的变革成为了企业发展的关键点。随着网络信息化技术的迅猛发展,我们已经进入了大数据时代,这一时代背景下,大数据技术的广泛应用在各个领域引发了深刻的变革,企业市场营销便...

    爆发大数据时代预见未来的新思维

    在当今的信息化社会,我们正经历着一场前所未有的变革,这就是所谓的"大数据时代"。大数据不仅改变了我们的生活方式,更在商业、科学、医疗、教育等多个领域引领着创新和进步。"爆发·大数据时代预见未来的新思维"这...

    互联网大数据时代下探讨会计职业道德.pdf

    互联网大数据时代下探讨会计职业道德.pdf

    浅谈大数据时代机器学习的新趋势.pdf

    浅谈大数据时代机器学习的新趋势 机器学习是大数据时代的核心技术之一,它能够对大量数据进行快速分析和处理,获取有价值的信息,并对数据进行深入挖掘和分析。在大数据时代,机器学习技术正在不断发展和完善,出现...

    腾云 云计算和大数据时代网络技术揭秘,完整扫描版

    《腾云:云计算和大数据时代网络技术揭秘》是国内第一本系统讲解云计算网络的书籍。 通过阅读本书,读者将清楚地了解到如何在云计算与大数据时代构建安全、可靠、高速与灵活的网络。本书主要内容包括:云计算对基础...

Global site tag (gtag.js) - Google Analytics