1、为什么要建设数据仓库?

为了更快更好的响应业务上的分析需求。

传统数据库是操作型数据库,数据仓库是分析型数据库

1.1、数据仓库建设方法?

建设流程:梳理业务主题--》ER图(ER模型)--》逻辑建模(关系模型)。其中,数据仓库建设过程即ER图到关系模型的实现过程,数仓模型也属于关系模型中的一种,只是在此基础上需要考虑几个问题:

1)哪些维度对分析主题有用?

2)如何使用当前数据建设维表?

3)用什么指标度量主题?

4)如何使用当前数据建设事实表?

 1.2、什么要设计数据分层?

1)数据结构更清晰

2)开发过程更明了

3)级联关系更明确、口径更统一

4)复杂问题标准化

1.3、数据层级有哪些?

数据源--》数据缓冲层--》数据明细层--》数据中间层--》数据分析层--》数据应用层,越往上层,聚合程度越高。

1)数据缓冲层:从数据源中接入并ETL抽取出来的数据

2)数据明细层:将数据缓冲层按照维度抽离、主题抽取形成的事实表,粒度一般在秒级以下

3)数据中间层:常用维度的轻度汇总表,保留了通用维度

4)数据分析层:为主题服务的主题宽表,仅保留1~2个能反映主题的维度

5)数据应用层:制作报表的上层汇总表,粒度一般在天级以上

1.4、数据仓库建设时,如何设计数据体系?

设计流程:梳理业务--》提炼主题--》提炼维度--》提炼事件、提炼度量--》思考公共维表设计--》思考主题事实表设计--》思考多维分析表设计

 

2、为什么要做元数据管理?

为了更好的管理不同层级数据表的属性,以及其间的关联关系、父子关系,以实现快速追溯、核查。

 

3、为什么要做数据质量管理?

为了保证数据的完整性、准确性、一致性、及时性。一旦数据质量出现问题,任何用数据作支撑的业务分析都是无价值的。

3.1、数据质量管理哪些方面?

1)完整性:缺失值,记录的缺失或者字段值的缺失,通常在数据接入层

2)准确性:异常值,数据记录中是否存在异常值或错误值,通常在数据清洗层

3)一致性:口径统一,各个指标在不同层不同表的统计口径是否保持一致,通常在数据清洗层

4)及时性:响应时间,数据结果能否及时输出给到服务方,通常在数据结果层

3.2、数据质量管理办法?

异常监测规则--》异常告警--》反馈处理

异常监测:完整性 - 一般监测表的数据量波动情况;准确性 - 一般监测通用维度下的数据量波动情况;一致性 - 比较不同表出处的指标大小;及时性 - 统计各表输出结果的运行时间(算法监控设计)

异常告警:设定告警的可用规则,配置相应的告警。

反馈处理:可以对告警进行标记,可以对告警进行处理