一 前言我们想尝试去建立一套 “高度自动化&体系化的知识管理系统,重构知识的供给模式”。 是不是看不懂?而且有点冲?是不是谜语人附体?别急,下面我会详细的说明我想做啥和已经做了啥。 1 平台现状阶段分析孵化一个Idea,到产品最终简单易用,通常会经历三个阶段。 阶段一:做通做对 阶段意义:对idea和方案的有效性与合理性进行验证探索。这个阶段一般资源很少,也比较孤独。不过如果顺利解决了核心问题,那系统将初具业务价值。 阶段产品:小程序数据平台 (DONE 交付500+指标) 阶段二:做大做深 阶段意义:开始在初版的基础上,去做边界的探索。通过接入更多的场景,更大范围的解决业务问题,来打磨方案,拓宽能力边界并摸索沉淀下最优实践。 阶段产品:Foundry基础数据平台 ING 阶段三:做精做好 阶段意义:这是做减法和重构的过程,通过前面的探索,清晰的定义下系统的边界,并对交互和性能等方面做更深的耕耘。 阶段产品:业务数据平台 Prepare 阶段成果目前Idea正经历第二阶段,在手淘进行更大范围的探索与落地。 业务支撑:支撑手淘4个域9个模块的229个指标的数据产出(全链路AB实验,apm启动性能,广告大盘,购物车,首页坑位,搜索结果页,手淘稳定性等)。同时也迁移生产了生态开放小程序,小部件相关的数据。 能力建设:在《小程序数据平台》的基础上,进一步针对自动化构建能力进行了补强;数据资产管理方面扩充了多租户,资产隔离,文件管理等能力,方便我们更好的管理指标; 同时也进行了一些数据应用的探索,如数据开发服务,即席查询能力等。 2 整体架构3 页面概览二 数据平台到底要做个啥?所以建设高度自动化&体系化的知识管理系统,重构知识的供给模式,到底是啥意思? 解释清楚这个目标,只需要解释清楚如下两个问题:
问题一:“数据”如何影响“业务决策” ?数据生产消费生命周期现实世界中,我们可以把数据的生命周期抽象成5个部分:“事实->信息->知识->智慧->决策&行动->回到 事实”。下面给出我个人理解的每个部分的含义:
举个例子吾有一友,名叫老王,不住隔壁。 老王有座山,山上有野花,野草,鸡,苹果等各种动植物(事实)。 其中鸡和苹果比较有价值,于是老王就把他们圈起来养殖(从事实中梳理出有价值的信息)。并定时喂食施肥除虫,后来鸡和苹果都顺利长大成熟,成为了能吃,能卖的农产品(信息加工成了有用的知识)。 后来老王又发现鸡比苹果利润高很多,如果只养鸡能多赚50%(知识推演出可预测未来的智慧)。于是第二年他决定只养鸡(决策/行动)。后来禽流感来袭,山头只剩野花了,老王血本无归,一盘算还是出租稳当,于是老王把山一租,又回来写代码了。(第二轮数据的生产消费闭环) 这个故事中:
那我们来试着回答一下第一个问题:“数据”如何影响“业务决策” ? 答:首先我们通过埋点采集得到原始的事实(实时数据),从事实中梳理清洗得到信息(明细),随后通过定义和加工融合各类维度(维度),能得到对应的知识(业务指标)。而用户通过各类途径获得到指标后,通过演绎推导等方法,预测业务的发展,然后并做出下一步的决策。 问题二:“数据”影响“决策”的过程中,有哪些问题和机会?我们简化一下: 我们把事实梳理成信息,信息加工成知识的整个过程,称为知识生产。 通过智慧预测未来,影响业务决策的过程,称为业务决策。 而知识管理,沉淀,运输,供给等中间环节,称之为知识供给和知识获取。 这里面的每个部分,其实都存在问题,也包含了很多的机会。 知识生产:缺乏标准化&自动化的工程体系来生产指标问题:
解法:建立一套标准化自动化的工程体系去自动化的生产指标。并以此为基础拓展进行知识的供给。 知识供给:缺少体系化的数据资产管理能力。问题:
解法:需要体系化的管理指标并保证指标的准确性。当然这个重度依赖标准化&自动化的知识生产能力。 知识获取:知识获取效率低下问题:
解法:提供统一的获取指标与口径的门户,进一步可以初步实现自动化的需求分析。 业务决策:缺乏有效的工具和方法论支撑。问题:
解法:需要提供丰富的数据应用,与有效数据方法论。 可以看到大部分沟通无非两件事
通过平台自动化生成后,可以通过如下方式自行获取: 除了Sql表达式直观明了外,还能在元数据管理中查看每个配置的含义(当然目前交互联动还做的不够好,人不够呀)。因为指标是通过各配置直接生成的,所以也可以保证口径与数据是强一致的。 至此可以回答一下数据平台到底要做个啥?: 核心是通过标准化的数仓分层建设,利用平台自动化的生产,管理和交付数据(知识)。并沉淀算子,统计范围,维度等数据资产。 业务视角上:将统一通过基础数据平台生产和获取指标,查询口径,并与其他系统进行联动。只要有一点Sql基础的运营/PD等都能自助配置出新的指标,打破纯研发纯人肉生产指标的瓶颈。这就是所谓的“高度自动化&体系化的知识管理系统,重构知识的供给模式”。 不知道各位理解了没有。对于要做什么,我就介绍这么多了......下面来大致介绍一下核心能力的具体落地方案。 三 数据平台核心技术简介 回到技术上,我们的能力建设也是围绕这4点去搞。 1 知识生产—数据自动化生产能力建设核心流程概览:指标的生成(5步)1)数仓分层建设(kimball维度建模-星型模型):
2)关系染色RelationColoring
3)维度染色DimensionColoring
4)结果组装AssembleIndicator
5)数据探查IndicatorResult
复合指标生成(3步,将多个单指标融合成单一报表)1)指标圈选 2)复合指标生成 可以理解成将多张表合并为1张。这一直是难题,因为普通报表在生成之时就丢失了所有的过程逻辑,即使存下来的也只是工程端无法规模化解析的非结构化信息。 而平台自动化生成的指标就刚好解决了这个问题。这也让指标合并成为了可能。 维度能力:
指标拼接:
3)数据探查 指标物化&服务(依赖OpenDataworks的开放能力,注意申请流程和QPS)
核心挑战:性能性能是自动化指标产出的难点,也会是之后的亮点。我们希望通过平台生成指标的效率能最大程度的接近开发人员手动优化的性能。当然这往深了做,是一个可以无限探索下去的领域。 拿平台来讲,目前最大的瓶颈在多维分析的支持,我们支持了维度的全量Cube,而想要更好的性能则需要去配置精准的Grouping Sets,而这又会大大增加前台页面的配置成本,如何权衡呢?是用针对高级用户提供独立的高级配置还是什么方法? 我们也还在进一步探索。 2 知识供给—资产管理能力建设7大资产管理:1)指标2个:
2)元数据5个:
多租户管理:
数据能力管理:
3 知识获取:统一的知识获取门户(设计中)这块我认为非常非常重要,是可以用小成本撬动平使用体验的大幅提升,也有可能成为平台核心入口。应该在能力建设的同时,重点开发的方向。但是吧!这块目前还没有具体的产品形态,我有一些初步的设想和方案,后续和产品一起设计后最终方案再具体补充: 我希望设计一个统一的门户页面,当任何用户有口径问题和数据需求时,可以先到该页面进行对应的关键词的搜索。平台通过智能识别,返回给用户具体指标,算子,统计范围和维度的推荐信息。有指标能直接用最好,没有也可以根据口径信息自行配置所需的指标。 技术侧:平台数据资产同步到至搜索引擎,当然还有三个核心处理技术点处理一下1:关键字提取与分词规则 2:搜索结果FunctionScore加权 3:结果分类引导。 4 业务决策:有效的工具和知识使用方法的方法论支撑说实话,优先级上,还没到这块的轮次。 因为业务千变万化,也许这就是个伪命题。 不过从技术侧来看,业务决策功能是属于应用层的范畴,搭建好了底层基础,上层的千变万化都是能灵活快速的进行支持的,我们将一边夯实基础,一边与业务方一起探索具体等场景。 5 其他:关于优化:我认为几个比较核心的优化方向 1、知识门户 2、指标管理与元数据的联动 3、核心链路运维与逆向流程 4、性能。 关于能力供给:平台本身目前只针对内部白名单进行使用,等我们打磨到自己满意了会进一步开放。 当然设计之初核心能力与应用层就是解耦的,所以也有可能之后会将核心能力以SDK的形式进行开放,各业务方按需进行形态的建设。敬请期待~ 四 小结技术细节还有很多很多,篇幅限制,这里就大致介绍一下核心要做的事情。能完成一个Idea的探索,并有机会和大家分享进一步思考探索优化落地,还是挺有成就感的,也收获颇丰,起码从一个纯JAVA工程同学成为了数据Project的独立Owner。当然平台目前仍处于做大做深的阶段,距离能力健全,体验优秀还有很长很长的路要走(需要很多的人力去堆)。 都说数据越开放,产生的价值越高。所以平台虽然还稚嫩,但我对平台的价值坚信不疑,大家一起继续打磨,继续加油。 参考资料《泛化建模& 维度建模》: 《数据,信息,知识,智慧分析与对比》: 《阿里云各类开放文档》: |
|
来自: 新用户49272060 > 《文件夹1》