![db2f55364d408b65ead1653d4b86a4a0.png](https://i-blog.csdnimg.cn/blog_migrate/01b63750df5ea124223899b9736a21ed.jpeg)
新人一枚,着手数仓建设半年多,简单记录下工作中的想法总结。
一、数仓痛点
1、字段命名不规范,指标口径不统一,难以明确数据价值及应用。
2、重复建设问题严重,清洗规则、业务逻辑五花八门,无法复用且占用大量资源。
3、数据故障影响范围难以评估,且修复周期较长。
二、数仓建设
主题域划分
1、根据数据间的联系进行切割,做到同域高内聚,跨域低耦合。
2、一定程度上屏蔽跨域数据故障影响,且易于问题定位。
数仓分层
1、隔离业务系统和报表应用,通过中间层逻辑兼容,解决系统变更对上层应用的影响。
2、通过中间层建设,统一维度、指标,做到可解释,可复用。
3、明确每层数据价值及应用,提高工作效率,降低排障难度。
数仓建设大多采用维度建模,分层设计因人而异,一般有接入层、中间层、应用层,做到分层清晰、可解释、易复用即可。
维度建模
1、模型灵活,可通过增加维度,调整维表来适应业务变化及系统变更。
2、易于理解,通过维度、事实设计清晰感知到数据价值及应用场景。
对于修饰类型和维度简单理解:
修饰类型一般是来自于维度,如终端类型、页面类型、订单类型对应维度中的终端、页面及状态。修饰类型一般应用于修饰指标,维度则是标识数仓表的应用场景,在进行建模设计时如何选择?这涉及到列表及行表的选择。
行表
![904bbd846b82c557c5f2e2fdb980fb07.png](https://i-blog.csdnimg.cn/blog_migrate/272f2c767afc664a35fd7e268ba76992.png)
列表
![fe14adbf7df999c1d545557c253ddba4.png](https://i-blog.csdnimg.cn/blog_migrate/7400ed99d49802e0bbf91a0264afdffe.jpeg)
列表相较于行表往往冗余了较多的信息,在维度值少或指标较为重要的场景下,往往采用行表形式,以修饰类型来修饰指标,如成交单量,取消单量等,这时应直观的给出指标,而不应作为维度放入表的设计;对于一些维度值较多,如页面,则放入维度中较好。