数据仓库,英文名为Data Warehouse(简写DW或DWH),他是为企业所有级别的决策制定过程给予所有类型数据支持的战略集合。这样的专业解析多少有些晦涩难懂了。其实就我看来,数仓的建设目的就是对企业数据进行统一的“存”、“管”、“用”。

存——多源头业务数据的采集、整合、汇总,形成数据仓库。
管——对数据仓库中汇集的数据进行清洗、转换、分层管理及ETL调度管理。
用——面向报表平台给予数据,进行可视化展示。
数据仓库建设示意图
然而,数仓项目的实际建设过程并不是一帆风顺的,经常遇到的问题如下:
1、数据源混乱,职责不清,业务系统各自为政,已形成严重数据壁垒;
2、研发规范不一,模型管理混乱,难以理清现有数据字典;
3、维表管理混乱,相同
数据分析指标不一,导致数模型无法复用;
4、业务系统数据库类型多样,产品功能不全,难以支撑多类型数据库之间的数据传输;
5、缺乏ETL执行监控、实时
数据采集监控,存在部分数据黑盒。
如何解决以上问题,搭建企业级共享型数仓呢?这里给出以下几点建议:
第一、接管ODS层,实行源头管控
ODS层是各业务系统数据接入数仓平台的第一层,需要把原先分散、杂乱的数据统一到数仓平台,提高高共享、可复用的数据模型。因此,数仓建设团队必须理清职责,从源头进行把控,不可将ODS层交由业务系统自行维护。同时,ODS层的数据必须与业务系统数据源的表结构、记录数保持一致,做到高度无损。
第二、理清数据分层,划分主题域
传统数据要求对数据进行分层,一般分为ODS层、DWD层、DWS层、ADS层;数据建设团队要严格区分各层职责,将数据分层处理。划分数仓层级后,仍需要对不同层级按照业务过程划分主题域,方便数据管理维护。例如:针对仓储管理的入库、出库、发货、验收等业务流程进行主题域划分,可大致分为:商品域、会员域、供应链域、物流域、交易域、售后域、促销域等。
第三、构建一致性维度,提高分析准确度
针对不同数据源采集的业务表,往往会顺带采集其依赖的维表;但数据仓库在进行数据汇总时,会发现很多维表是具有通用性的,需要针对不同业务表,构建一致性维度。将公共维度属于与特有维度属性拆分、将频繁更新维与缓慢变化维进行区分,构建不同的维表。
第四、整合事实表,提高模型复用率
事实表整合遵循的最基本的⼀个原则是,统计粒度必须保持⼀致,不同统计粒度的数据不能出现在同⼀个事实表中。还需要考虑数据源存在脏数据的情况,在数据整合过程中,需要对脏数据进行清洗、转换,生成可用于分析的事实表。另外,还需要注意数据库表的命名规范,一般维表可采用“dim_主题域_描述_分表规则”⽅式命名,事实表可采用“层次_主题_⼦主题_内容描述_分表规则”的方式命名。
第五、构建实时数据传输监控,提高数据传输透明度
实时产生的数据,是需要实时传输、实时分析的;如果仍然按照传统数据的凌晨跑批模式,必将存在数据延时,影响分析决策。设计实时ETL,需要强大的产品支撑,需要产品支持Kafka、实时计算引擎等实时数据处理技术。
第六、统一调度管理,解决运维难题
数仓建设过程必然伴随这大量的ETL任务产出,单一的自动调度难以满足运维人员的需求。需要统一的调度管理,实现多种调度触发机制;多维度的调度监控及异常预警,协助运维人员及时处理ETL任务执行过程中的异常情况。
优秀的数仓项目能够整合企业所有业务数据,打通企业数据壁垒;实现业务系统汇总、集成、形成数据对接良性循环;实现自动化数据传输,降低管理成本;对接
报表系统,给予数据决策支撑;而优秀的数仓项目离不开优秀的产品支撑,亿信数据工厂,一个平台,解决所有数仓难题。
支持按照主题域、业务过程、分层的⽅式管理所有的数仓模型
丰富的ETL组件,满足数仓搭建过程中的各种数据处理场景
支持实时数据处理组件,实现实时数据传输
统一调度管理,支持定时、触发、实时任务调度
支持调度任务监控预警,实现调度任务全方位监控
亿信数据工厂是一款面向数仓实施的自主研发的软件工具,集数据建模与ETL设计于一体,内置新型的混合计算引擎,支持广泛的数据源,可为政府或企业给予更快捷、更高效、更安全的数据集成解决方案。
(部分内容来源网络,如有侵权请联系删除)