前言
上周,产品架构群里一位老哥“郭同学”突然在群里发了一张这个图:
然后问:我在研究中台里说的数据地图到底长什么样子的,结果找来找去,就只能找到这个。是不是只有这种才叫数据地图?
这下可炸了锅了,一群数据产品经理纷纷过来,要给他上一课
为此,我特意开了一个数据产品的研讨会,专门给大家聊聊,什么叫“数据地图”。文末还有非常干的资料哦~~
数据地图在中台的位置
既然郭同学问的是数据中台中的数据地图,那就先得看看数据地图在数据中台处于什么位置。这里借用一下数澜的数据中台全景图:
注意看上图中间标红的位置,在数澜的数据中台架构中,数据地图处于数据资产治理部分。
资产管理具体负责什么呢?我们再看看数澜的这张图:数据资产化的具体内容是:数据规范定义、可视化数据建模、数据质量保障、全链路血缘分析、掌握资产现状和数据安全合规。
其中全链路血缘分析的作用是:“支持通过血缘分析、影响性分析,找出上下游表及若一张表更改之后对下游表的影响。通过数据链路图,用户能够清晰查看数据从哪里来,被用到哪里去。”
那能不能再具体一些?
数据地图是干啥的?
我们再看看京东的数据平台门户,其中也有数据地图,其位置是在元数据应用层,同级别的应用有:元数据体检、关联分析、影响分析、数据浏览、血缘分析和数据检索。
很明显,数据地图是给使用数据的同学使用的,甚至是只给数据开发的同学使用的。
其核心功能是用来找数据的。
我们再翻到亚信科技的数据事业部总经理高伟写的《数据资产管理》一书中,第三章“治理管控:数据资产管理的基础所在”,第六节“建立数据地图,盘活数据资产”,里面写的很清楚:
数据地图是一种图形化的数据资产管理工具,它提供了多层次的图形化展示,并具备各种力度控制能力,满足业务使用、数据管理、开发运维不同应用场景的图形查询和辅助分析需求。
主要解答几个问题:
数据是什么?数据在哪里?数据如何取?数据怎么用?
还能做好各种数据管理工作:
数据体检、运维监控、安全评估。
提供的数据服务主要有:
- 支付快速搜索定位,找到企业各种数据资产,形成有效的数据交汇;
- 提供各种数据资产快速展现的个性化形式,方便使用者获取所需要的关键信息;
- 积累过去所有进行过的数据加工知识,在相似场景下可以更好的推送或复用数据;
- 在数据搜寻结果之上,直接配备方便的分析工具,使得数据使用更加得心应手;
- 建立数据资产分布及综合评估的入口,更好地了解数据资产使用的各方面信息。
为什么要有数据地图?
我们大致已经知道了数据地图到底是个什么玩意,但是为什么要有数据地图呢?
其实,如果公司的数据库里只有百十来张表,那基本上不需要啥数据地图,因为靠脑子就能全记住了。
但是,如果有好几个系统、几百张表,而且在数仓里还分了好多层,之间的关系错综复杂,谁能全部记得住啊?
比如这位小姐姐的烦恼,相必你也能体会的到:
不仅是个人有这个烦恼,作为一个组织,保障知识的传承、减少沟通成本也是非常必要的。
既然有需求,有问题,人脑又不能完全记住,那肯定得借助系统的力量,做个产品啊。
至于为啥叫“数据地图”,其实就是借用了地图“找信息”的功能,意思是在“数据地图”功能中,能找到所有的数据。
数据地图长啥样?
数据地图不是跟百度地图、高德地图一样,而是跟ETL流程DAG一样的,或者直接是表格展示。这是atlas的例子:
更简单的表格基本上就是库名、表名、元数据代码、字段名、数仓位置、上游 、下游、管辖单位、负责人等。
血缘分析和影响分析
数据地图其实还能衍生出三个非常重要的应用:全链路分析、血缘分析和影响分析。
这是某数据治理公司的产品,全链路分析。
中间黄色的块就是查询对象,整张图就是查询对象上下所有数据链路的关系,所以叫“全链路”数据分析,看数据是怎么来的,再往哪里去。
全链路理解了,血缘分析和影响分析就很容易理解了。
血缘分析就是做亲子鉴定一样,不断找“爸爸”。
我们看到一张报表,想找到数据根源在哪里,就得一层一层的向上追溯,直到找到ODS甚至业务库。
这就是“血缘分析”:
那么对应的,影响分析就是不断的找儿子了。
业务库想改一张基础表,怕对下游的数据报表造成影响,那就得向下找到这张表涉及的所有下游表。
这就是“影响分析”:
技术架构
早期的数据地图都是直接存在数据库中,也不太智能,大多数时候都得靠人工录入信息,非常不好用。
现在基本都存在图数据库中,而且还能自动读取和更新元数据,非常人性。
这是Atlas架构图,所有数据都存在JanusGraph图数据库中,用图数据库的天然“关系”处理能力,做各种血缘、影响分析再合适不过了。