数据仓库学习

数仓学习(入门篇_1)

1、什么是数仓

数仓,全称为数据仓库,英文名称为Data Warehouse(简称DW),本质上就是一个存储了各种数据的数据库。数据仓库更多代表的是一种对数据的管理和使用的方式,它是一整套包括了ETL、调度、建模在内的完整的理论体系。在物理体现上,它包含数据库、ETL工具两大主要部分。
数仓可以根据底层技术简单区分为传统数据仓库(使用MySQL/oracle/Microsoft SQLserver)、MPP架构数据仓库(例如Greenplum、Vertica等等)、大数据平台(TDH、CDH、kylin)。
本文所指数据仓库均概指常见的、以MySQL/oracle/Microsoft SQLserver作为数据库载体、以Kettle/Datastage/Informatica作为ETL工具、以维度建模(星型模型/雪花型模型)作为数据仓库建模基础的数据仓库。

2、数仓是干什么的

简单来说就是展示数据。我们把从客户的业务系统抽取来的数据进行清洗,汇总、分类,等一系列手段处理完成之后存储到数仓中,便于后面做报表、大屏、驾驶舱使用。
另外,数据仓库存在的意义、设计数仓的意义可以自行百度学习

3、数仓的数据怎么来

数仓,无非就是读取各业务系统数据,汇总数据至数据仓库数据库内,再进行处理。这就涉及到两个问题:从哪取数、如何取数?

3.1 数据源

数据仓库数据源一般主要为ERP、财务系统、OA、WMS、CRM、HR等各种业务系统,但是在实际项目中,客户难免会提出业务系统内数据不准确需调整(财务系统居多)、业务数据不完整等情况,这就需要我们利用FineReport进行数据录入,让客户利用填报功能,将数据录入数据仓库ODS层或DW层。
此外,对于一些较为固定、不需要维护的数据,从节约工作量的角度出发,可以引导客户提供excel或其他文件,放至指定位置,由kettle自动读取入库,减少填报报表开发工作量。

3.2 取数方式

与数据源想对应的便是取数方式,即客户如果将业务系统数据提供给数据仓库,常见有以下几种:直接读取数据库、读取数据库视图、webservice接口、Web API接口、SAP RFC接口、文件直接取数等。对于以上几种取数形式,kettle均能直接支持取数。
webservice接口、Web API接口、SAP RFC接口三种接口取数形式比较特殊,需要先由客户按照我们的数据需求进行开发相应的接口,并告知接口读取和返回值的规则,以便我们读取数据。

3.3 客户支撑力度

在取数的过程中,涉及到的一个很重要的问题便是,客户到底能给我们提供多大的数据支撑力度。这将直接影响到我们的开发工作量和开发难度。
我们可以简单地将客户支撑力度从大到小排为:
依据需求提供结果视图》依据需求告知表间关联关系》提供数据字典,知道主要数据关系》提供数据字典,但不知道数据关系》不能提供数据字典。

其实建立数仓最难的是如何从客户的业务系统取到我们所需要的数据,这个过程中需要分析客户的的业务需求、业务逻辑、客户业务数据所能支持的力度、等等,都需要在设计数仓之前完成。
参考资料:
(1)维度建模指南

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值