美文网首页
大数据背景简谈

大数据背景简谈

作者: 一杉风雨 | 来源:发表于2019-06-12 11:40 被阅读0次

大数据的本质是单机容不下的数据

本文不会对涉及到的具体技术加以深入探讨,仅仅简述下个人理解的大数据背景知识。

单机时代 VS 大数据时代

从单机时代讲起,人们日常需要的数据存放在一台电脑里绰绰有余,但文件并非整体的存放在一整块地方,而是分散到硬盘的各个磁道上,由文件系统统一管理,所以不需要关注文件究竟在哪个扇区。
切换到大数据时代,数据无法存放在一台单机上,而是分散到成千上万的机器上,在使用数据时,人们只希望像单机时代一样方便,而不是去关注文件究竟在哪些机器上、该怎么去取等,由此便衍生出了分布式文件系统,在文件系统之上,基于各种各样大数据背景下的需求,慢慢便出现了各式各样的大数据工具,如下图。

存储

解决大数据问题的第一步,便是如何把数据存储下来,只有先存在来,才能再谈如何应用。目前这方面最火的该是Hadoop项目,由Hadoop构建的HDFS支持了大数据的存储,使得用户不用在关心具体的存储细节,只需像单机时代一样来使用即可。有了存储之后,人们便开始考虑如何利用大数据来计算,由此便衍生出了一代计算引擎。
搭建单机版Hadoop,请参考https://www.jianshu.com/p/d09f9d630675

一代计算引擎

在大数据背景下,计算任务不可能把所有的待计算数据全load到一台机器的内存中来计算,所以需要新的计算模型来完成大数据的计算任务,由此便衍生出了MapReduce引擎。MapReduce把大数据的计算抽象成了两个基本步骤:MapReduce,整个过程可以基本理解为由Map任务在每个节点上分别进行计算任务,再由Reduce任务汇总结果,简单的说即为:分散计算,统一汇总。
举例说明,要统计某文档内所有单词的词频,Map任务会先在各个节点上计算出部分结果:host1: [hello, 100], [world, 200], host2: [hello, 11], [world, 22]等,Map任务结束后,Reduce任务会汇总所有的部分结果并聚合成最终结果:[hello, 111], [world, 222]等。
MapReduce模型帮助程序员们原理了具体的分布式任务实现,只需要实现MapReduce任务的抽象就可以完成分布式下的大数据计算任务,因此收到程序员的一致欢迎。

二代计算引擎

MapReduce模型本身虽然笨重,但已经很强大,足以解决大数据下大部分计算问题,但有人问了:“能不能更快”,于是便出现了第二代计算引擎TezSpark,简单的理解是,它们把计算数据放在了内存中,从而获取到了更快的速度。

更高的抽象

有了计算引擎后,程序员们开始想了:“能不能不用写代码也可以执行大数据计算”,于是变出现了更高层次的工具HivePig,其中Hive通过使用SQL的方式实现了大数据计算任务,可能原来写百行代码的任务如今一句SQL就可以搞定,Pig采用脚本的方式来实现大数据计算任务。这一举动受到了广泛产品和运营人员的热爱,“我不会编程,但是我会SQL呀”,于是产品和运营再也不用去求着程序员小哥哥写代码了,程序员小哥哥内心窃喜。
“我还想更快怎么办”,于是在二代计算引擎上也衍生出了类似的工具Hive on Tez/ SparkSparkSQL等。

还能不能更快

“还能不能更快”,能的,原有的计算绕不开的是先把数据存储下来,再执行计算任务,那么能不能在数据存储时就执行计算呢,由此便出现了流计算引擎Storm,流计算在数据流入时便执行了计算任务,因此能更快的获得计算结果,但本身的设计也代表它的局限性,如必须提前预知计算逻辑,数据流过后变不可回流等,使用时应根据具体的需求情况按需设计方案。

其他

除此之外,
还有KV Store,如CassandraHBaseMongoDB等,它们的特点是基本无法处理复杂运算、基本不能Join, Aggregation,基本没有一致性,但是非常非常非常的,如果根据userId找到userInfo,使用Hadoop可能要遍历所有文件,但KV Store针对该类操作做了相当大的优化,足够达到很快的速度;
分布式一致性服务软件,如zookeeper等;
Hadoop的通用资源管理器,如yarn
构成了大数据下的基本背景。

相关文章

  • 大数据背景简谈

    大数据的本质是单机容不下的数据 本文不会对涉及到的具体技术加以深入探讨,仅仅简述下个人理解的大数据背景知识。 单机...

  • Elasticsearch 基于时间还是分库索引

    背景: 搜索接口性能慢,数据量大 业务背景:有1000家公司,不同公司数据量差异大,且越近的时间的数据使用到的概率...

  • 数据仓库工具Hive

    数据仓库工具Hive Hive产生背景 直接使用MapReduce处理大数据,问题: MapReduce开放难度大...

  • 10倍性能提升!DLA SQL推出基于Alluxio的数据湖分析

    背景 在数据上云的大背景下,随着网络和存储硬件能力的提升,存储计算分离逐渐成为了大数据处理的一大趋势。相比于存储和...

  • 大背景

    毕业后第一份工作在南京,虽然工作不怎么样,但是在这家公司遇见了三个年纪相仿的女生,当时大家都住人才公寓,除去工作上...

  • 爬虫知识学习

    爬虫背景知识: 大数据时代?数据怎么来的呢?企业产生的数据:大的公司会根据用户的行为记录数据,数据会被大公司利用,...

  • 应用大数据建设 “智慧消防”的思考

    一、大数据背景 1、大数据概念 大数据指那些数据量特别大、数据类别特别复杂的数据集,指无法用现有的软件工具提取、存...

  • Scrapy 和相关知识

    爬虫背景知识:大数据的时代?数据怎么来的呢? 企业产生的数据:大的公司会根据用户的行为记录数据,数据会被大公司利用...

  • Scrapy和相关知识

    爬虫背景知识:大数据的时代?数据怎么来的呢? 企业产生的数据:大的公司会根据用户的行为记录数据,数据会被大公司利用...

  • 脱离背景及数据谈现象,不明智?

    最近在看这本书,可能很多人都看过,因为它实在太畅销了。 买之前简单看了书评,褒贬都有,很正常,大多...

网友评论

      本文标题:大数据背景简谈

      本文链接:https://www.haomeiwen.com/subject/txdkfctx.html