什么是大数据

家电修理 2023-07-16 19:17www.caominkang.com电器维修

|序言

作为当代互联网的热词之一,每当我们提到大数据,我们到底是在说什么呢?

对于公司老板而言大数据意味着在拿项目时,PPT上高大上的代名词、稳定投资人的财富标签;

对于程序员而言大数据意味着用一种全新的、分布式的、便捷高效的数据处理手段;

对于吃瓜群众而言大数据是洪水猛兽,是无处不在的,窃取他们隐私的黑科技。

本文将以一个程序员视角,来谈谈我对大数据的理解。


|背景

自从2010年,苹果的iPhone4问世,标志着移动互联网的时代正式拉开序幕,进入移动互联网时代后,各种软件、APP每时每刻都在源源不断地产生数据。

以前,RDBMS(关系型数据库)能解决所有问题,普通中小公司用MySQL、PostgreSQL,而国企,不差钱的大公司则用Oracle、Teradata、DB2、SQLserver。很快,这些爆发式激增的数据很快就超过了传统方式的处理能力上限,急需一种新的、容易扩展、成本低廉的、能迎合巨量数据并行处理的新技术。

这里的处理,是对数据计算和存储的统称。

彼时,随着Google发表的3篇论文被公开,大数据技术第一次以开源的方式出现在大众视野,映入大家眼帘的即大名鼎鼎的Hadoop。

Google在2003年到2006年间发表的3篇论文分别为《MapReduce: Simplified Data Processing on Large Clusters》、《Bigtable: A Distributed Storage System for Structured Data》和《The Google File System》。介绍了Google如何对大规模数据进行存储和分析,这三篇论文开启了工业界的大数据革命,被称为Google的三驾马车,也是后来Hadoop的开山鼻祖。
|介绍

Hadoop不是某个单一技术的软件,它是一个大数据处理系统和生态的总称,Hadoop最初出现在大众视野中时,指的是HDFS文件系统+MapReduce计算引擎+Hbase数据库。

Hadoop是一个能够满足数据读取、数据计算、结果存储的完整生态组合。有了它,就可以实现一个最小规模的大数据解决方案。

那么Hadoop为什么可以成为大数据技术的事实标准呢?

核心原因为解耦+分治+低成本。

1,Hadoop如何做到解耦?

我们知道,传统的RDBMS之所以可以做任何数据处理的事情,原因在于它集数据计算、数据存储于一体。使用者只需要将原始数据保存到一张数据源表中,后续再根据自己的业务需求写SQL将结果保存到另一张表中就可以了,这是传统数据库最常见的数据处理模型。

所有这些数据处理动作全部在数据库内部完成,虽然架构简单,一旦其中的任何一个环节出现问题,就可能导致整个系统的崩溃...

传统数据库的数据处理流程

而大数据技术则不是,同样一个数据处理动作,它将其拆解为数据源读取、数据计算和结果存储3个独立的部分,且这3个独立的部分分别由3个独立运行的软件来完成。比如Hadoop系统中,从HDFS读取原始数据,再用MapReduce计算引擎进行计算,用Hbase来存储计算后的结果。

Hadoop系统数据处理流程

2,Hadoop如何做到分治?

【分治】是大数据技术的核心思想,是大数据技术的灵魂,当下所有的大数据技术,无论是存储系统还是计算系统,无一例外都遵从了【分治】这个原则。

简单点理解就是一个人搞不定的事情,那就多找几个人一起来帮你搞定。

将一份大数据集拆分成多个小数据集并行处理

大数据嘛,就是一份量很大的数据,一台机器因为能力有限(受限于单台机器的硬件),无法一次性处理所有的数据量。

怎么办?那就多台机器一起并行帮你处理呗。

拿Hadoop来说,数据从HDFS读取是分治的——存储在多台机器上;

通过MapReduce计算引擎来计算是分治的——多台机器一起计算,每台机器计算一小部分;

将结果保存到Hbase也是分治的——结果会分布存储到多台机器中;

3,Hadoop如何做到低成本?

软件的低成本

Hadoop是开源的,不要钱的,所有的源代码向任何使用者公开,你随时可以查看,学习,甚至如果你愿意,还可以向其贡献自己的源代码,以丰富这个软件的功能。要知道,这个跟那些传统商业软件Oracle、Teradata、DB2动辄每年上百万的软件费用比,简直不要太香。

硬件的低成本

传统的数据库厂商一般在出售自己数据库产品时,都会绑定自己的硬件,比如以前的Oracle、Teradata、DB2数据库很多只能运行在特定的服务器上,如小型机、大型机等。这些服务器的价格也是动辄百万起步,让很多互联网公司望而却步。而Hadoop恰恰摒弃了这些限制,只要服务器满足x86架构(最新版的Hadoop也适配ARM架构了),就可以部署安装,且适配几乎所有操作系统,对于成本控制严格的创业公司来说,这一点极其友好。


|感悟

大数据技术无论在技术实现上还是在成本要求上都具有极大优势,很快就席卷了整个互联网技术领地。现在,你很难看到一个完全没有使用大数据技术的IT公司或者团队。

继Hadoop之后,更多优秀的大数据技术的软件陆续推出,为大家熟知的有hive、spark、Flink、storm、zookeeper、kafka、solr、Elasticsearch、Impala... 等等。

而这些软件,随着使用者的人数和背后社区支持力度的不同,有些一时风光无两,而有的已经逐渐退出了历史舞台,也许这就是开源软件的宿命。

而作为程序员的我们,也只能紧跟时代浪潮,时刻保持学习的心态,才能不被这股狂风巨浪拍死在沙滩上...

(PS想了解更多,欢迎关注我的公众号[Anryg是码农])

Copyright © 2016-2025 www.caominkang.com 曹敏电脑维修网 版权所有 Power by