重构知识的供给模式 ——《数据平台》从思考到落地

简介:如何去建立一套 “高度自动化&体系化的知识管理系统,重构知识的供给模式”。是不是看不懂?而且有点冲?是不是谜语人附体?别急,本文作者将会做详细的说明。

作者 | 七惜
来源 | 阿里技术公众号

一 前言

我们想尝试去建立一套 “高度自动化&体系化的知识管理系统,重构知识的供给模式”。

是不是看不懂?而且有点冲?是不是谜语人附体?别急,下面我会详细的说明我想做啥和已经做了啥。

1 平台现状

阶段分析

孵化一个Idea,到产品最终简单易用,通常会经历三个阶段。

阶段一:做通做对

阶段意义:对idea和方案的有效性与合理性进行验证探索。这个阶段一般资源很少,也比较孤独。不过如果顺利解决了核心问题,那系统将初具业务价值。

阶段产品:小程序数据平台 (DONE 交付500+指标)

阶段二:做大做深

阶段意义:开始在初版的基础上,去做边界的探索。通过接入更多的场景,更大范围的解决业务问题,来打磨方案,拓宽能力边界并摸索沉淀下最优实践。

阶段产品:Foundry基础数据平台 ING

阶段三:做精做好

阶段意义:这是做减法和重构的过程,通过前面的探索,清晰的定义下系统的边界,并对交互和性能等方面做更深的耕耘。

阶段产品:业务数据平台 Prepare

阶段成果

目前Idea正经历第二阶段,在手淘进行更大范围的探索与落地。

业务支撑:支撑手淘4个域9个模块的229个指标的数据产出(全链路AB实验,apm启动性能,广告大盘,购物车,首页坑位,搜索结果页,手淘稳定性等)。同时也迁移生产了生态开放小程序,小部件相关的数据。

能力建设:在《小程序数据平台》的基础上,进一步针对自动化构建能力进行了补强;数据资产管理方面扩充了多租户,资产隔离,文件管理等能力,方便我们更好的管理指标; 同时也进行了一些数据应用的探索,如数据开发服务,即席查询能力等。

2 整体架构

3 页面概览

二 数据平台到底要做个啥?

所以建设高度自动化&体系化的知识管理系统,重构知识的供给模式,到底是啥意思?

解释清楚这个目标,只需要解释清楚如下两个问题:

  1. “数据”是如何影响“业务决策”的?
  2. 数据”影响“决策”的过程中,有哪些问题和机会?

问题一:“数据”如何影响“业务决策” ?

数据生产消费生命周期

现实世界中,我们可以把数据的生命周期抽象成5个部分:“事实->信息->知识->智慧->决策&行动->回到 事实”。下面给出我个人理解的每个部分的含义:

  1. 事实:代表数据被如实的记录(ODS),事实是庞杂冗余无意义的。只有通过分类和清洗才能得到对人有意义的信息。
  2. 信息:代表事实中是有意义的部分(DWD + DIM),信息是对一类事实情况的描述。而当信息通过业务的定义与提炼加工,就能生产出有用的知识。
  3. 知识:代表信息加工出的有用的部分我称之为知识(ADS)。比如巴菲特是股神这是信息。而买qqq对与普通人来说整体收益不从不错,可以考虑月供qqq,这是知识。
  4. 智慧:不同的知识相互碰撞,演绎,推导能产生新的知识,我们称这种为智慧,智慧是能预测未来的。借用我的好友@骨玉(zherui.lzr)的总结:知识是有用的,而智慧是能预测未来的!
  5. 决策/行动:通过智慧,了解未知,研判未来,做出决策,行动落地,从而产生新的事实结果,进入下一轮循环。

举个例子

吾有一友,名叫老王,不住隔壁。

老王有座山,山上有野花,野草,鸡,苹果等各种动植物(事实)。 其中鸡和苹果比较有价值,于是老王就把他们圈起来养殖(从事实中梳理出有价值的信息)。并定时喂食施肥除虫,后来鸡和苹果都顺利长大成熟,成为了能吃,能卖的农产品(信息加工成了有用的知识)。 后来老王又发现鸡比苹果利润高很多,如果只养鸡能多赚50%(知识推演出可预测未来的智慧)。于是第二年他决定只养鸡(决策/行动)。后来禽流感来袭,山头只剩野花了,老王血本无归,一盘算还是出租稳当,于是老王把山一租,又回来写代码了。(第二轮数据的生产消费闭环)

