原文链接:https://blog.csdn.net/weixin_42258472/article/details/109045759 博主:钱锋0519
数据域是什么?
第一次接触这个概念,是看《大数据之路-阿里巴巴大数据实践》的第九章。可里面对数据域的描述内容很少,在体系架构中却是个很重要的节点。
我能大概的想像出它是什么样子,但因为信息太少,根本不知道为什么会存在数据域这个东西,没有它会有什么问题?划分了数据域又能带来什么好处?
后来在实际工作中,慢慢的把数据域的划分当做数仓表分类来做,发现基于这样的定义,数据域还是很有价值的。
也许跟原本真实的含义差别很大,但解决了我们很多真实存在的问题。
数据仓库存在的时间越久,数据内容会越多。点我达表最多的时候,有5000多张。
想要在这么多表中,寻找到自己需要的内容太过困难。
记不住,找不到,难以使用,无法管理,维护困难。就像使用windows系统,所有的文件都在桌面一样。
域是区域的意思,有边界和范围。
数据域我理解是对数据进行一种类似地理区域划分的结果,不重不漏。
假设把数据仓库的表比作中国的村庄或城市街道,为了更好地管理,中国会划分为几十个省和直辖市,省划分十几个地级市,地级市再划分N个县或市这样。最终每一个村庄或街道这样的最小单位,都变成了某省某市某县的某村。
而某个具体的表也会变成某个业务下的某个子业务的某个模块的某个功能下的一部分。我只要记住少数类别,就可以迅速定位到最可能是我需要的数据的域里,快速找到我需要的内容。同类数据存放在一起,还有利于我的理解。
数据域划分就是对数据分类。而基于不同的目的,有不同的分类标准。
比如开发更倾向于基于数据来源的差异划分,相同功能模块的数据划分在一起。运营更倾向基于数据应用目的的差异划分,解决类似问题的数据划分在一起。
我觉得每个人都应该可以创建满足自己目的的数据域,来方便管理和查找数据。
数据域的划分有几点需要注意的地方
1.不重不漏,确保每个表都在一个域里,且只在一个域里(精确定位)
2.每个域下都可以根据需要再分子域,不限定层级(最自由方便)
3.如果分子域就不能放表,表只放在最底层的域中(树状目录管理时更方便)
4.最好保证每个域下的子域数量或表数量在20个左右(太多了不方便记忆管理,太少了没必要划分)
5.【其他】很好用,不好划分的都放里面(减少域层级数量有理由理解记忆)
6.数据团队分域可以作为分工的标准(数据不重、分工明确、界限清晰)
7.数据团队分域后,可以决定域内表的中间命名(看到表名时可以理解更多信息)
也许我没能真正理解并发挥数据域的作用,也许我对数据域的认识错的离谱。
但我想的却是照搬经典或权威的结果是最好的使用方式吗?人家为什么那么做?碰到了什么问题?有那些限制?有那些资源?如果这些都不了解拿来就用,这就是邯郸学步吧,还不如不用得好。
而我虽然拿了些皮毛,但能结合眼前的问题和现状,经过思考,提供了对问题解决有帮助的办法,也是当前较好的选择了。
国学有“六经注我”和“我注六经”的说法,我这算是六经注我了。