大数据-维度建模-数据域划分

目的

在数据仓库的建设过程中,当我们确定了数仓的层级后,接踵而来的就是设定数据模型的分类,也就是数据域。

数据域

数据域的设定能够帮助我们管理数据模型,并支撑未来的数据模型创建,合理的数据域划分能够帮助我们提升数据查询的效率,同时尽可能减少数据冗余,重复建设的问题,可以说数据域的设定是数据模型设计的基底。
经常看到互联网公司比如阿里,设计了一系列的数据域,比如说交易域,商品域,看上去非常有道理,但是如何建设一个符合MECE的数据域体系,今天我们一起来学习一下。

基础概念

首先,哪些概念的集合可以形成一个数据域,无非是人、场景和物品。人是行为的发起方,比如客户,场景是行为本身,比如交易,物品是行为的接受方,比如商品。拿电商场景来说,最核心的一个业务流程就是客户购买了XX商品,那么在这个业务中,我们就可以构建
用户域用以管理用户相关的数据,

构建购买域用以管理和购买相关的数据,

构建商品域用以管理和商品相关的数据。

构建步骤

以上是从概念层面介绍了哪些内容可以聚合形成一个数据域,接下来我们看看划分数据域的具体步骤,
1)业务系统功能模块梳理;
2)业务动作梳理;
3)业务过程设计;
4)抽象数据域。
下面我们具体来看。

首先,为什么是先梳理业务系统功能模块,而不是先做用户调研?因为业务调研通常能够获得的是主线业务流程,而低频的、甚至于异常的业务流程无法通过几次调研清晰获得。这个时候,为了建设起比较全面的调研框架,我们需要基于已经沉淀的业务系统,来设计调研过程。理论上来说,一个业务系统中所有功能模块肯定都是业务运行过程中需要使用的,或者历史上需要使用的。而且比较好的功能模块设计天然的就能够让我们串期整个主线流程,比如说商品管理,交易管理,每个模块下支持些什么功能先梳理清楚。通过功能模块,先立起骨架,这是这一步的核心。

第二步,业务动作的梳理。有了功能模块之后,接下来就要像这些功能模块的使用人员,了解他们日常需要使用哪些功能,比方说运营人员每天要进行商品的上架,下架,

那么这些就是业务人员每天会发生的业务动作,是数仓优先需要度量,需要量化的数据,以保存整个业务运行的过程。在这一层面,主要的目标就是通盘了解为了维持正常的业务运行,有哪些人需要开展哪些活动,其中活动的粒度要到最细不可拆分的粒度,使得我们能够串联起整个业务运行的全景图。

第三步,业务过程的设计。当我们有了全流程的业务动作后,还没有完成调研过程,还需要了解的是业务方期望了解哪些信息,因为有些信息是多个业务动作的集合,比如留存,有些业务过程可能是一个事件的状态,比如说当年新注册用户数,这些数据需要我们根据对业务方的痛点调研后获取,然后和前一步我们得到的业务动作一起,汇聚成我们最终的业务过程。那么在这些过程中,我们有最细粒度的业务动作,有业务动作的组合,还有业务动作发生后的状态,以此构成了我们全部需要记录的信息。

第四步、数据域设计。最终,我们需要把所有的业务过程进行聚类,形成我们的数据域。一方面,我们要将概念接近,访问关联度高的业务过程放在一类,充分的高内聚低耦合;另一方面,我们要按照人、场景、物的思维抽象数据域,形成我们最终的数据域和相关业务过程。

数据域的构建是一个充满艺术的设计过程,基于以上步骤相信各位都能够开展并且完成数据域的建设。但是数据域的划分没有完美的状态,只有不断接近于完美,在实践过程中以螺旋递进的方式进行优化,而这个依赖于数据产品经理不断地思考和实践。

THE END