这个故事中:

  • 老王山头上的各种动植物就是事实:事实的核心要求是全面真实,而核心行为是采集记录。
  • 动植物中的鸡和苹果就是信息:信息的核心要求是有意义,而核心行为上是梳理和清洗。
  • 把鸡和苹果养殖大就是知识:知识的核心要求是有价值有用,而核心行为上是加工和提炼。可以自己吃转化成身体的养分,也可以卖钱投资再生产。这是对老王有用的。 在数据中就是指标了。
  • 老王发现养鸡更赚钱就是智慧:智慧的核心要求是可预测未知,而核心行为是使用知识进行演绎推导。
  • 最终只养鸡就是决策/行动:决策和行动将产生新的事实,进入下一轮循环。

那我们来试着回答一下第一个问题:“数据”如何影响“业务决策” ?

答:首先我们通过埋点采集得到原始的事实(实时数据),从事实中梳理清洗得到信息(明细),随后通过定义和加工融合各类维度(维度),能得到对应的知识(业务指标)。而用户通过各类途径获得到指标后,通过演绎推导等方法,预测业务的发展,然后并做出下一步的决策。

问题二:“数据”影响“决策”的过程中,有哪些问题和机会?

我们简化一下:

我们把事实梳理成信息,信息加工成知识的整个过程,称为知识生产。

通过智慧预测未来,影响业务决策的过程,称为业务决策。

而知识管理,沉淀,运输,供给等中间环节,称之为知识供给和知识获取。

这里面的每个部分,其实都存在问题,也包含了很多的机会。

知识生产:缺乏标准化&自动化的工程体系来生产指标

问题:

1、缺乏标准化协议

  • 需求流程标准
  • 数仓分层标准
  • 计算模型标准

2、缺乏自动化能力

  • 需求吞吐瓶颈:纯研发人肉开发,存在研发资源瓶颈,需求吞吐量跟不上业务发展速度,业务诉求无法得到及时满足。我们希望80%的以上指标自动化生产。
  • 计算存储资源浪费:每个Project都存在非常多相同指标重复开发的情况。 这就导致了指标的重复计算,重复存储,浪费资源,浪费钱。

解法:建立一套标准化自动化的工程体系去自动化的生产指标。并以此为基础拓展进行知识的供给。

知识供给:缺少体系化的数据资产管理能力。

问题:

  1. 数据指标失真:业务常常会发现指标不对,或者之前对,最近突然不对了。更有甚者根本不知道指标对不对。导致大家对指标失去信赖,徒增非常多的沟通成本。
  2. 数据资产管理混乱:一个指标好多人在生产,指标的信息存放在各种地方,信哪个?SQL是脚本语言,代码可谓千人千面,没有标准注释,同事离职交接时的体验尤为酸爽。
  3. 数据资产不透明:DAU,研发效能如何定义? 知道定义后,那对应的表和字段是什么?哪里可以查嘛? 同时算子,维度,范围等配置明明都是一样的,但生产时却无法复用。

解法:需要体系化的管理指标并保证指标的准确性。当然这个重度依赖标准化&自动化的知识生产能力。

知识获取:知识获取效率低下

问题:

  1. 指标获取效率低下:运营有数据诉求,不知道去哪里获取。知道哪里获取后常常也要等待研发处理,获取的效率低下。
  2. 口径获取效率低下:研发同学常常有了解口径的诉求,一样不知道去哪里查看。

解法:提供统一的获取指标与口径的门户,进一步可以初步实现自动化的需求分析。

业务决策:缺乏有效的工具和方法论支撑。

问题:

  1. 不知该用哪些指标:不知如何使用指标,不知哪个指标能反应真实的业务效果,不知如何分析业务的北极星指标是啥?
  2. 不知如何影响指标:不知道有哪些措施和行为能影响指标。

解法:需要提供丰富的数据应用,与有效数据方法论。

可以看到大部分沟通无非两件事

  1. 告诉我口径!:PHA轻应用是什么?应用数,DAU,可交互时长和研发效率数据都是怎么定义的?来源UV怎么计算??
  2. 把指标给我!:指标在哪里?具体Sql逻辑是啥?

通过平台自动化生成后,可以通过如下方式自行获取:

除了Sql表达式直观明了外,还能在元数据管理中查看每个配置的含义(当然目前交互联动还做的不够好,人不够呀)。因为指标是通过各配置直接生成的,所以也可以保证口径与数据是强一致的。

至此可以回答一下数据平台到底要做个啥?: 核心是通过标准化的数仓分层建设,利用平台自动化的生产,管理和交付数据(知识)。并沉淀算子,统计范围,维度等数据资产。

