什么是大数据
|序言
作为当代互联网的热词之一,每当我们提到大数据,我们到底是在说什么呢?
对于公司老板而言大数据意味着在拿项目时,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是码农])
空调维修
- 海信电视维修站 海信电视维修站点
- 格兰仕空调售后电话 格兰仕空调维修售后服务电
- 家电售后服务 家电售后服务流程
- 华扬太阳能维修 华扬太阳能维修收费标准表
- 三菱电机空调维修 三菱电机空调维修费用高吗
- 美的燃气灶维修 美的燃气灶维修收费标准明细
- 科龙空调售后服务 科龙空调售后服务网点
- 华帝热水器维修 华帝热水器维修常见故障
- 康泉热水器维修 康泉热水器维修故障
- 华凌冰箱维修电话 华凌冰箱维修点电话
- 海尔维修站 海尔维修站点地址在哪里
- 北京海信空调维修 北京海信空调售后服务
- 科龙空调维修 科龙空调维修故障
- 皇明太阳能售后 皇明太阳能售后维修点
- 海信冰箱售后服务 海信冰箱售后服务热线电话
- 海尔热水器服务热线