大数据基础知识,非常适合零基础的同学,有基础的也可以看一下,巩固一下基础知识!
一、什么是大数据
一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理(MPP)数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。
二、大数据的基本特征
数据量大(Volume):第一个特征是数据量大,包括采集、存储和计算的量都非常大。 类型繁多(Variety):第二个特征是种类和来源多样化。包括结构化、半结构化和非结构化数据,具体表现为网络、日志、音频、视频、图片、地理位置信息等等,多类型的数据对数据的处理能力提出了更高的要求。 价值密度低(Value):第三个特征是数据价值密度相对较低,或者说是浪里淘沙却又弥足珍贵。随着互联网以及物联网的广泛应用,信息感知无处不在,信息海量,但价值密度较低,如何结合业务逻辑并通过强大的机器算法来挖掘数据价值,是大数据时代最需要解决的问题。 速度快时效高(Velocity):第四个特征数据增长速度快,处理速度也快,时效性要求高。 数据是在线的(Online)。数据是永远在线的,是随时能调用和计算的,这是大数据区别于传统数据最大的特征。 点击领取免费资料及课程
三、大数据的数据单位
按顺序给出所有单位:bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB。(进率2^10)
四、大数据的数据结构
结构化数据:即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据非结构化数据:非结构化数据是数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据。包括所有格式的办公文档、文本、图片、XML, HTML、各类报表、图像和音频/视频信息等等。半结构化数据:指结构数据中,结构不规则的数据,由于结构变化很大也不能够简单的建立一个表和他对应。如:声音、图像文件等之间的数据,HTML文档就属于半结构化数据。它一般是自描述的,数据的结构和内容混在一起,没有明显的区分。
五、大数据的计算模式
批处理计算 ( MapReduce,Spark):最适合于完成大数据批处理的计算模式是MapReduce,首先,MapReduce对具有简单数据关系、易于划分的大规模数据采用“分而治之”的并行处理思想;然后将大量重复的数据记录处理过程总结成Map和Reduce两个抽象的操作;最后MapReduce提供了一个统一的并行计算框架,把并行计算所涉及到的诸多系统层细节都交给计算框架去完成,以此大大简化了程序员进行并行化程序设计的负担。
流式计算 (Scribe ,Flume,Storm,S4,SparkStreaming)流式计算是一种高实时性的计算模式,需要对一定时间窗口内应用系统产生的新数据完成实时的计算处理,避免造成数据堆积和丢失。
迭代计算 ( HaLoop ,iMapReduce,Twister,Spark)为了克服Hadoop MapReduce难以支持迭代计算的缺陷,工业界和学术界对Hadoop MapReduce进行了不少改进研究。HaLoop把迭代控制放到MapReduce作业执行的框架内部,并通过循环敏感的调度器保证前次迭代的Reduce输出和本次迭代的Map输入数据在同一台物理机上,以减少迭代间的数据传输开销; 点击领取免费资料及课程
交互式计算
图计算 (Pregel,PowerGrapg,GraphX)
内存计算 (Dremel,Hana,redis)
六、大数据的工作流程
1、采集与预处理
从数据源采集的数据,需要通过数据融合、数据集成、数据整合,生成新的数据集,供后续查询、分析、处理提供统一的数据视图
2、存储管理
分布式文件系统
分布式数据库(NEWSQL、NOSQL)
3、计算模式
包括批处理、交互式处理、流式计算、迭代计算、图计算、内存计算
4、分析与挖掘
5、可视化处理
七、CDH简介
CDH首先是100%开源,基于Apache协议。基于Apache Hadoop和相关projiect开发。可以做批量处理,交互式sql查询和及时查询,基于角色的权限控制。在企业中使用最广的hadoop分发版本。
八、分布式架构设计CAP的工作原理
● 一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本),换句话就是说,任何时刻,所用的应用程序都能访问得到相同的数据。
● 可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(对数据更新具备高可用性),换句话就是说,任何时候,任何应用程序都可以读写数据。
● 分区容错性(P):以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择,换句话说,系统可以跨网络分区线性的伸缩和扩展。
在这里我还是要推荐下我自己建的大数据学习交流qq裙:788483959 (大数据资料分享), 裙 里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据开发相关的),包括我自己整理的一份最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴。大数据开发、数据分析与挖掘线上教学,免费试听!