数仓基本知识

数仓基本知识

概要

以下描述包含我对整个数仓及其概念的简化提炼。适合新手了解相关概念,快速上手,老鸟请绕过。

业界为什么要用“数仓”?

说起数仓,业界为什么要开发数仓的技术?我们有mysql数据库,mongo数据库,业界为什么要推出个”数仓”的技术?

因为存储,因为查询。

存储: mysql在阿里开500G磁盘空间就将近4w块钱一个月,而且已经达到最大值,如果我们要100个T数据(1T=1024G),我们还能用mysql数据库吗?不能,怎么办?” 数仓!“

查询: 众所周知mysql在单表处理上亿的数据,可以近实时响应,那么多表关联+上百亿数据呢? mysql还能高效的查询数据吗?不能,怎么办? “数仓”

数仓为什么这么神奇?又可以解决存储问题,又可以解决查询问题?

存储问题: 数仓数据基于HDFS(分布式文件系统),分布式?不要被这个名词下到,其实简单的理解就是,hdfs把一个完整的数据集存到多个节点上(多个机器,多个磁盘)。磁盘不够我们可以无限加磁盘,所以数仓的存储上限可以达到PB级别(1P=1024T=1024*1024G),甚至更高。

DEMO:

在这里插入图片描述

查询问题: 数仓基于Map-Reduce(分布式查询),这其实是算法中”问题分解的思想“,把大的问题化成小问题,把每个小问题解决,大问题自然迎刃而解。
mysql的大问题,大数据量+复杂业务查询慢 => 分解小问题 => 把大数据量分解成一个个小数据量,把每个程序处理应用于每个小数据量,再汇总结果.

数仓的定义

数仓,大家广义的理解就是hadoop生态。
hadoop是什么? 简单理解 hadoop = hive + hbase + 一系列依赖hive和hbase的套件(presto,phoenix等)

我们常听到的dataworks是什么? dataworks 就是hadoop,准确的来说dataworks基于hadoop(业界公认且唯一的基本上只有hadoop,所以阿里也没得选),在hadoop上爆改的一个生态。爆改了名字,阿里才好卖产品。maxcompute = hive , hologress = presto(facebook出产)

数仓衍射出来的技术

hive: mysql分布式加强版

hbase: mysql分布式加强版 + 列式存储底层数据结构

spark: 分布式查询的一个技术(组件),支持python,java。

presto: 基于hive的一个技术(组件),加速hive的查询。

Ali maxComputer : 交互式分析,阿里自己魔改的(hive + spark)

Ali hologress: : 阿里自己魔改的presto,阿里云自研开发的HSAP(Hybrid Serving/Analytical Processing)服务/分析一体化系统 ,融合了实时服务和分析大数据的场景,可以当presto+mysql用,因为基于postgresql数据库研发.

Ali Oss: 阿里的对象存储技术,其实简单理解就是个远程磁盘,可以把结构化的数据以文件的形式进行存储。

Nifi: 属于ETL技术(Extract-Transform-Load),其实就是控制数据流流动的组件,是一种比如 “小明” -> “李小明”,“小红” -> “李小红” 等常见实时流标准处理的套件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值