数据仓库是面向主题(数据综合、归类并进行分析利用的抽象)的应用。
数据仓库模型设计除横向的分层外,通常也需要根据业务情况进行纵向划分数据域。数据域是联系较为紧密的数据主题的集合,通常是根据业务类别、数据来源、数据用途等多个维度,对企业的业务数据进行的区域划分,将同类型数据存放在一起,便于快速查找需要的内容。
不同使用目的数据,分类标准不同。例如,电商行业通常分为交易域、会员域、商品域等。
什么是数据域?
数据域是对数据的领域划分,这种划分使得数据域在一个大的上下文中形成一个较为明显的边界。这种划分的依据或者角度是不同的,比如可以从业务的角度,也可以从数据治理的角度等。但这些角度本质可能是互通的,因为最终的结果和目的可能是相同的。
另外我们常听到的关于数据域就是领域建模、领域驱动设计。其理论是一样的,只是上下文粒度、边界发生了改变。
下面从企业的业务和数据管理的角度对企业的数据域进行划分:
客户
产品
销售
…
以上的数据域之间存在关联关系,事实上也反映一定的流程。
下面我们从金融行业的角度对数据域进行划分:
主体
品种
交易
…
在数据域的基础上,我们通常会划分子域。这些子域一般由某一个特定的业务流程或环节所定义,也有可能是两个数据域之间的关系所定义。当然有些子域会上升到域的层级进行管理,如订单、合同。当然不同行业、不同企业对数据域和子域的划分是不同的。
为什么要划分数据域?
系统设计:每个行业、企业都会有数据域的划分,有一些行业已经成为规范,用于指导行业的系统建设。
数据管理和治理:帮助企业进行数据管理和治理,形成企业自身的数据资产,如主数据、主题域的划分。
数据架构:有一些规模较大的企业也形成了自己的数据域划分,这有利于企业内部的系统设计和架构(数据中台、数仓等)。
模型设计:领域建模。
数据解耦:系统的设计不仅要从功能上解耦,也要从数据上解耦。
微服务架构:对于微服务得架构,我们更多的是从业务或应用上进行划分,数据上的解耦也为我们对微服务得设计提供了一种思路或验证。
数据域划分原则:全局性、可理解性和数量适中。
作者:PM产品笔记
链接:https://www.jianshu.com/p/6c7e1b2b2714
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
数据域(Domain)、数据类型(Data Type)及数据标准概念
常常听到大家对数据域(Domain)、数据类型(Data Type)及数据标准概念的混淆。
特以此文将这几个概念详细讨论一下。
为了更好的帮助大家理解数据域、数据模型、元数据之间的关系,首先我们以图示来表达它们之间的关系:
数据域(Domain)也称值域。域是用来描述一个字段的技术属性的集合,包括数据类型,数据长度,小数点位数以及取值范围等。具有以上技术属性相同定义的字段可以包含进一个域,而当域的属性定义发生改变时,所有引用它的字段的属性都会对应进行提示。
数据标准
数据标准通常包括技术属性、业务属性与管理属性。数据域对应的是其中的技术属性部分。
通过落标数据标准到数据模型,之后将数据模型由逻辑模型派生到物理模型,最终落地到数据库schema。
定义数据域,可以实现多个实体的属性共享,这在模型设计中非常重要。
以“国家”数据域的定义为例:“居住地”、“出生地”、“国籍”三个实体中都有“国家”属性,我们就可以定义一个“国家”域,分别附加到三个实体中。这样,修改域的同时,使用域的实体的相关属性也会随之更新。
数据域的操作
定义“国家”数据域的技术属性:数据类型、长度、精度、非空。
定义“国家”数据域的标准代码值:
数据域的应用场景
应用数据域到数据模型的实体属性
在设计数据模型添加属性的类型和取值范围、约束条件时,对于相同类型的属性,不需要逐个去设置相同的取值范围、约束条件等。只需把该类型的定义在数据域(数据标准)中,添加实体属性时,填写关键词,并选择联想的数据标准,则该字段的类型、约束等将自动应用为该域的设定值。
如下图所示,从关键词联想的下拉列表中选择一个数据标准:
多个字段引用同一个数据域:
建设数据域的经验分享
01数据域的量够不够
完成基本的覆盖度即可启动
建立上下互动,让数据域生长起来
建立贡献激励制度
02使用数据建模工具提高开发效率
拖拉拽的方式用数据标准组装模型,根据输入智能推荐数据标准,批量智能匹配数据标准
检索模型库快速定位高质量模型及关联库表,可直接应用到自己的模型设计
一致性验证及应用
03核标验标,形成闭环
对几千上万张表的划分(一种思路)
有几点需要注意的地方
1.不重不漏,确保每个表都在一个域里,且只在一个域里(精确定位)
2.每个域下都可以根据需要再分子域,不限定层级(最自由方便)
3.如果分子域就不能放表,表只放在最底层的域中(树状目录管理时更方便)
4.最好保证每个域下的子域数量或表数量在20个左右(太多了不方便记忆管理,太少了没必要划分)
5.【其他】很好用,不好划分的都放里面(减少域层级数量有理由理解记忆)
6.数据团队分域可以作为分工的标准(数据不重、分工明确、界限清晰)
7.数据团队分域后,可以决定域内表的中间命名(看到表名时可以理解更多信息)