1、简介
诞生原因:历史数据积存+企业分析数据需要(统一,不用建立多个数据抽取系统而且可以保证数据的一致性)
data warehose DW
数据集合(面向主题,集成,非易失,时变性)
不允许修改
数据库 | 数据仓库 |
---|---|
OLTP 在线事务处理 随机读取 注重冗余,范式规范 基于ER模型,面向应用 GB-TB |
OLAP 在线分析 批量读写 注重数据整合,引入冗余,反范式 基于星形/雪花,面向主题 >=TB |
传统数据仓库 | 大数据数据仓库 | |
---|---|---|
定义 | 多个关系型数据库组成MPP集群(大规模并行处理),一个数据多个节点,结果是汇总 | 分布式SQL引擎(SQL向大数据的转换)-大数据计算引擎-分布式文件系统 |
优缺点 | 扩展性有限: 需要用到数据交换,要用高速网络,限制节点上线 分库分表也存在上限,力度越细,性能越差 热点问题: 如果高频访问数据只存在了一个节点,会容易出问题 |
可扩展:文件系统,把结构数据变成文件,很粗犷,不细分,利于扩展性 解决热点:对数据进行备份,备份三份,分发任务的时候可以选择一个空闲的数据节点。 问题在于SQL支持率较低,缺少事务支持,数据量较小的时候慢。 |
两个架构区别 | 单机数据库节点组成集群 非共享,每个节点有独立的磁盘存储和内存系统,不关心其他节点。但是只能作为一个整体去提供服务。 通过专用网络连接,速度很快。架构上遵从数据一致性(C)事务、然后A可用性、然后P分区容错性。 所以更注重锁、事务啥的。太精细了,只适合中等的。 缺陷:数据存储不透明,分配的时候用的是HASH,但是查询时候所有节点都进行。扩展性问题,单个节点一定成为系统的短板。随着集群增大,节点故障率会越来越高。 |
也称为批处理、Hadoop 场地自治,可以单独运行局部应用。数据是共享的。计算的时候,访问公共存储系统,找到位置。 通过局域网、广域网,所以在运算的时候要减少数据移动。 优先考虑P(分区容错性)、A可用性、C一致性。(数据存在多个节点上,备份。) 这两个合起来: 数据存储采用分布式架构中的公共存储,提高分区容错性,但是上层用MPP,减少运算延迟 |
常见产品 | oracle:单个集群只能支持100左右,适合数据量不大的场景 DB2:半身是mpp架构,并不占优势。 teradata:商业数据库,一体机,自带数据引擎和查询 greeplum:开源。学习资料多。稳定性。易用性,性能比teradata差 |
hive:SQL转成MapReduce,也支持转spark。海量数据 hql sparkSQL: |