大数据技术(林子雨版)——期末复习知识点


==> 大数据&云计算


大数据时代的三次信息化浪潮:[时间;标志;解决的问题;代表企业]

  • 1980年前后;个人计算机;信息处理;Intel,IBM……

  • 1995年前后;互联网;信息传输;谷歌,腾讯……

  • 2010年前后;大数据、云计算、物联网;信息爆炸;亚马逊,阿里云……

信息技术要解决的核心问题,如何解决:

  • ③个问题:1、信息存储;2、信息处理;3、信息传输

  • ③个解决办法:1、存储设备容量的提升;2、CPU处理能力的大幅度提升;3、网络带宽的不断增加

数据?信息?

  • 数据:构成信息的基本单位,离散的数据没有价值。

  • 信息:宏观的,(联系):信息由数据组合而成,传达给读者某个概念和方法。

数据产生的方式:

  • 运用式系统阶段 ---> 用户原创阶段 ---> 感知式系统阶段

大数据发展的③个重要阶段:

  • 1、萌芽期 [被动数据];

  • 2、成熟期 [Web2.0、Hadoop平台的盛行];

  • 3、大规模应用期 [数据驱动决策]。

大数据的特点(4V):

  • 数据量大(volume);

  • 数据类型繁多(variety);

  • 处理速度快(Velocity);

  • 价值密度低(value)。

大数据的影响:

  • 对科学研究:1、实验科学;2、理论科学;3、计算科学;4、数据密集型科学。

  • 对思维方式:1、全样而非抽样;2、效率而非精确;3、相关而非因果。

大数据关键(核心)技术:

  • 分布式存储 [HDFS、HBase]、

  • 分布式处理 [MapReduce]。

大数据计算模式:

  • 批处理计算,运用在大规模数据中。例:MapReduce、Spark

  • 流计算,运用于实时计算。例:Flink、Storm、Flume、Streams

  • 图计算,应用于图结构的大规模数据中。例:Graphx、PowerGraph

  • 查询分析计算,应用于存储管理和查询。例:Hive、Cassandra

云计算概念:代表了虚拟化技术为核心的,以低成本为目的,动态可扩展的网络应用基础设施。

云计算的③种类型:

  • 公有云[阿里];

  • 私有云[银行];

  • 混合云。

云计算的③种服务模式:

  • 基础设施即服务(IaaS)

  • 平台即服务(PaaS)

  • 软件即服务(SaaS)

云计算的④种关键技术:

  • 1、虚拟化;2、分布式存储;3、分布式计算;4、多租户。

⑦个特点:

  • 1、动态可扩展;2、高可用性;3、较低的实验成本;4、易用性;5、高性能;6、免维护;7、安全。

云数据库采用的数据模型:

  • NoSQL数据的非关系型模型 [Amazon DynamoDB的”键值“存储];

  • 关系型数据库的关系模型 [微软SQLAzure;阿里云ROS]。

UMP(Unified MySQL Platform)采用的②种资源隔离方式:

  • 多个MySQL实例,1台电脑:用Cgroup限制MySQL进程资源;

  • 多台电脑,1个MySQL实例:在Proxy服务器端限制QPS。

大数据、云计算、物联网之间的联系和区别:

  • 大数据:数据的存储、处理与分析;

  • 云计算:整合和优化各种IT资源,并以廉价的方式提供给用户;

  • 物联网:物物相连,应用创新,与”智慧“产品息息相关。

  • 联系:物联网是大数据的重要来源,大数据技术为物联网数据分析提供支撑;

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

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


==> Hadoop ——大数据的处理架构


Hadoop概念:一个开源的、可运行于大规模集群上的分布式计算平台。

③个方面的优势:

  • 基于Java语言开发;

  • 具有很好的跨平台特性;

  • 可部署于廉价的计算机集群

②个核心:1、分布式存储:HDFS、HBase、NoSQL;2、分布式处理的MapReduce计算模型。

Hadoop的⑦个特征(即Hadoop实现的目标):

  • 高可靠性;

  • 高效性;

  • 高可扩展性;

  • 高容错性;

  • 成本低;

  • 运行在Linux操作系统上;

  • 支持多语言。

Hadoop的版本:2014年JDK 1.8版本的发布,对应了Hadoop 3.0的诞生。

Hadoop生态系统:Ambari;Hive;Pig;Mahout;MapReduce;YARN;HDFS;HBase;Zookeeper;Sqoop;Flume。


==> HDFS ——分布式文件系统


概念:相对于本地文件系统,分布式文件系统是一种通过网络,实现文件在多台主机上进行分布式文件存储的系统。[ HDFS是为大规模数据存储设计的]

结构:物理上是计算机集群中的多个节点构成。

  • 主节点(名称节点):对目录进行创建、删除、重命名,管理从节点和文件块的映射。

  • 从节点(数据节点):负责数据的存储和读取。

  • 注意点:同一时间,只有一个客户端能获取到主节点上的契约。[即 1 Time;1 Client ;1 File ]

⑤大优势:

  • 1、兼容廉价的硬件设备;

  • 2、流数据读写[非随机访问];

  • 3、大数据集[TB];

  • 4、简单文件模型;

  • 5、强大的兼容性[JVM]。

