网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
主题设计是对主题域进一步分解,细化的过程。主题域下面可以有多个主题,主题还可以划分成更多的子主题,而实体则是不可划分的最小单位。主题域、主题、实体的关系如下图所示:
可以显而易见的看出,主题域是一个更大的概念,主题是略次之,实体最小,这里的实体表示的是实体对象(对应企业中某一宏观分析领域所涉及的分析对象)。
主题域划分
主题域是对某个主题进行分析后确定的主题的边界。分析主题域,确定要装载到数据仓库的主题是信息打包技术的第一步。而在进行数据仓库设计时,一般是一次先建立一个主题或企业全部主题中的一部分,因此在大多数数据仓库的设计过程中都有一个主题域的选择过程。
确定主题边界实际上需要进一步理解业务关系,因此在确定整个分析主题后,还需要对这些主题进行初步的细化才便于获取每一个主题应该具有的边界。对于四个主题及其在企业中的业务关系可以确定边界。
主题的使用
由于数据仓库的设计是一个螺旋发展的过程。在刚开始,没有必要在数据仓库的数据库中体现所有的主题,选择最重要的主题作为数据仓库设计的试金石是很有必要的。因此使用主题首先是找到需要分析的主题域。
例如在 AdventureWorks DW 数据仓库的概念模型设计中,在对需求进行分析后,认识到“商品”主题既是一个销售型企业最基本的业务对象,又是进行决策分析的最主要领域,因而把“销售分析”主题域定义为要首先建立的主题。通过“商品”主题的建立,经营者就可以对整个企业的经营状况有较全面的了解。先实施“商品”主题可以尽快地满足企业管理人员建立数据仓库的最初要求,所以先选定“商品”主题进行实施。
通过将主题边界的划分应用到已经得到的关系模型上还能形成原始的概念模型。这一模型是把主题域的划分和事务处理数据库中的表结合起来的模型,例如在上面的例子中,商品主题可能涵盖的关系表有商品表、供应关系表、购买关系表和仓储关系表;仓库主题可能涵盖的关系表有仓库关系表、仓库表、仓库管理关系表和管理员表。
数据域
数据域是指面向业务分析,将业务过程或者维度进行抽象的集合。为保障整个体系的生命力,数据域需要抽象提炼,并长期维护更新。
在划分数据域时,既能涵盖当前所有的业务需求,又能让新业务在进入时可以被包含进已有的数据域或扩展新的数据域。数据域的划分工作可以在业务调研之后进行,需要分析各个业务模块中有哪些业务活动。
数据域是 CDM 层的顶层划分,是对企业业务的抽象提炼,面向业务分析,包含当前所有业务需求,也便于未来扩展。
数据域的使用
数据域可以按照用户企业的部门划分,也可以按照业务过程或者业务板块中的功能模块进行划分。例如在线教育公司可以划分为如下数据域,数据域中每一部分都是实际业务过程经过归纳抽象之后得出的。
数据域和主题域到底有什么区别呢?
主题域是针对数据集市提出的概念,数据集市是面向主题,从业务驱动进行分析场景的建设。
数据域是阿里数据中台 CDM 层建设中提出的,是数据驱动业务,是对数据的分类,更好的数据赋能业务。
总结
数据域是对数据的分类,主题域和业务域是对业务的分类。
主题域和数据域最终都是对数据的分类,只是一个是数据视角,一个是业务视角。
根本的目的是:统一规则,方便管理,容易理解,有利于开发效率,有利于快速服务业务场景就可以了。
Tips
个人建议,在 DWD 层可以按照数据域进行分类,DWS 层可以按照主题域划分,ADS 层可以按照分析主题域(业务场景)划分。
数据域划分几点需要注意的地方
1.不重不漏,确保每个表都在一个域里,且只在一个域里(精确定位)
2.每个域下都可以根据需要再分子域,不限定层级(最自由方便)
3.如果分子域就不能放表,表只放在最底层的域中(树状目录管理时更方便)
4.最好保证每个域下的子域数量或表数量在20个左右(太多了不方便记忆管理,太少了没必要划分)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
57acb)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!