大数据导论--大数据技术-原理与应用 知识点

大数据概述

  1. 三次信息化浪潮

    信息化浪潮 时间 标志 解决问题 代表企业
    第一次 1980年前后 个人计算机 信息处理 Intel,苹果,联想
    第二次 1995年前后 互联网 信息传输 谷歌,阿里巴巴,百度,腾讯
    第三次 2010年前后 物联网,云计算和大数据 信息爆炸 将涌现出一批新的市场企业标杆
  2. 信息科技需要解决 **信息存储,信息传输和信息处理 **三个问题

  3. 大数据时代的技术支持:

    1> 存储设备容量不断增加 2> CPU处理能力大幅提高 3> 网络宽带不断增加

  4. Byte

  5. 大数据平台是开发;在集群上的

  6. 大数据的五个特点:
    数据量大 数据类型繁多 处理速度快 价值密度低 真实性

  7. 大数据对科学研究的影响 四种范式:
    实验 理论 计算 数据

  8. 大数据对思维方式的影响:
    全样而非抽样 效率而非精确 相关而非因果

  9. 大数据两大核心技术:
    分布式存储 分布式处理

  10. 大数据技术的不同层面及其功能
    数据采集与预处理 数据存储和管理 数据处理与分析 数据安全和隐私保护

  11. 大数据计算模式及其代表产品

    大数据计算模式 解决问题 代表产品
    批处理 针对大规模数据的批量处理 Mapreduce,Spark
    流计算 针对流计算的实时计算 Strom
    图计算 针对大规模图结构的数据处理
    查询分析计算 大规模数据的存储管理和查询分析
  12. 云计算的关键技术:
    虚拟化 分布式存储 分布式计算 多租户

  13. 物联网:物物相连

  14. 物联网可分为四层:感知层,网络层,处理层,应用层

  15. 物联网的关键技术:
    识别和感知技术 网络与通信技术 数据挖掘与融合技术

  16. 大数据,云计算,物联网的区别:

    1. 大数据侧重于对海量数据的存储,处理与分析
    2. 云计算本质上旨在整合和优化各种IT资源,并为用户提供廉价的服务
    3. 物联网的发展目标是物物相连
  17. 三者的联系:

    1. 云计算为大数据提供技术基础 大数据为云计算提供用武之地
    2. 物联网是大数据的重要来源 大数据为物联网数据分析提提供支撑
    3. 云计算为物联网提供海量数据存储能力 物联网为云计算技术提供了广阔的应用空间

大数据处理架构 Hadoop

  1. Hadoop是Apache软件基金会旗下的 一个开源分布式计算平台
  2. Hadoop基于JAVA Hadoop的核心是分布式文件系统(HDFS)和MapReduce
  3. Hadoop发展:GFS->NDFS->HDFS
  4. Hadoop的特性: 高可靠性 高效性 高可扩展性 高容错性 成本低 运行在Linux平台上 支持多种编程语言

分布式文件系统HDFS

  1. 分布式文件系统是一种通过网络实现文件在多台主机上进行分布式存储的文件系统

  2. 分布式文件系统的三个组成结构:客户端,主节点(名称节点),从节点(数据节点)

  3. HDFS要实现的5个目标:

    1. 兼容廉价的硬件设备
    2. 流数据读写
    3. 大数据集
    4. 简单的文件模型(一次写入,多次读取)
    5. 强大的跨平台兼容性
  4. HDFS的应用局限性:

    1. 不适合低延迟数据访问
    2. 无法高效存储大量小文件
    3. 不支持多用户写入及任意修改文件、
    1. 数据读写的基本单元
    2. 1.0时代 HDFS默认的一个块的大小是64MB 2.0时代默认大小为128MB
    3. 采用抽象块的好处:1> 支持大规模文件存储 2> 简化系统设计 3> 适合数据备份
  5. 第二名称节点的作用:

    1> EditLog与FsImage的合并操作
    2> 作为名称节点的“检查点”

    冷备份一定会丢失一部分数据

  6. HDFS的命名空间包含目录,文件和块

  7. HDFS体系结构:采用主从结构模型 一个HDFS集群中包括一个名称节点和若干个数据节点

  8. HDFS通信协议: 所有的HDFS通信协议都是构建在TCP/IP协议基础之上的。
    客户端—名称节点 客户端协议
    名称节点—数据节点 数据节点协议
    客户端—数据节点 RPC协议

  9. 客户端是用户操作HDFS最常用的方式

  10. HDFS只设置一个名称节点的局限性:

    1> 命名空间的限制
    2> 性能的瓶颈
    3> 隔离问题
    4> 集群的可用性

  11. HDFS的存储原理:冗余存储(多副本方式)

  12. 冗余存储的优点:
    1> 加快数据传输速度
    2> 容易检查数据错误
    3> 保证数据的可靠性

  13. 数据存放策略:
    1> 如果是在集群内发起写操作请求,则把第一个副本放置在发起写操作你请求的数据节点上,实现就近写入数据。如果是来自集群外部的写操作请求,则从集群内部挑选一套磁盘不太满,CPU不太忙的数据节点,作为第一个副本很的存放地。
    2> 第二个副本会被放置在与第一个副本不同的机架的数据节点上。
    3> 第三个副本会被放置在与第一个副本相同的机架的其他节点上。
    4> 如果还有更多的副本,则继续从集群中随机选择数据节点进行存放。

  14. 数据读取策略:
    当发现某个数据块读本对应的机架ID和客户端对应的机架ID相同时,就优先选择该副本读取数据,如果没有发现,就随机选择一个副本读取数据。

  15. 数据复制策略:
    采用 流水线复制 的策略
    客户端将文件同时写入各个数据节点,复制块的大小为4K。

  16. 数据节点出错—HDFS自动调解冗余因子
    HDFS与其他分布式文件系统的最大区别就是可以调整冗余数据的位置。

