「大数据学习笔记」1.1 了解大数据

一、什么是大数据

首先引入两个个大数据应用场景

1 电商的推荐系统:大量的订单数据是如何存储的?这样庞大的数据如何计算?
2 天气预报:大量的天气的数据如何存储?大量的天气的数据如何计算?

从以上两个例子可以引出大数据的两个核心问题

  1. 数据的存储
    分布式的文件系统:HDFS(Hadoop Distributed File System)

  2. 数据的计算
    数据的计算(不是算法)------:分布式的计算:MapReduce、Spark(RDD:弹性分布式数据集)

二、数据仓库和大数据

  1. 传统方式:搭建数据仓库(Data Warehouse)来解决大数据的问题

  2. 数据仓库就是一个数据库(Oracle、MySQL、Sqlserver)

    传统的数据仓库一般只做查询 select
    大数据也是一般只做查询(分析)

  3. 搭建数据仓库的过程: Hadoop、Spark中的一些组件
    在这里插入图片描述

三、OLTP和OLAP

  1. OLTP:Online Transaction Processing 联机事务处理

    指:(insert、update、delete)—> 事务 传统的关系型数据库解决的问题

  2. OLAP:Online Analytic Processing 联机分析处理

    一般只做查询select(分析)
    数据仓库就是一种OLAP的应用系统
    Hadoop、Spark看成是一种数据仓库的解决方案

四 Google的基本思想:三篇论文

(一)GFS: Google File System HDFS: Hadoop Distributed File System

1.分布式文件系统

分布式文件系统解决的问题:

问题1 存储硬盘不够大
问题2 单一的硬盘存储不够安全

在google的GFS这篇论文中提出通过数据冗余的方案来解决单一硬盘存储数数据不安全的问题,通过扩展硬盘集群来解决磁盘存储问题,在理论上分布式文件存储系统的存储能力是可以无限扩展的。

网盘系统就是一个分布式文件系统 (百度网盘)

对于HDFS来说有一个默认的数据块冗余度,它的数据冗余度默认是 3,代表同一个数据块会保存3份

HDFS 还有一个数据块的概念
在 1.X 中默认是64M
在 2.X 以上版本中默认是128M

在客户上传的过程中第一份数据通过客户上传来实现,通过水平复制来达到数据冗余的要求。

2 机架感知

机架感知基本思想
在这里插入图片描述

3.倒排索引 (Reverted Index)
  1. 什么是索引 (关系型数据库)
    索引的本事就是一个目录,通过目录找到数据从而提高查询效率
    通过索引可以找到对应的数据

    索引不一定可以提高查询效率

  2. 什么是倒排索引
    以如下文本数据为例:

    I love Beijing
    I love China
    Beijing is the capital of China

    我们有这样一个简单的需求,需要把上面的数据按单词存储下来,并且知道每个单词存在于那句话内

    实际上分析需求我们需要做的就是记录每个单词的位置信息,这个位置信息在HDFS中就称为倒排索引,下面我们来建立这个最简单的倒排索引。

在这里插入图片描述

以上就是我们通过分词来生成的一个简单的倒排索引,我们可以通过去重和排序来得到一个更好的倒排索引

在这里插入图片描述

通过这个优化后的倒排索引,我们就可以更效率的获取单词的位置信息

(二) MapReduce:分布计算模型,问题来源是:PageRank(网页排名)

(三) BigTable:大表 --> NoSQL数据库:HBase


未完 by sure

猜你喜欢

转载自blog.csdn.net/qq_33520945/article/details/85251557