业务视角上:将统一通过基础数据平台生产和获取指标,查询口径,并与其他系统进行联动。只要有一点Sql基础的运营/PD等都能自助配置出新的指标,打破纯研发纯人肉生产指标的瓶颈。这就是所谓的“高度自动化&体系化的知识管理系统,重构知识的供给模式”。

不知道各位理解了没有。对于要做什么,我就介绍这么多了......下面来大致介绍一下核心能力的具体落地方案。

三 数据平台核心技术简介

回到技术上,我们的能力建设也是围绕这4点去搞。

1 知识生产—数据自动化生产能力建设

核心流程概览:

指标的生成(5步)

1)数仓分层建设(kimball维度建模-星型模型):

  • 事实:以明细为粒度进行数据域拆分,如2001浏览域,2101点击域,2201曝光域,交易域,来源去向域,业务统计域,其他业务域等等。
  • 维度:录入相关的Dim维表

2)关系染色RelationColoring

  • 明细事实表和维表的主键关系。

3)维度染色DimensionColoring

  • 动态填充需要的维度字段(非全量冗余,可以灵活适应维表的变更)
  • 通过RelationColoring & DimensionColoring可以完全屏蔽了复杂的关联操作Join。

4)结果组装AssembleIndicator

  • 标准Sql生产:CREATE VIEW AS SELECT “Operate算子,stat统计包” FROM “ColoringView染色视图” WHERE "Scope统计范围" GROUP BY "PeriodDim周期维度 & Dim业务维度"。

5)数据探查IndicatorResult

  • 起Odps任务 SELECT * FROM Indicator WHERE dim LIMIT xxx; 得到结果后存入缓存,便于用户进行数据探查。

复合指标生成(3步,将多个单指标融合成单一报表)

1)指标圈选

2)复合指标生成

可以理解成将多张表合并为1张。这一直是难题,因为普通报表在生成之时就丢失了所有的过程逻辑,即使存下来的也只是工程端无法规模化解析的非结构化信息。 而平台自动化生成的指标就刚好解决了这个问题。这也让指标合并成为了可能。

维度能力:

  • 多指标交&并集处理

    • 维度圈选能力(黑白名单)
  • 多维cube:
  • 精确维度组合:
  • 维度缺省值处理(处理cube后数据异常膨胀和整体维度统计值因null失准的问题)

    • 事实字段为Null处理
    • 各类型字段的默认缺省值设置。
    • 维表字段为Null处理
    • Left Join 维度缺值导致的Null处理。

指标拼接:

  • 行 -> 列 -> 行 (行存转列存,分离出算子详细Name与Value. 再列存转行存生成可用的大宽表)

3)数据探查

指标物化&服务(依赖OpenDataworks的开放能力,注意申请流程和QPS)

  1. 文件创建
  2. 视图转表Sql生成
  3. 配置+提交+部署
  4. 调度运维
  5. 外表同步

核心挑战:性能

性能是自动化指标产出的难点,也会是之后的亮点。我们希望通过平台生成指标的效率能最大程度的接近开发人员手动优化的性能。当然这往深了做,是一个可以无限探索下去的领域。 拿平台来讲,目前最大的瓶颈在多维分析的支持,我们支持了维度的全量Cube,而想要更好的性能则需要去配置精准的Grouping Sets,而这又会大大增加前台页面的配置成本,如何权衡呢?是用针对高级用户提供独立的高级配置还是什么方法? 我们也还在进一步探索。

2 知识供给—资产管理能力建设

7大资产管理:

1)指标2个:

  • CompositeIndicator 复合指标 :
  • Indicator 原子指标

2)元数据5个:

  • Operate 算子

    • 基础算子
    • stat统计包(均值,标准差,方差)
  • Dim维度

    • Dim(业务维度)
    • PeriodDim(周期维度)
  • Scope 统计范围
  • Domain 数据域/数据模型
  • Table 基础表

多租户管理:

  • 空间管理

    • 工程配置
    • Odps配置
    • Dataworks配置
    • Holo配置等
    • 人员管理
  • 资产隔离 (开发中)
  • 权限管控

    • 元数据权限
    • 文件权限
    • 视图权限
    • 表权限等

数据能力管理:

  • 即席查询
  • 数据开放

    • 开放接口
    • 指标与其口径详情查询
    • 指标变更消息

3 知识获取:统一的知识获取门户(设计中)

这块我认为非常非常重要,是可以用小成本撬动平使用体验的大幅提升,也有可能成为平台核心入口。应该在能力建设的同时,重点开发的方向。但是吧!这块目前还没有具体的产品形态,我有一些初步的设想和方案,后续和产品一起设计后最终方案再具体补充:

