导图社区 大数据原理及应用
大数据原理及应用的思维导图, 获取数据工具是利用FTL工具、日志采集工具(FLume、Kaflka),一起来看。
编辑于2023-04-25 11:25:29 广东大数据原理及应用
来源
大数据来源
大数据时代
经历3个发展阶段
运营式系统阶段
用户原创内容
感知式系统阶段
大数据的计算模式
批处理计算(Mapreduce、Spark)
流计算
商业的流计算平台:IBM Infosphere streans
开源流计算框架:twitter storm、yahoo
为支持自身业务开发的框架:facebook pump、dstream(百度开发的通用实时流数据计算系统)
图计算(Pregel)
查询分析计算(Dremel)
可拓展的、交互式的实时查询系统,用于只读嵌套数据的分析
概念
数据量大
类型繁多
处理速度快
价值密度低
影响
科学研究
思维方式
具有“全样而非抽样,效率而非精确、相关而非因果”三大特征
社会发展
就业市场
人才培养
数据应用
互联网
生物医学
物流
其他区域
产业
IT基础设施层
软硬件提供、咨询、规划、系统集成服务的企业
数据源层
大数据生态圈里的数据提供者
数据管理层
抽取、转换、存储、管理等服务的各类企业或产品
数据分析层
分布式计算、数据挖掘、统计分析
数据平台层
阿里巴巴、电信、百度
数据应用层
智能交通、智慧医疗等
于云计算、物联网
云计算
典型服务模式
Iaas(基础设施服务)
Paas(平台即服务)
Saas(软件即服务)
类型
公有云
私有云
混合云
OpenStack:构建云的开源软件
关键技术
虚拟化(
概念:将一台计算机虚拟为多台逻辑计算机,在同一个计算机同时运行多个逻辑计算机
Docker:新型轻量级虚拟化技术,启动速度快、性能开销小
Hyper-V:微软的一种虚拟软件,为用户提供成本效益更高的虚拟化基础设施软件
VMware:是全球桌面到数据中心虚拟化解决方案的领导厂商)
分布式存储(GFS)
概念:一个大文件分成很多块,分散存储在数百台机器组成的集群里
分布式计算(MapReduce)
多租户(共用同一堆栈的软硬件资源)
数据隔离
客户化配置
架构拓展
性能定制
物联网
技术架构
感知层
网络层
处理层
应用层
关键技术
感知技术
网络与通信技术
数据挖掘
融合技术
处理层
应用层
大数据处理架构Hadoop
概念
开源分布式计算平台,为客户提供了系统底层细节透明的分布式基础架构
特性
高可靠性
高效性
高可拓展性
高容错性
成本低
运行在Linux平台上
支持多种编程语言
版本
Cloudera第一个Hadoop商业化公司
核心
分布式文件系统(HDFS)和MapReduce
生态系统
HDFS:分布式文件系统,具有处理超大数据、流式处理、 可以运行在廉价商用服务器等优点
GFS:分布式文件系统,满足大型、分布型、 对大量数据进行访问的应用的需求
Bigtable:以GFS为基础的分布式数据管理系统,是一个稀疏、分布、 持续多维度的排序映射数组,适合非结构化数据存储的数据库, 可在廉价PC服务器上搭建大规模存储集群
Hbase:是一个提供高可靠性、高性能、可伸缩、实时读写、 分布式列式数据库,一般采用HDFS作为其底层数据存储, 具有强大的非结构化数据存储能力
Hbase与传统数据库的区别:前者用于列存储、后者用行存储。
Mapreduce:编程模型,用于大规模数据集的并行运算
hive:基于Hadoop的数据仓库工具,适用于数据仓库的统计分析
Pig:数据流语言和运行环境,适合于Hadoop和Mapreduce平台来查询大型半结构化数据集, 在Mapreduce基础上创建更简单的过程语言抽象。适用于大型数据集中搜索满足某个给定搜索条件的记录时
Mahout:是Apache软件基金会旗下的一个开源项目,提供一些可拓展的机器学习领域经典算法的实现, 帮助开发人员更加方便快捷创建智能应用程序
Zookeeper:针对谷歌Chubby(提供一个可靠的粗粒度的锁服务)提供的一个高可用、 高可靠的、分布式的海量日志采集、聚合和传输的系统
Sqoop:用来在Hadoop和关系数据库之间交换数据,改进数据的互操作性
Ambari:基于WEB的工具,支持Hadoop集群的安装、部署、配置和管理
Nutch:一个开源Java实现的搜索引擎
Linux:是一种免费使用和自由传播的类UNIX操作系统
UNIX:自由/开源软件
POSIX:可移植操作系统接口
获取数据工具
概念:利用FTL工具、日志采集工具(FLume、Kaflka)
数据采集、数据存储和管理
分布式文件系统HDFS
特性
优缺点
优点
支持大规模文件存储、简化系统设计、适合数据备份等优点
可以利用由廉价硬件构成的计算机集群实现海量数据的分布式存储, 具有兼容廉价的硬件设备、流数据读写、大数据集、简单的文件模型、强大的跨平台兼容性
缺点
不适合低延迟数据访问、无高效存储大量小文件和不支持多用户写入及任意修改文件等
分布式数据库Hbase
特性
超强的扩展性
吞吐量
优缺点
优点
面临海量数据增长,不会导致查询性能下降,相当于传统行式数据库而言, 单张表有很多字段,可以将相同的列存在到不同的服务实例上,分散负载压力
缺点
架构设计复杂,存储少量数据,不支持表的关联操作
与传统关系数据库区别
数据类型
关系数据库:丰富的数据类型和存储模式
Hbase:简单的数据模型
数据操作
关系数据库:复杂的多表连接,借助主外键关联实现
Hbase:没有表与表关系,采用单表的主键查询
存储模式
关系数据库:基于行模式存储
Hbase:基于列模式存储
数据索引
关系数据库:多个索引
Hbase:1个索引-行键
数据维护
关系数据库:旧值被覆盖后不存在
Hbase:保留旧版本
可伸缩性
关系数据库:横向拓展,纵向拓展有限
Hbase:通过集群中增加或减少硬件数量来实现性能伸缩
NoSQL
特性
灵活的可拓展性
灵活的数据模型
与云计算紧密融合
四大类型
键值数据库
列族数据库
文档数据库
图数据库
三大基石
CAP
C(consistency):一致性
A(Availlability):可用性
p(Tolerrance of netwotk partition):分区容忍性
BASE:基本可用(basically-Aailble)、软状态(soft-state)、最终一致性(eventualconsistency)
最终一致性
云数据库
特性
动态可拓展性
高可用性
较低的使用代价
易可用性
高性能
免维护
安全
数据处理与分析
Mapreduce
Hadoop
缺点
表达能力有限
磁盘IO开销大
延迟高
Spark
简介
基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序
特点
运行速度快
容易使用
通用性
运行模式多样
Scala
简介
以简练、优雅的方式来表达常用的编程模式
优点
强大的并发性,支持函数式编程
语法简洁、提供优雅的API
兼容Java,运行速度快
优点
提供多种数据集操作类型,比mapreduce更灵活
提供内存计算,带来更高的迭代运算效率
基于DAG的任务调度执行机制,优于mapreduce的迭代执行机制
大数据处理的三个类型
复杂的批量数据处理
基于历史数据的交互性查询
基于实时数据流的数据处理
运行架构
RDD(resilient distributed datast):弹性分布式数据集,提供一种高度受限的共享内存模型
DAG(directes acyclic grapg有向无环图):反映RDD之间的依赖关系
Executor:运行在工作节点上的一个进程,负责运行任务,并为应用程序存储数据
应用
任务:运行在Executor上的工作单元
作业
阶段
三种部署方式
standalone:独立部署到一个集群中,不需要依赖其他系统来为其提供资源管理调度服务
spark on mesos模式:资源调度管理框架
spark on YARN模式
Spark架构优点
实现一键式安装和配置,线程级别的任务监控和告警
降低硬件集群、软件维护、任务监控和应用开发的难度
便于做成统一的硬件、计算平台资源池
流计算
静态数据
批量计算
流数据
实时计算
storm
免费的、开源的分布式实时计算系统
特点
整合性
简易的API
可拓展性
容错性
可靠的消息处理
支持各种编程语言
免费、开源
快速部署
图计算
通用软件
基于遍历算法,实时的图数据库,neo4j、DEX
以图顶点为中心的、基于消息传递批处理的并行引擎
pregel
谷歌的“三驾马车”
caffeine:搜索引擎提供支持,更加迅速添加新的链接
pregel:基于BSP模型实现的并行图处理系统
gremel:可拓展的、交互性的实时查询系统,用于只读嵌套数据分析
数据可视化
信息图表工具
google chart API
D3:网页作图、生成互动图形的javascript函数库
Visual ly:自定义、样式美观具有强烈冲击的信息图表
tableau:商业智能
大数据墨镜
地图工具
google fusion tables:统计地图
modeat maps:卫星地图的API
Leaflrt:地图框架
时间线工具
timetoast
xtimeline
高级分析工具
R:属于GNU一个自由、免费、源代码的开放原件、统计计算和统计制图
weka:数据挖掘软件
gephi:社交图谱数据可视化分析
结果
报告
Main Topic