大数据基础笔记

一、 大数据基础概念

(一) 大数据的四个特性:

1.     数据量大(大数据摩尔定律)

2.     数据类型繁多(10%结构化数据+90%非结构化数据)

3.     处理速度快(注重秒级决策)

4.     价值密度低,商业价值高(只有少量数据有用)

(二) 大数据思维:

1.  全样而非抽样     采用全部数据查询而非采用抽样查询方式

2.  效率而非精确     抽样得出精确度,而大数据采用全样分析,不需要精确度

3.      相关而非因果     

(三) 两大核心技术

1.     分布式存储

2.     分布式处理

(四) 大数据计算模式

1.       批处理计算              针对大规模数据的批量处理

2.       流计算                   针对流数据的实时计算

3.       图计算                   针对大规模图结构数据的处理

4.    查询分析计算             大规模数据的存储管理和查询分析

(五) 大数据与云计算、物联网的关系:

1.     云计算:(laaS PaaS   SaaS )

云计算关键技术:虚拟化、分布式存储、分布式计算、多租户等:

2.     物联网物与物相连,人与物相连,实现信息化的远程管理控制

3.      大数据与云计算、物联网的关系:

大数据继承于云计算。

云计算为大数据提供了技术基础,大数据为云计算提供用武之地;

云计算为物联网提供海量数据存储能力,物联网为云计算提供了广阔的运用空间。

物联网是大数据的重要来源,大数据为物联网数据分析提供支撑。

二、大数据处理架构Hadoop

(一) Hadoop简介:

       Hadoop基于Java语言开发的,具有很好地跨平台特性,并可以部署在廉价的计算机集群中;

       Hadoop的核心是分布式文件系统HDFSHadoop Distributed File System

       Hadoop被公认为行业大数据标准开源软件,在分布式环境下提供了海量数据处理的能力。

(二) Hadoop的特性:

1.      高可靠性

2.      高效性

3.      高可扩展性

4.      高容错性

5.      成本低

6.      运行在Linux平台上

7.      支持多种编程语言

(三)Hadoop在企业中的应用架构:

(四) ApacheHadoop 版本区别:

(五) Hadoop项目结构

(六) 功能详解:Ubuntu系统………   32位系统:

(七) Hadoop集群中的节点类型:

1.      NameNode:负责协调集群中的数据存储

2.      DataNode:存储被拆分的数据块

3.      JobTracker:协调数据计算任务

4.      TaskTracker:负责执行由JobTracker指派的任务

5.      SecondaryNameNode:帮助NameNode收集文件系统运行的状态信息

自动化部署软件  : Docker

用TestDFSIO基准测试,来测试HDFS 的IO性能:

三、 分布式文件系统HDF

(一) HDFS实现的目标:

(1)    兼容廉价的硬件设备

(2)    流数据读写

(3)    大数据集

(4)    简单的文件模型

(5)    强大的跨平台兼容性

(二) 局限性:

1.      不适合低延迟数据访问

2.      无法高效存储大量小文件

3.      不支持多用户写入及任意修改文件

ª HDFS采用抽象的快概念可以带来以下几个明显的好处:

(1)    支持大规模文件存储:

(2)    简化系统设计:

(3)    适合数据备份:

名称节点:NameNode

数据节点 DataNode

存储元数据

存储文件内容

元数据保存在内存中

文件内容保存在磁盘中

保存文件,block,datanode之间的映射关系

维护了block id到datanode本地文件的映射关系

1.      名称节点:负责管理分布式文件系统的命名空间。

(1)    FsImage : 用于维护文件系统树以及文件树中所有文件和文件夹的元数据。

(2)    EditLog:记录了所有针对文件的创建,删除,重命名等操作。

2.      数据节点:负责数据的存储和读取;

(一)HDFS体系结构

1.      体系结构局限性:

(1)    命名空间的限制;

(2)    性能的瓶颈;

(3)    隔离问题;

(4)    集群的可用性;

A.       冗余数据保存

1.      加快数据传输速度

2.      容易检查数据错误

3.      保证数据可靠性

四、 分布式数据库HBase

(一) 概念:

是一个高可靠、高性能、面向列、可伸缩的分布式数据库。主要用来存储非机构化和办结构化的松散数据。

(二) HBase与传统关系数据库的对比分析:

1.      HBase与传统的关系数据库的区别主要体现在一下几个方面:

 

区别

关系数据库

HBase

数据类型

采用关系模型,具有丰富的数据类型和存储方式

采用了更加简单的数据模型,它把数据存储为未经技解释的字符串

数据操作

包含了丰富的操作,其中会涉及复杂的多表连接

操作则不存在复杂的表与表之间的关系,只有简单的插入、查询、删除

存储模式

居于行模式存储的

是基于列存储的,每个列族4都由几个文件保存,不同列 族 的文件时分离的

数据索引

可以针对不同列构建复杂的多个索引,以提高数据访问性能

只有一个索引---行键,通过巧妙的设计,HBase中年的所有的访问方法,或者通过行 键 访问,或者通过行键扫描,从而使得整个系统不会慢下来。

数据维护

更新操作会用最新的当前值去替换记录中的原来的旧值,旧值就被覆盖就不会存在

执行更新操作时,并不会删除旧的版本,而是生成一个新的版本,旧的版本仍然保留

可伸缩性

很难实现横向扩展,纵向扩展的空间也比较有限

HBase和BigTable这些分布式数据库就是为了实现灵活的水平扩展而开发的,能够轻易地通过在集群中增加或者减少硬件数量来实现性能的伸缩。

(三) HBase访问接口:

五、 NoSQL数据库

1.    简介:

a)        灵活的可扩展性   ª  特点

b)        灵活的数据模型   ª

c)        与云计算紧密融合ª

 

你可能感兴趣的:(大数据基础学习,大数据)