我希望设计一个统一的门户页面,当任何用户有口径问题和数据需求时,可以先到该页面进行对应的关键词的搜索。平台通过智能识别,返回给用户具体指标,算子,统计范围和维度的推荐信息。有指标能直接用最好,没有也可以根据口径信息自行配置所需的指标。

技术侧:平台数据资产同步到至搜索引擎,当然还有三个核心处理技术点处理一下1:关键字提取与分词规则 2:搜索结果FunctionScore加权 3:结果分类引导。

4 业务决策:有效的工具和知识使用方法的方法论支撑

说实话,优先级上,还没到这块的轮次。 因为业务千变万化,也许这就是个伪命题。 不过从技术侧来看,业务决策功能是属于应用层的范畴,搭建好了底层基础,上层的千变万化都是能灵活快速的进行支持的,我们将一边夯实基础,一边与业务方一起探索具体等场景。

5 其他:

关于优化:我认为几个比较核心的优化方向
1、知识门户
2、指标管理与元数据的联动
3、核心链路运维与逆向流程
4、性能。

关于能力供给:平台本身目前只针对内部白名单进行使用,等我们打磨到自己满意了会进一步开放。 当然设计之初核心能力与应用层就是解耦的,所以也有可能之后会将核心能力以SDK的形式进行开放,各业务方按需进行形态的建设。敬请期待~

四 小结

技术细节还有很多很多,篇幅限制,这里就大致介绍一下核心要做的事情。能完成一个Idea的探索,并有机会和大家分享进一步思考探索优化落地,还是挺有成就感的,也收获颇丰,起码从一个纯JAVA工程同学成为了数据Project的独立Owner。当然平台目前仍处于做大做深的阶段,距离能力健全,体验优秀还有很长很长的路要走(需要很多的人力去堆)。

都说数据越开放,产生的价值越高。所以平台虽然还稚嫩,但我对平台的价值坚信不疑,大家一起继续打磨,继续加油。

原文链接

本文为阿里云原创内容,未经允许不得转载。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/511303.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PolarDB for PostgreSQL 内核解读 :HTAP架构介绍

简介:在 PolarDB 存储计算分离的架构基础上我们研发了基于共享存储的MPP架构步具备了 HTAP 的能力,对一套 TP的数据支持两套执行引擎:单机执行引擎用于处理高并发的 OLTP;MPP跨机分布式执行引擎用于复杂的 OLAP 查询,发…

kubernetes 的这几种存储卷,别再傻傻分不清了

作者 | 江小南来源 | 江小南和他的小伙伴们存储卷类型Kubernetes提供的存储卷(volume)属于Pod资源,共享于Pod内的所有容器,存储卷可在容器的文件系统之外存储相关的数据,也可以独立于Pod的生命周期实现数据持久化存储。…

这群人,用8年讲述体育能有多迷人

望尘科技:专注体育娱乐在线体验的自主研发,致力于让体育迷获得高品质的沉浸式体验。用科技致敬体育,是他们坚持的信仰。 客户故事 望尘科技一心专注深耕体育游戏。他们把自己的计算中心搬到了云上,借助阿里云数字基础设施为程序…

成中集团线下IDC迁移上云

阿里云根据成中集团业务场景入手,提供了上云方案和迁移建议,利用这套架构,保障了公司数据的安全性并且满足了公司对于备份机制的建立的基本诉求,并且降低了业务出现中断的风险。 公司介绍 成中简介: 我们公司是一家…

什么是hpaPaaS平台?

作者 | Gordon Van Huizen,Mendix公司平台战略高级副总裁 供稿 | Mendix Gartner为两种云端应用开发方法创造了两个名称:高生产力应用程序平台即服务(hpaPaaS)和高控制应用平台即服务(hcaPaaS)。本文将对二…

重新认识访问者模式:从实践到本质

简介:访问者模式在设计模式中的知名度虽然不如单例模式,但也是少数几个大家都能叫得上名字的设计模式了。不过因为访问者模式的复杂性,人们很少在应用系统中使用,经过本文的探索,我们一定会产生新的认识,发…

3个案例,详解如何选择合适的研发模式

简介:3个案例,详解如何选择合适的研发模式,研发模式的选择与产品形态、发布方式、团队规模、协作成熟度密切相关。本文我们将根据不同的团队场景,分析如何选择适合团队的研发模式。 策划&编辑|雅纯 上一讲&#x…

如何打造一款极速数据湖分析引擎

简介:本文向读者详细揭秘了数据湖分析引擎的关键技术,并通过 StarRocks 来帮助用户进一步理解系统的架构。 作者: 阿里云 EMR 开源大数据 OLAP 团队 StarRocks 社区数据湖分析团队 前言 随着数字产业化和产业数字化成为经济驱动的重要动…

