近日,2022年个推TechDay“治数训练营”系列直播课第一期圆满举办。个推资深大数据研发工程师为大家深入浅出地介绍了数据仓库的前世今生以及数据建模的常用方法。
本文对“治数训练营”第一期《数据仓库与维度建模》的干货内容进行了总结,同时也挑选了直播间的精彩提问做了Q&A梳理,带大家一起回顾首期课程。
直播间Q&A精选
Q:什么样的数据仓库才算建设得比较完善?
A:数据仓库主要是为数据分析服务。一个完善的数仓首先要满足企业对业务分析的需求。
数仓的建设是一个不断迭代和优化的过程,需要从成本、性能、效率等方面综合考虑,以寻求平衡。一般来讲,在企业业务稳定发展阶段,我们的工作主要以维护现有数仓为主,同时做一些完善优化的工作;对于业务迭代比较快的企业,针对一些探索类的业务分析需求,我们需要对数仓进行新的开发投入。
Q:在数仓设计中,需求方的分析粒度会随着时间和人员的理解以及需求的变化发生很大的变化,如何在数仓建设初期尽可能考虑到这个问题?
A:这就需要数仓建设团队在前期就做好需求调研、业务调研、数据调研等工作。
使用维度建模的情况下,我们要严格遵循事实表的设计原则,在声明粒度时,要尽量选择最新的粒度,并且保留尽可能多的数据维度信息,确保事实表有最大的灵活性。
Q:针对缓慢变化维的问题,是否可以将维度表变成拉链表来解决呢?
A:拉链表也是常用的解决思路,属于插入新行的解决方法,与直播中讲到的插入新行的例子很类似。
不同的是,我们直播中举例的是“商品key”代理主键作为关联事实表的字段,所以可以通过修改“商品key”实现维度变化的处理;而拉链表是通过不修改关联字段,直接在表中增加两个字段start、end来标记数据行的有效时间,在使用时需要先筛选有效的数据行。
相对来说,修改代理主键的方法比较好理解,也更方便用户使用。
Q:数据指标方面,在存在多个业务部门的情况下,如何将相同或者近似名称的指标做统一管理?当出现名称相同但定义不同的指标时,如何处理?
A:该问题涉及到数仓建设规范中的指标命名规范设计,可以在指标命名中避免该问题,比如在命名时增加部门维度等。另外,在我们“治数训练营”的后续课程中也会有相应的内容介绍,敬请期待。
推荐书目
当一个公司在战略上决定做云计算和大数据服务后,如何将该战略进行逐步分解,最终落地实施?这其中涉及技术构建、运营管理、组织能力建设等一系列活动,有哪些方法论和实践可供借鉴?相信本书能给您带来灵感!
关注个推技术实践微信公众号,后台回复“数仓”,获取本期直播课件~