大数据概述
1,什么是大数据
- 商品预测
问题1:大量订单数据如何存储?
问题2:大量订单数据如何计算? - 天气预报
问题1:大量天气数据如何存储?
问题2:大量天气数据如何计算? - 核心问题
- 数据的存储 --> 分布式文件系统(HDFS)
- 数据的计算 --> 分布式计算:MapReduce、Spark(RDD)
2,数据仓库
- 数据仓库就是一个数据库,一般只做Select
- Hadoop和Spark是数据仓库的一种实现方式
3,OLTP和OLAP
- OLTP:Online Transaction Processing 联机事务处理,指insert、update、delete --> 事务
传统的关系型数据库解决的问题 - OLAP:Online Analytic Processing 联机分析处理,一般只做Select
数据仓库就是一种OLAP的应用系统
Hadoop、Spark可以看成是一种数据仓库的解决方案
4,Google的基本思想
- GFS(Google File System) --> HDFS:Hadoop Distributed File System
-
分布式文件系统
-
大数据的存储问题
-
HDFS中,记录数据保存的位置信息(元信息) --> 采用倒排索引
HDFS = NameNode + SecondaryNameNode + DataNode
- MapReduce
编程模型
Yarn = ResourceManager + NodeManager - BigTable:大表 --> NoSQL数据库:HBase
- 关系型数据库:Oracle、MySQL等 --> 行式数据库 --> insert、update、delete
- 常见的NoSQL数据库
Redis:内存数据库
HBase:面向列 --> 列式数据库 --> select
MongoDB:面向文档(BSON文档:是JSON的二进制) - 基本思想:所有数据存入一张表中:牺牲空间换时间
HBase = Zookeeper + HMaster(主节点)+ RegionServer(从节点)