Hadoop在探讨

  1. HDFS HA架构 是为了解决单点故障问题(------热备份)
  2. HDFS联邦 是为了解决命名空间的问题
    HDFS联邦的访问方式:客户端挂载表 方式
  3. HDFS联邦相对于HDFS1.0的优势:
    1> HDFS集群可扩展性
    2> 性能更高效
    3> 良好的隔离性
  4. YARN—资源管理调度框架
  5. YARN的目标:实现一个集群多个框架 即在一个集群上部署一个统一的资源调度框架YARN,在YARN之上可以部署其他各种计算框架。
  6. Hadoop生态系统中具有代表性的功能组件
    1. Pig 提供了类似SQL的Pig Latin语言
      Pig会自动把用户编写的脚本转换成MapReduce作业在Hadoop集群上运行
    2. Tez 核心思想是将Map和Reduce两个操作进一步的拆分
    3. Kafka 2>是一种高吞吐量的分布式发布订阅信息系统
      核心功能:1>数据交换 2> 3>既支持实时处理,也支持批处理

分布式数据库HBase

  1. HBase是BigTable的开源实现。是一个高可靠,高性能,面向列,可伸缩的分布式数据库

  2. HBase和传统的关系数据库的区别

    方面 关系数据库 HBase
    数据类型 关系模型 数据模型
    数据操作 借助于多个表之间的主外键关联来实现 不存在复杂的表与表之间的关系
    存储模式 基于行模式存储 基于列模式存储
    数据索引 多个索引 只有一个索引—行键
    数据维护 旧值被覆盖后就不会存在 旧的版本仍然保留
    可伸缩性 很难实现横向扩展 就是为了实现灵活的水平扩展而开发的
  3. HBase是一个稀疏,多维度,排序的映射表,这张表的索引是行键,列族,列限定符和时间戳(四维坐标)

  4. HBase的实现包括3个主要的功能组件:
    1> 库函数(客户端) 2> 一个Master主服务器(名称节点) 3> 许多个Region服务器(数据节点)

  5. Region------HBase的基本存储单元
    Region的标识符:表名+开始主键+RegionID

  6. HBase的三层结构:(HBase的三级寻址)
    Zookeeper文件
    根数据表,又名 -ROOT- 表
    元数据表,又名 .MATA. 表

  7. HBase是部署在HDFS之上的。

  8. Region服务器是HBase中最核心的模块

  9. Region的工作原理
    1> 用户读写数据教程
    2> 缓存的刷新
    3> StoreFile的合并

NoSQL数据库

  1. NoSQL->Not Only SQL
  2. NoSQL数据库的特点:
    1> 灵活的可扩展性
    2> 灵活的数据模型
    3> 与云计算亲密融合
  3. NoSQL的四大类型:键值数据库,列族数据库,文档数据库和图形数据库
  4. NoSQL的三大基石:CAP,BASE,最终一致性
  5. CAP:
    C:一致性。即多点的数据时一直的。
    A:可用性。即可以在确定时间内返回结果。
    P:分区容忍性。即系统中任意信息的丢失或失败不会影响系统的继续运作
    CAP理论:一个分布式系统不可能同时满足CAP这3个需求,最多只能同时满足期中两个
  6. NewSQL(NoSQL->NewSQL):目前各种可扩展高性能数据库的简称
  7. 数据库分类:OldSQL NoSQL NewSQL
    传统数据库(OldSQL NewSQL)和NoSQL各有所长,共同存在,不存在一方被另一方完全替代

云数据库是部署和虚拟化在云计算环境中的数据库。

MapReduce

  1. MapReduce 是一种并行编程模型,用于大规模数据集。
  2. MapReduce有两个核心函数Map函数和Reduce函数。
  3. MapReduce将复杂的运行于大规模集群的并行计算过程高度抽象为两个函数
  4. 核心思想:分而治之
    设计理念:计算向数据靠拢
    执行过程:执行用户程序时会被系统分发部署到集群的多台机器上,其中一台机器作为Master,负责协调调度作业的执行。其余机器作为Worker,可以执行Map或Reduce任务。
  5. Spark:基于内存计算的大数据并行计算框架
  6. Spark的特点:运行速度快,容易使用,通用性,运行模式多样。
  7. Scala:面向函数编程
  8. Scala的特点:具备强大的并发性,语法简洁,兼容Java
  9. Spark运行框架:RDD:弹性分布式数据库集,
  10. RDD:一个RDD就是一个分布式对象集合,并提供了一种高度受限的共享内存模型。
  11. RDD之间的依赖关系:分为宽依赖和窄依赖。碰到窄依赖继续扩展,碰到宽依赖停止扩展。
  12. 数据采集系统一般分为:Agent、Collector、Store
  13. Strom是一个免费、开源的分布式实时计算系统。
  14. 图计算:针对数据是一个图结构。
  15. BSP:整体同步并行计算模型,又称大同步模型。
  16. 一次BSP计算过程包括一系列全局超步,每个超步主要包括三个组件:局部计算、通信、栅栏同步。
  17. 三驾马车:GFS、MapReduce、BigTable
  18. 新三驾马车:Caffeine、Dremel、Pregel
  19. Pregel的计算过程:(1)当一个顶点不需要继续执行进一步的计算时,就回调用方法吧自己的状态设置成“停机”,从而表示自己不再是活跃顶点。(2)其他顶点给该顶点发消息时再次把他激活。(3)所有顶点均到达“非活跃”状态。

你可能感兴趣的:(大数据)