企业该选择什么架构建立数据仓库(Oracle、mpp、hadoop三种数据库的区别)

目前做数据仓库的基本都是采用Oracle、mpp、hadoop这三种方案比较多,mpp数据库主要有teradata和greenplum。hadoop其实是一个体系,严格意义上不能说是数据仓库。

根据我的理解,主要从以下多个方面对此进行区别。

1、架构:

Oracle,Teradata,Greenplum,PostgresSQL都是关系数据库。但是,Teradata,Greenplum,PostgresSQL主要强调是大规模并行处理数据库。它们没有共享架构,也没有单点故障。Oracle数据库具有共享的架构。如下图。

企业该选择什么架构建立数据仓库(Oracle、mpp、hadoop三种数据库的区别)_第1张图片

MPP数据库与Hadoop有何不同?Hadoop也是一个MPP平台,主要通过hive和spark来实现数据仓库。MPP数据库用于结构化数据,而Hadoop可用于存储结构化或非结构化数据。

企业该选择什么架构建立数据仓库(Oracle、mpp、hadoop三种数据库的区别)_第2张图片


2、运维和运行稳定性

从运维角度上,Oracle肯定是最简单的,稳定性也是最好的。

其他两个你必须有专业运维团队(或专业运维人员),否则根本玩不转。

3、使用的难度

A、Oracle最简单

B、Mpp主要还是通过jdbc连接,但是除了分区,还有分布键、重分布的知识点

C、Hadoop除了jdbc连接,还可以编程,所以为什么很多人说大数据就说hadoop其实是有道理的,因为它能够通过编程的方式灵活实现各种科学计算,同时也是使用难度最大的。Oracle和mpp使用过程中都没有多少参数需要调整,但是hive或者spark参数非常多,根据每一个语句都可以设定特定参数,而且版本之间还有差异,要想理解这些参数必须懂得原理,导致了学习曲线明显上升。而且还有mapreduce的特殊性,要想用好hadoop做数据仓库或大数据计算必须下一番功夫,更不用说继续做机器学习了。

4、我们为什么要建数据仓库:

我们先来看百度百科对数据仓库的定义:数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。

也就是说数据仓库最终目的是为企业管理分析决策用的,必然涉及到大量的分析计算,充分发挥数据价值。如果你的数据仓库只是当历史仓库来用了,其实是价值没有发挥出来。

结论:

那企业到底应该采用什么架构来建立数据仓库呢?并不是越先进越高端就越好,我觉得关键还是看你能否学好用好,以及需求和自身能力。

1、看你们有多少数据量,如果只是很小数据量(小几十T),以及计算量不大,计算时间能够满足时间窗口的,对未来扩展性没有需求的,用Oracle其实也无妨,毕竟维护简单,使用简单。

2、数据量有几十个T的,计算量大的,并且都是关系型数据的,可以考虑mpp,它的稳定性不会比hadoop好,但是使用要比hadoop简单。

3、数据量如果很大(超过1个P),或者对扩展性有要求(例如hbase、流计算、机器学习等),或者还需要存储非结构化数据(例如日志、图片等),那可以考虑hadoop体系,知识内容太多,需要组建一个团队来专门运维、研究、学习hadoop,否则根本无法发挥hadoop对大数据支持的优势。

4、如果你非常急迫需要使用mpp或者hadoop,但是实在无力运维,其实也可以考虑云产品,成本不会比你自己采购贵,把运维交给专业团队。但是这种方式很多重点单位不一定能接受。

5、mpp和Hadoop体系架构不一样,中小企业数据量不是特别大,选择一种就可以了,减轻运维工作量,。

你可能感兴趣的:(企业该选择什么架构建立数据仓库(Oracle、mpp、hadoop三种数据库的区别))