如何在 Linux 命令行中按大小对文件进行排序

作者 | 刘光录来源 | TIAPls 命令用于显示目录的内容。使用 -l 选项,可以列出文件和目录及其属性。今天我们来分享一下如何根据文件大小对列表进行排序。ls -l 命令可以显示文件大小,但也仅仅是能让我们看到文件的大小,它默认是按照字母顺序显…

福建品品香茶业有限公司业务迁移上云

福建品品香茶业有限公司数据量较大,进行业务迁移上云时阿里云根据其公司需求综合考虑,推荐将原有IOE架构改为分布式架构,使用ECSRDS承载业务,为客户带来极大价值。 企业介绍 福建品品香茶业有限公司是一家集茶叶种植、加工、销售…

璀璨智行:V2X车路协同智慧交通

V2X车用无线通信技术是指车对外界的信息交换,作为未来智能交通运输系统的关键技术,璀璨智行潜心研究V2X技术,致力于V2X车路协同的落地,在智慧交通领域做出了卓越的贡献。 创业机会点 魏军博表示:“面对交通系统效率低…

Databricks 企业版 SparkDelta Lake 引擎助力 Lakehouse 高效访问

简介:本文介绍了Databricks企业版Delta Lake的性能优势,借助这些特性能够大幅提升Spark SQL的查询性能,加快Delta表的查询速度。 作者: 李锦桂(锦犀) 阿里云开源大数据平台开发工程师 王晓龙&#xff08…

深度解析数据湖存储方案Lakehouse架构

简介:从数据仓库、数据湖的优劣势,湖仓一体架构的应用和优势等多方面深度解析Lakehouse架构。 作者:张泊 Databricks 软件工程师 Lakehouse由lake和house两个词组合而成,其中lake代表Delta Lake(数据湖)&…

1688 复杂业务场景下的 Serverless 提效实践

简介:我们主要负责 PC 端 1688.com 以及手机端阿里巴巴 APP,是目前国内最大的 B 类电商交易平台,主要面向 B2B 电商业务的场景,为中小企业提供零售、批发、分销以及加工定制等电商交易渠道。 前言 首先为大家简单介绍一下我们的…

阿里 蚂蚁自研 IDE 研发框架 OpenSumi 正式开源

简介:经历近 3 年时间,在阿里集团及蚂蚁集团共建小组的努力下,OpenSumi 作为国内首个强定制性、高性能,兼容 VS Code 插件体系的 IDE 研发框架,今天正式对外开源。 作者 | OpenSumi 来源 | 阿里技术公众号 经历近 3 …

剖析 kubernetes 集群内部 DNS 解析原理

作者 | 江小南来源 | 江小南和他的小伙伴们引言说到DNS域名解析,大家想到最多的可能就是/etc/hosts文件,并没有什么错,但是/etc/hosts只能做到本机域名解析,如果跨机器的解析就有点捉襟见肘了。在服务器中还有一个配置值得大家注意…

首次公开,阿里云开源PolarDB总体架构和企业级特性

简介:在3月2日的阿里云开源 PolarDB 企业级架构发布会上,阿里云 PolarDB 内核技术专家北侠带来了主题为《PolarDB 总体架构设计和企业级特性》的精彩演讲。 在3月2日的阿里云开源 PolarDB 企业级架构发布会上,阿里云 PolarDB 内核技术专家 北…

阿里云数据库开源发布:PolarDB HTAP的功能特性和关键技术

简介:在3月2日的阿里云开源 PolarDB 企业级架构发布会上,阿里云 PolarDB 内核技术专家严华带来了主题为《PolarDB HTAP详解》的精彩演讲。在PolarDB存储计算分离架构的基础上,我们研发了基于共享存储的MPP分布式执行引擎,解决了单…

倒计时 2 天!2022 中国算力大会:移动云邀您共见算力网络,创新发展

7 月 29 日 - 31 日由工业和信息化部、山东省人民政府主办的首届中国算力大会将在泉城济南盛大举行!中国移动受邀承办“算力网络,创新发展” 论坛并设立展区分享行业前瞻洞察,构建开放共赢生态7 月 29 日下午,邀您共话算力精彩&am…

什么是好的错误消息? 讨论一下Java系统中的错误码设计

简介:一个好的Error Message主要包含三个部分:Context: 什么导致了错误?发生错误的时候代码想做什么?The error itself: 到底是什么导致了失败?具体的原因和当时的数据是什么?Mitigation: 有什么解决方案来…