大数据架构之端到端方案综述(3)数据仓储&Hive


1 数据仓库介绍

1.1 数据仓库简介

数据仓库是一个面向主题的、集成的、随时间变化的、但信息本身相对稳定的数据集合,主要针对来自多个数据源的历史数据进行细粒度、多维度的分析,输出用于企业的数据分析、数据挖掘、数据报表等方向,帮助管理者或业务分析人员做出商业战略决策。

 

数据仓库可概括为四个特点:

面向主题:数据仓库都是基于某个明确主题,仅需要与该主题相关的数据,其他的无关细节数据将被排除掉。不同于传统数据库对应某一个或多个项目,数据仓库根据使用者实际需求,将不同数据源的数据在一个较高的抽象层次上做整合,所有数据都围绕某一主题来组织。比如对于滴滴出行,“司机行为分析”就是一个主题,对于链家网,“成交分析”就是一个主题。

集成的:从不同的数据源采集数据到同一个数据源,此过程会有一些ETL操作 

随时间变化:关键数据隐式或显式的基于时间变化 

信息本身相对稳定:数据装入以后一般只进行查询操作,没有传统数据库的增删改操作。

在这解释下主题的概念,主题是根据分析的要求来确定的,这与按照数据处理或应用的要求来组织数据是不同的。如在生产企业中,同样是材料供应,在操作型数据库系统中,人们所关心的是怎样更方便和更快捷地进行材料供应的业务处理;而在进行分析处理时,人们就应该关心材料的不同采购渠道和材料供应是否及时,以及材料质量状况等。数据仓库面向在数据模型中已经定义好的公司的主要主题领域。典型的主题领域包括顾客、产品、订单和财务或是其他某项事务或活动。

1.2 数据仓库架构

数据采集层

参考我前面写的文章,大数据架构之端到端方案综述(1)数据采集。

数据存储与分析

以HDFS+MR的离线分析为主,参考我前面写的文章,大数据架构之端到端方案综述(2)数据处理。

数据共享

使用Hive、MR、Spark、SparkSQL分析和计算的结果,仍存储于HDFS,但大多业务和应用不能直接从HDFS获取数据,此时需要一个数据共享的地方,即关系型数据库如MySql或非关系型数据库NoSQL,使得各业务和产品能方便的获取数据。 

数据应用

报表:报表所使用的数据,一般是已经统计汇总好的,存放于数据共享层。

接口:接口的数据都是直接查询数据,从共享层获取。

即席查询:即席查询通常是现有的报表和数据共享层的数据并不能满足需求,需要从数据存储层HDFS直接查询,一般都是直接操作SQL获取。

在这解释下报表&接口,与即席查询的区别:

批处理

又称批处理脚本。在数据仓库系统中,根据应用程序的需求,需要对源数据进行加工,这些加工过程往往是固定的处理原则,这种情况下,可以把数据的增删改查SQL语句写成一个批处理脚本,由调度程序定时执行。

特点:由于批处理脚本中的SQL语句是固定的,所以可以提前完成SQL语句的调优工作,使得批处理脚本的运行效率达到最佳。

即席查询

在数据仓库领域有一个概念叫Ad hoc queries,中文一般翻译为“即席查询”。

即席查询(Ad Hoc)是用户根据自己的需求,灵活的选择查询条件,系统能够根据用户的选择生成返回响应的结果,例如返回用户自定义的统计报表。

特点:即席查询与批处理脚本/普通应用查询最大的不同是普通的应用查询是定制开发的(即查询语句是预先写好的,不会临时变化),而即席查询是由用户自定义查询条件的。

即席查询与普通查询从SQL语句上来说,并没有本质的差别。它们之间的差别在于,普通查询在系统设计和实施时是已知的,所有可以在系统实施时通过建立索引、分区等技术来优化这些查询,使这些查询的效率很高。而即席查询是用户在使用时临时生产的,无法人工预先优化这些查询,需要数据库内部实时自动优化,所以即席查询也是评估数据仓库的一个重要指标。在一个数据仓库系统中,即席查询使用的越多,对数据仓库的要求就越高,对数据模型的对称性的要求也越高。

1.3 数据仓库设计步骤

1、确定主题

主题与业务密切相关,所以设计数仓之前应当充分了解业务有哪些方面的需求,据此确定主题

2、确定量度

在确定了主题以后,我们将考虑要分析的技术指标,诸如年销售额之类。量度是要统计的指标,必须事先选择恰当,基于不同的量度将直接产生不同的决策结果。

3、确定数据粒度

考虑到量度的聚合程度不同,我们将采用“最小粒度原则”,即将量度的粒度设置到最小。例如,如果知道某些数据细分到天就好了,那么设置其粒度到天;但是如果不确定的话,就将粒度设置为最小,即毫秒级别的。

4、确定维度

设计各个维度的主键、层次、层级,尽量减少

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值