引言
最近和朋友一起聊天,聊到数仓最多的话题就是数仓重构,有些企业数仓重构可能好几轮了,一直在重构中,新的模型上线,老的模型继续运营,总是解释不清楚新模型比老模型好在哪里?于是出现了集市的人说数仓模型不好用,数仓的人说集市不使用他们的模型,业务说这些我完全看不懂。那么问题出现在哪里?今天来说道说道。
归根到底,没有解决一个问题,在企业发展不同阶段没有弄清楚对数据的诉求。也就没有制定一套指标来衡量数仓模型。如果企业的发展分为起步阶段、业务快速增长阶段、运营阶段。其他这几个阶段对数据的诉求不一样。
数据初心
企业的数据能给企业能带来什么价值?这个回归到数据的本质,笔者认为数据更多是给企业做决策、做运营、风险管控,对数据提出"快"、"准"、"稳"、"低"、"全"、"细"。这些都有一个本质的特点。数据需要准时保质保量的提供给合适的人使用。如果企业每次决策都需要数据来支撑,A企业决策当天就有数据来论证或者提供数据,B企业需要5天,那么这种情况下A企业做决策的次数比B企业高多,成功的概率要比B企业高。所以每个企业需要结合业务场景来设计企业的数据仓库模型,没有最好的模型只有适合自身企业的模型。
快:数据处理快、时效快、数据查询快、数据接入快、异常恢复快等
准:数据质量要高、数据查询要准等
稳:数据平台要稳、数据时效要稳等
全:数据的广度要广、数据资产要全等
细:数据的粒度要细等
低:使用数据的成本要低(理解成本、使用成本、硬件成本)等
下面我总结衡量数仓几个定量指标,大家可以参考参考
重复度
背景:重复度是解决企业数据重复开发或者指标不一样的问题,可以降低企业成本和数据不一致的问题。
口径:同源同频字段相似或者同源同频表相似比例
优化方案:可以在企业研发过程中过检核,比如dataops中检核规则
穿透率
背景:传统企业中,很多集市会直接穿透数仓到ODS,会导致成本增加,数仓的利用率下降,也会导致数据口径不一致等问题
口径:非数仓层任务直接使用ODS表的任务占比
优化方案:关闭非数仓层对ODS的访问权限,如果必需要按表申请或者数仓做视图。事后在分析如何模型沉淀
使用率
背景:如果数仓的表使用率偏低,那么就模型设计比较分散,下游使用起来复杂度会比较高,热度、标准化、聚合粒度等方面的可以分析
口径:被数仓下游使用的主题表与数仓运作中的主题表占比
优化方案:穿透率管控了,使用率自然就会提高
复杂度
背景:这个主要是体现单个任务(SQL)的复杂度,如果一个任务几十个表关联,这个维护成本、运维成本,失败重跑成本都比较高
口径:单个任务(SQL)表关联不能超过10个,这个根据企业的实际场景来定
优化方案:可以在企业研发过程中过检核,比如dataops中管控
纵深度
背景:如果一个数据应用底层最长链路超过30层,那么这个应用的运维成本、出数时效、稳定性等都有很大的问题。
口径:从应用出发最长链路15层,这个根据企业的实际场景来定
优化方案:可以在企业研发过程中过检核,比如dataops中检核规则
复用率
背景:主要解决企业数仓主题表复用率的问题,如果一个粒度的主题表不停的增加,但是复用率比较低,这个时候会带来口径不一致、维护成本高的问题了。
口径:数仓主题表被1-N次使用比例分析及P95或者平均使用率
优化方案:数仓团队需要针对使用率低的表进行分析,字段热度不够还是粒度不够等等,需要将数仓的表运营起来
资产运营
背景:这个和数仓可能关系不大,重点是讲数据应用的运营,看应用使用时间、使用角色、使用人数、使用部门等等指标
口径:应用访问的PV+UV+角色数+部门数据+每天最早访问时间来衡量数据有应用的潜在价值
优化方案:资产运营,数据治理体系做管控指标
下面我总结衡量数仓几个定性指标,大家可以参考参考
数据质量
数据质量也是评判的重要指标之一。数据质量包括数据完整性、一致性、精确性、可靠性、时效性等方面。这些指标可以通过数据清洗、数据校验、数据补全等方式进行评估和优化。这些具体的衡量指标需要根据企业不同阶段来指定
成本效益
数仓使用的人力、硬件等成本占整个数据团队的比例,企业发展的不同阶段不一样
稳定性
数据仓库任务的稳定性、时效等,企业发展的不同阶段不一样,比如前期更多追求的数据的时效快,数据质量可以低一点,后期追求数据的质量,时效可以慢一点。所以不同企业的不同阶段不一样
资产完备率
这个其实是一个比较长远的问题,但是又是一个不得不一直投入的时效。企业早期的数据资产完备率、模型维度、指标等等更多是解决企业数据开发人员对数仓的了解,对单个业务对象的了解,但是随着数字化的转型,那么企业的数据资产面向的用户就不是IT和数据分析师了,更多是业务人员,这种时候企业的数据资产需要引入业务流程和业务对象,否则很难拉通企业全业务流程来分析,业务和IT会进入鸡同鸭讲阶段。