④大劣势:

  • 1、不能实时访问;

  • 2、不能高效存储大量小文件;

  • 3、不能多用户写入(1次写入,多次读取);

  • 4、不能随机修改文件(只能进行文件的追加操作)。

核心概念——块:default :64 MB(在Hadoop 1.0版本中),每一块都作为独立单元存储。

好处:1、支持大规模文件存储;2、简化系统设计;3、适合数据备份。

命名空间——由主节点负责(元数据存储在内存内)

命名空间中——保存着两个数据结构(保存在磁盘中)

  • FsImage:维护文件树和其中的文件、文件夹中的元数据。

  • EditLog:记录对文件进行的所有操作。

第二名称节点的③点作用:

  • ”检查点“保存主节点中的元数据;

  • 定期合并FsImage、EditLog,减少EditLog的文件大小,缩短主节点重启时间;

  • 紧急情况下恢复主节点。

第二名称节点的工作过程:

  • 第二名称节点请求使用新的日志

  • 通过http get方式从主节点上获得 FsImage 和 EditLog ;

  • 执行 EditLog ,读 FsImage 读到内存中,合并这它们得到临时文件;

  • 通过http post方式把“检查点”回传给主节点

  • 用临时文件替换FsImage,用新的日志替换EditLog,并更新检查点时间。


==> HBase ——分布式数据库


概念:HBase针对谷歌Big Table的开源实现,是一个高可靠、高性能、面向列、可伸缩的分布式数据库,存储非结构化和半结构化的松散数据。

HBase作为非关系型模型数据库与关系型数据库(MySQL)的对比:

  • 数据类型:唯一[未经解释的字符串] ; 丰富的数据类型和存储方式[关系模式]

  • 数据操作:简单[插入、查询、删除等] ; 复杂[包括多表连接、主外关联等]

  • 存储模式:面向列 ; 行模式存储

  • 数据索引:唯一[行键] ; 多个[针对不同的列结构有多个索引]

  • 数据维护:保留旧版本[基于HDFS] ; 旧版本被覆盖

  • 可伸缩性:灵活横向发展 ; 扩展有限

数据模型总述:HBase是一个稀疏、多维度、排序的映射表。在更新时不会删除旧版本,且可对允许保留的版本数进行设置。

行键:数据按行键的字典存储,有三种方式:1、通过单个行键;2、一个行键的区间;3、全表扫描。

索引的四维坐标:行键、列族、列限定符、时间戳。

  • 概念视图:将表视为一个稀疏、多维的映射关系。

  • 物理视图:基于列的存储方式。

面向列存储③大优点:

  • 减低输入/输出的开销;

  • 支持大量并发用户查询(处理速度快);

  • 有高的数据压缩比。

功能组件③大核心:1、库函数;2、Master服务器;3、Region服务器。

三层寻址:Zookeeper文件 [记录ROOT表位置] ---> ROOT表 [只能有一个Region] ---> META表 [保存了所有数据表的Region位置]。

如果缓存失败怎么办? 要再次经历上述的“三级寻址”过程,重新获得最新的Region位置信息,去访问数据,并用最新的Region位置信息替换缓存中失败的信息。


==> NoSQL ——非关系数据库的统称


NoSQL的③大特点:

  • 灵活的可扩展性;

  • 灵活的数据模型;

  • 与云计算的紧密融合。

优势:可扩展强,支持超大规模数据存储;数据模型灵活,可支持Web2.0应用。

劣势:缺乏数学理论基础;一般不能实现事务强一致性(ACID四性);一般不能保证数据完整性;技术尚不成熟,维护困难。

应用场景:二者都有自己的目标用户群体和市场空间,都不可被替代。

  • 关系型数据库:应用于银行、超市、电信等需要保证事务强一致性场景,且可以进行复杂的查询分析。

  • NoSQL数据库:应用于互联网企业、传统企业的非关键业务(数据分析),对数据量和并发读写要求较高的场景。

  • 混合架构:典型例子——亚马逊。购物车的临时数据,用键值存储;订单信息存储在关系型数据库中;大量的历史订单则存在MongoDB的文件数据库。

非关系型数据库的④大类型:

  • 键值数据库[Redis]:key用来定位Value,所以不能直接对Value进行索引和查询;

  • 列族数据库[HBase、Big Table];

  • 文档数据库[MongoDB];

  • 图数据库[Neo4J]。

三大基石(CAP):C: consistency 一致性 + A: availability可用性 + P: tolerance of Network Partition分区容忍性。

  • CA: 传统的关系型数据库,可扩展性差(数据都放在一台机子上)。[MySQL]

  • CP: Neo4J、HBase等NoSQL数据库,在等待期间无法对外提供服务。[MongoDB、HBase]

  • AP: 网站设计运用的数据库不需要所有数据被同时读到。[Cassandra]

ACID: atomicity 原子性 + consistency 一致性 + isolation 隔离性 + durability 持久性

BASE

  • 基本可用性(即分区容忍性) ;

  • 软状态 ;

  • 最终一致性(是弱一致性的特例,也是BASE的最终目的,不需要每时每刻都保持一致,最终数据一致即可)。

不一致性窗口:从OP操作完成到后续访问可以最终读取OP写入的最新值,中间的时间间隔。

你可能感兴趣的:(大数据,hadoop,分布式)