深入浅出学习

深入浅出—大数据

第1章 小结

1、大数据产业生态划分为三个层次:
a. 大数据应用:
企业开发出来的一些通用应用,例如:大数据可视化和分析数据、大数据商业智能工具或数据服务等

b. 大数据基础设施:
指的是PaaS层的基础设施,如数据采集、存储、数据集成、数据并行处理和数据分析等基础的 平台层能力

c. 大数据技术:
包括了数据采集、数据存取,数据处理,统计分析,数据挖掘,模型预测,结果呈现等技术。
目前,Hadoop已经确立了其作为大数据生态系统基石的地位。且Hadoop是由Java实现的,它可以对分布式环境下的大数据以一种可靠、高效、可伸缩的方式处理

大数据的关键特征

关键特征分别是:

  • 数据量大(全球信息量几十万亿GB)、
  • 数据类型多(其中80%是非数据结构化占比)、
  • 处理速度快(达到秒级甚至毫秒级处理速度)
  • 数据价值(数据价值高,价值密度低)

小知识点:

  1. 结构化数据:关系型数据库数据以及面向对象数据库中的数据。
  2. 半结构化数据:HTML,XML,各类报表等
  3. 非结构化数据:音频、视频等

数据思维

  • 传统数据思维,是在在定义问题的时候有一定的假设,然后通过各种方式来证明这一假设是否正确。
  • 大数据思维:是没有预知的假设,而是使用归纳推理的方法,从部分到整体的进行观察描述,通过问题存在的环境观察和解释现象,从而起到预测的效果。

数据处理

  • 传统的数据处理:处理结构化或者关系型数据。且使用昂贵的硬件设备(小型计算机+磁盘列阵)或者一体机来完成数据分析处理挖掘的。
  • 大数据处理是具备结构化、半结构化、非结构化混合处理的能力。数据的采集一般是存储在关系型数据库Oracle、非关系型数据库NoSQL、分布式文件系统HDFS,将这些多种类型的数据可通过并行计算(MapReduce、Spark)来提高数据处理的速度。
    小结:且大数据的硬件要求不高,使用x86作为分布式平台搭建的基础服务器,搭建高可用后,平台兼容性好,可扩展性高,无需高性能高可靠性的硬件。
    注:mapReduce是通过大量廉价服务器实现大数据的并行处理,且对数据的一致性不高,扩展性和可用性高,适用于海量的结构化、半结构化和分结构化的混合处理。

    数据分析

    . | 传统数据分析 | 大数据分析
  • |-|-
    分析对象 | 部分数据的采样 | 全部数据 |
    分析类型 | 结构化数据 | 结构化、半/非结构化数据 |
    精确性 | 精准、规范化的数据 | 无特别要求 |
    分析算法|对算法要求比较高|算法简单有效|
    分析结果|注重因果关系|更注重相关性|

数据治理

是贯穿整个大数据的生命周期的系统全面的方法。
大数据的数据治理包括

  • 隐私性
  • 安全性
  • 合规性
  • 数据质量
  • 元数据管理
  • 主数据管理
  • 集合业务特点的延伸(具体问题具体分析)
  1. 数据维度化:加强大数据应用的安全起源,明确数据认责
  2. 强制访问控制的保密要求,适当地屏蔽个人或组织隐私信息等措施。
  3. 治理目标:是否明确定义,明确责任方,数据内容是否符合标准要求,数据的存储与管理,数据分析,数据访问安全控制等方面进行制定。

被动安全机制

大数据安全不仅限于大数据基础设施的方案,还要考虑到数据采集、大数据分析、大数据基础架构本身的安全。

大数据关键技术

数据采集工具介绍

Flume

Flume是一个高可用的,高可靠的,分布式的海量日志采集聚合和传输的系统。支持对数据进行简单的处理,并写到各种数据接受方的能力。

source源主要可以从console(控制台)、RPC(Thrift_RPC)、text(文件)、tail、syslog(日志系统支持TCP和UDP)、exec(命令执行)等数据源上收集数据的能力。

Scribe

Facebook开源的日志收集系统,主要特点是容错性好,从各类数据源收集的数据,放到一个共享队列里,然后Push到后端的中央存储系统上,当存储系统出现故障后,Scribe可以暂时将数据(日志)存放到本地文件中,待中央存储系统恢复性能后,Scribe把本地日志续传到中央存储系统上。

Buffer:是最常用的一种存储方式。包含两个子存储,其中一个是主存储(在此指中央存储系统),另一个是辅存储(在此指本地文件),日志数据优先存放在主存储中,如果主存储出现故障,则Scribe会将数据暂存放在辅存储中,待主存储恢复性能后,再将辅存储中的数据复制到主存储中。其中辅存储仅支持两种存储方式,一个是File(本地文件)一个是HDFS。

Kafka

Kafka是用Scala开发的分布式消息订阅发布系统,主要有三种角色,分别为生产者(producer),代理(Broker)和数据消费者(Consumer)。生产者向指定Topic发布(Push-推)消息,而Consumer订阅(pull-拉)指定Topic的消息,进而一但这个指定的Topic里面有数据,Broker(代理)就会将数据信息传递给订阅该Topic的所有Consumer。
注: Topic有多个partition便于管理数据进行负载均衡。

Time tunnel

是阿里巴巴的一个高效的、可靠的、可扩展的的实时数据传输平台,支持消息多用户订阅。主要功能就是实时完成海量数据的交换,因此它的业务逻辑主要有两个,一个是将发布数据至Time Tunnel,一个是从Time Tunnel订阅数据。

组件介绍:
Time Tunnel大概由TT Manager、Client、Router、Zookeeper和Broker几个部分组成。

  • TT Manager:对外提供队列申请、删除、查询和集群的管理接口:对内 故障发现,发起队列迁移。
  • Client:是一组访问Time Tunnel的API,主要由安全认证API、发布API和订阅API(目前api支持JAva、Python、PHP)
  • Router是访问Time Tunnel的门户,负责路由、安全认证和负载均衡,为客户端提供路由信息,找到为消息队列提供服务的Broker.
  • Zookeeper是Hadoop的开源项目,主要功能是状态同步,Borker和Clienter的状态都存储在这里。
  • Broker是Time Tunnel的核心,负责消息的存储转发,承担实际流量,进行消息队列的读写。

操作流程:
Client访问Time Tunnel的第一步是向Router进行安全认证,如果认证通过,Router会根据Client要发布或者要订阅的topic对Client进行路由(负载均衡保证让所有的broker平均地接收Client访问),使的Client和Broker进行连接。

Chukwa

是一个开源的用于监控大型分布式系统的数据收集系统,是构建在Hadoop的HDFS和Map/Reduce框架之上的。包含一个灵活的工具集,用于展示、监控和分析以收集的数据。

大数据存储与管理技术

. 结构化数据 半结构化数据 非结构化数据
定义 有数据结构描述信息的数据 介于完全结构化数据和完全非结构化数据之间的数据 无固定结构来表现的数据
特点 先有结构,再有数据 先有数据再有结构 只有数据,没有结构
存储 分布式关系型数据库 分布式文件系统 分布式非关系型数据库
#### 分布式文件系统
1. Consistency(一致性):文件系统中的所有数据备份在同一时间是否是同样的值。
2. Availability(可用性):部分出错,是否会影响其他大部分的运作。
3. Partition Tolerance(分区容错性):约束了一个分布式系统需要具有如下特性,分布式在遇到任何网络分区故障的时候,仍然需要能够保证对外提供满足一致性和可用性的服务,除非是整个网络环境都发生了故障。

未完待续。。。

-------------本文结束感谢您的阅读-------------