
搞数据仓库,你是不是也踩过这些坑?
把它当成大号数据库使劲塞数据,或者干脆当成BI的附属品。
结果呢?
投入不小,用起来却费劲,数据还是散乱一地,分析决策照样难!
数据仓库到底是什么?它真正的价值在哪?
今天,我们就来一次说清楚,抛开复杂的术语,带你真正搞懂数据仓库是什么以及如何搭建。
其实很多企业做数据仓库的时候,都忽略了数仓和BI、数据库的区别。
不少人就盯着底层数据折腾,不去做数据服务和应用。说白了,这就是把数据仓库搞狭义了。
实际上,数据仓库既不是BI的附属,也不是数据库的简单升级。
你可以这么想:
听着是不是很熟?很多公司的数据库就是这么用的。
但问题来了:
文件多了、种类杂了,想找某个文件,还得一个个柜子翻,这效率太低了,成本也高。
这时候就需要:一个档案室,给每个柜子编号、把文件归类分组,这样找起来就快多了。
这个档案室,就是数据仓库。它的核心不是存数据,而是让数据变得好查、好用。
但企业的数据来源往往不止一个数据库,所以需要数据仓库去抓取多个数据源的数据。这个抓取、整理、存进去的过程,就是大家常说的ETL(extract, transform, load)。这么理解企业的数据架构,是不是就清楚多了?

所以说到底,数据仓库的本质,就是:
简单来说,数据仓库的架构分四个层次:
存原始数据的地方,直接加载原始日志、数据,不做任何处理。
结构和数据颗粒度跟原始表保持一致,主要是对ODS层的数据做清洗,比如去掉重复的、纠正错误的。
以DWD层为基础,做轻度汇总。比如把每天的数据按周汇总一下,方便后续分析。
专门给各种统计报表提供数据,报表需要什么数据,这儿就准备什么数据。

数仓搭建过程中,数据编排能力很重要。
简单来说,就是:

这里有个关键点要注意:
数据仓库架构里,
各个系统的元数据会通过ETL同步到操作性数据仓库ODS里,然后对ODS层的数据按主题域建模,形成DW(也就是数据仓库的主体)。
而DM(数据集市)是针对某一个业务领域建的模型,最后决策层看的报表,就是从DM里生成的。
也就是说,我们平时看到的数据报表,不是直接从最底层数据里抽出来的。
举个例子:
你访问数据仓库的时候,就像让图书管理员帮你找资料,管理员不会让你自己进仓库翻,而是根据你的需求,从整理好的区域拿给你。
而怎么让这个“找资料”的过程更高效,就是数据仓库建设里很重要的工作——数据建模,包括数据怎么存、逻辑上怎么组织、核心概念怎么定义等等。

问题来了:
不同分厂用的信息系统可能是不同厂商的,这就导致数据仓库里的数据来源特别杂:
于是,数据结构、标准、流程流转方式都不一样。这就导致数据根本没法统一管理,参考价值就没了,等于白忙活一场。你是不是也遇到过这种情况?
这种时候,通常的解决办法就是:实现数据中心化、逻辑统一化。
具体来说:
就是从众多跨地域的业务系统里,

看到这里,可能有小伙伴好奇,数仓到底该怎么搭建呢?
搭建数据仓库不是拍脑袋就能成的,得一步一步来,每个环节都得考虑清楚。
我用过来人的经验告诉你,千万别上来就闷头建表、导数据,先把前期准备做扎实了,后面能少走很多弯路。
这是最开始,也是最关键的一步。
你得搞清楚:公司建这个数仓是为了啥?
很多人跳过这一步,最后建出来的数仓跟业务脱节,没人用,那不就白搭了吗?
具体要做的就是:
需求不明确,后面的架构设计、数据处理都会跑偏。
知道了要做什么,接下来就得看看数据从哪来。
公司里的数据一般都分散在各个地方:

梳理的时候,要记下来:
这些信息后面做ETL的时候都得用到。数据源梳理得越细越好,别漏了哪个系统,不然后面分析的时候发现少了关键数据,再回头补就麻烦了。
前面说过数仓架构分ODS、DWD、DWS、ADS这几层,由于篇幅限制,这里按ODS、DW、DM简单讲一下各层的编排逻辑:

说白了,建数据仓库不是追求技术高大上,而是要实实在在地解决问题。
它能帮你:
但搭建数仓是个循序渐进的过程,别想着一步到位。
可以先从最急迫的业务需求入手,比如先实现几个关键报表,一步步搭建(ODS->DWD->DWS->ADS),跑通流程,再慢慢扩展。
一个贴合业务、能快速响应的数据仓库,才是企业用好数据资产、帮助业务增长的关键一步。
现在,你对数据仓库的定位和价值,是不是更清晰了?
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。