层 数据仓库_小尝试:基于指标体系的数据仓库搭建和数据可视化

关于作者:小姬,某知名互联网公司产品专家,对数据采集、生产、加工有所了解,期望多和大家交流数据知识,以数据作为提出好问题的基础,挖掘商业价值。

0x00 前言

我将整理文章分享数据工作中的经验,因为业务内容上的差异,可能导致大家的理解不一致,无法体会到场景中的诸多特殊性,不过相信不断的沟通和交流,可以解决很多问题。前面我们分析了职场基本功、数据指标体系,今天我们来就前面文章中的指标体系,聊一下数据仓库的搭建和数据可视化

历史导读:

小进阶:数据指标体系和数据治理的管理

小诀窍:不妨尝试从交付质量上打败对手

以下,Enjoy:

0x01 为什么基于指标体系搭建数据仓库

前面文章中我们提到过为什么要搭建指标体系,如果还无法体会指标体系的作用和意义,可以通过历史导读重温前面的2篇文章,或者加入我们的微信群,同大家一起交流。这里简单的在换2句话描述一下做指标体系的重要性。

  • 搭建指标体系实际上是同需求方达成一种协议,可以有效地遏制不靠谱的需求,让需求变得体系且有条理;
  • 数据指标体系是指导数据仓库搭建的基石,稳定且体系的数据需求,有利于数据仓库方案优化,效率提升。

没有数据指标体系的团队内数据需求经常表现为“膨胀”现象。每个人都有看数据的视角和诉求,然后以非专业的方式创造维度/指标的数据口径。数据从业人员被海量的数据需求缠住,很难抽离出业务规则设计好的解决方案,最终滚雪球似的搭建难以维护的“烟囱式”数据仓库。

提供数据可视化方案的过程,依然存在像搭建数据仓库一样的问题。数据可视化报表数量膨胀但使用率低,好似再多的数据报表都远远不够满足数据需求一样。长久下来维护成本居高不小,效益率不够高。这让数据从业者很苦恼,如果大家还有其他苦恼的问题,希望继续深入的沟通了解,欢迎评论留言或者加入我们的微信群聊共同交流。

0x02 基于指标体系搭建数据仓库思考

我们简单回忆下的数据仓库分层问题,做“又宽又薄”的数据仓库分层,让数据能够有序的流转。数据全链路的整个生命周期只有通过层次才能清洗明确的被使用者感知和消费。任何跨层依赖,循环依赖,多重依赖都会导致数据问题的多发且不可维护。

  • 数据仓库常见分层方式

bc9baee760ea405519914b54dd0f7f5d.png
  • 数据仓库分层和跨层依赖、循环依赖、多重依赖的不同表现形式

6d9b339a99f6a3bf769103b3de0501e6.png

因此,我们需要有效的组织和管理数据,让它更有秩序。

  • 每层都有作用域和职责,清晰每层数据的目标定位和理解。
  • 规范工作方式,做标准数据分层,开发通用性强(健壮)的数据中间层,避免耦合重复计算问题。
  • 提供统一的数据服务,输出统一认知的数据口径
  • 将复杂的数据任务拆解,标准步骤每层解决场景问题。

从数据仓库的分层来看,ODS层是贴业务,形态主要依赖业务数据形式;APP层是贴使用场景,取决于数据怎么呈现和消费,DW层是中间层,负责发挥重要的扩展作用,肩负大量的数据加工计算责任。

鉴于以上数据仓库的分层逻辑,我们不难得出结论。

  • ODS层的搭建不需要过多思考,依赖业务库的表现形式;
  • APP层的更多依赖数据最终的场景搭建,考虑场景因素居多,比如多维、速度、口径。

只有DW层让数据生产者有极大的发挥空间,如何设计出好的(扩展性强)DW层是数据仓库的重点标准,相信很多同学在DW层搭建的过程都出现过类似问题“理想很丰满,现实很残酷”,搭建的数据“不接地气,不实用”,还是不能解决数据需求问题,总是跟不上业务的发展变幻。

那么,从现在开始不妨首先建立指标体系,基于指标体系搭建数据仓库。我们常见的指标体系大致包含以下内容:

  1. 产品框架

eb16169141a1ea1c12b3abacd3d3c123.png
  1. 数据矩阵

7fefe4d4d5fee6efd56c113e7ee108c8.png

说明:

根据产品框架梳理出可靠的数据矩阵效果最佳,单现实的情况是在产品框架下的不同报表的指标口径或是计算逻辑可能存在差异,因此数据矩阵可以是根据某个报表单独针对性小矩阵。

  1. 数据口径

501c71b6fb8b052c24d752361f74937d.png

说明:同数据矩阵一样不同的数据报表中,相同的指标名称可能存在不同的数据口径或者计算逻辑 ,因此指标的口径定义方面也可以做一些调整,例如口径和计算逻辑不同,必须区分出不同的指标名称,或者是相同的指标名称,做好指标口径定义的说明,告知受众群体差异点在哪里。

0x03 基于指标体系搭建数据仓库

常见的数据仓库搭建,实现数据分层大致分为两种模式:

  • A模式:基于业务实体或者数据的应用场景,从应用层向底层推导过程。
  • B模式:基于已有的数据,从底层分类整理数据,向应用层逐步搭建。

以底层向应用层搭建数据仓库,侧重在于需求尚且不清晰的情形下开展数据开发工作,首先实现数据预处理,做好数据的采集对接和数据主题分类。以备数据消费场景落地的时候,快速实现功能的开发。这种模式通用型强,使用广泛,同时也会造成很多冗余和设计不合理,实际响应需求的时候出现扩展性差,重构几率高的现象。

另一种模式则是在需求明确的前提下,以需求向底层推导数据仓库建模。通过需求让参与项目的各方快速理解业务诉求,统一目标的认知。高质量的梳理出业务需求和数据仓库之间的关系,针对性强的搭建数据仓库。但是这依然有诟病,就是数据建设容易出现“烟囱式”搭建,满足场景有限,复用性差。

基于指标体系搭建数据仓库,主要解决的是“A模式”中的数据场景考虑不全面的问题。如果数据的使用场景考虑不全面就会造成“烟囱式”数据搭建,复用性差。数据需求如果以“点状”碎片的形式提出,没有全局的认知和规划,数据仓库的搭建只能针对性的以“点状的烟囱式”搭建。如果需求能体系化的产出,梳理出业务场景中所需要的维度、指标。那么就可以最大限度的解决数据建模过程中的“烟囱式”,从而让数据的搭建“又宽又薄”。

例如,我们有如下数据矩阵

28bf98edc2dcecfd96430a99c517c9eb.png

那么,我们可以选择的数据仓库分层建模方式如下

3546bb056e63ede0cafc903035865e05.png

说明库.表1:通过APP层的数据表服务数据可视化,数据应用服务,多维查询;库.表2:实时明细表,通过与其他的实时表(库.表3)或者维度表(库.表4、5)关联生成APP层的数据表;库.表6:埋点数据产生的日志表,或者是从业务库对接过来的业务数据(比如订单数据)

0x04 数据可视化报表

1afaa421fd5643da87046e00d2c9c23e.png

当然,理想很丰满现实很残酷,正如我几次提到实际工作存在很多不理想,这是很多人遇到的问题,我也在探索新的方式,如果大家有兴趣可以加入微信群一起交流。

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

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

相关文章

计算机中级职称报考入口,2020年9月计算机职称考试报名流程(附入口)

2020年9月计算机等级报名公告正在陆续公布,计算机等级考试网上怎么报名?小编为大家整理计算机等级报名流程如下:2020年9月计算机等级报名流程一、注册通行证考生登入报名网页后,点击“用户注册”按钮,根据网页提示&…

简单工厂抽象工厂工厂方法_让工厂美丽

简单工厂抽象工厂工厂方法每个名副其实的Java程序员都知道Factory Pattern 。 这是一种便捷,标准化的方法,它通过教一个组件如何捕鱼而不是将它们交给它们来减少耦合。 但是,在使用大型系统时,该模式确实会向系统添加很多样板代码…

内蒙古大学计算机组成原理实验,内蒙古大学计算机组成原理期末练习0

内蒙古大学计算机组成原理期末练习0 (4页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!9.9 积分第 1 页 共 4 页 《《计算机组成原理计算机组成原理》》期末练习期末练习 班级 专业 姓名 学号 编号 …

dev的编辑器不支持getchar吗_“两头婚兴起”:你支持不娶不嫁,孩子随父姓也随母姓吗?...

何为两头婚?简单来说就是男不娶,女不嫁,没有彩礼也没有嫁妆的说法。男女俩人结婚之后没有谁到谁家里之说,两夫妻过自己的小日子,与各自的原生家庭保持一定的联系。婚后生育两个孩子,一个随父姓,…

全国计算机证件照要露耳朵吗,结婚证照片要露耳朵么 结婚登记照露一只耳朵行吗...

结婚证件照,这是可以在在民政局里面照的,也是可以在外面的影楼照的,在外面影楼照的话,照出来会比较好看,就是价格有点贵。结婚证上面的照片是证件照,所以是有一定的要求的。露一只耳朵行不行呢?…

findfirst_当心findFirst()和findAny()

findfirst过滤Java 8 Stream ,通常使用findFirst()或findAny()来获取在过滤器中幸存的元素。 但这可能并不能真正实现您的意思,并且可能会出现一些细微的错误。 那么 从我们的Javadoc( 此处和此处 )可以看出,这两种方…

java流式传输对象_使用Java 8在地图上流式传输

java流式传输对象在本文中,我将向您展示如何在标准Java映射上有效地实现Speedment Open Source流,并将Stream接口扩展为MapStream! 即使在复杂的情况下,此添加将使保持流的具体性和可读性变得更加容易。 希望这将允许您继续流式传…

oracle11g支持xp吗_拔掉U盘前一定需要安全弹出吗?

相信每一个使用过U盘的人,都经历过不安全弹出USB设备就直接拔掉,然后被电脑无情提示没有正确弹出USB设备的状况。拔掉U盘前点击安全弹出,已经成了一种默认的操作。那么,问题来了,拔掉U盘前真的需要安全弹出吗&#xff…

java中使用kotlin_在Kotlin中使用libGDX

java中使用kotlin最近,我一直在阅读有关不同语言的信息,以及它们可以为已经拥挤的软件开发人员带来什么,并且一种语言对我来说很突出:Kotlin。 ( https://kotlinlang.org/ ) 这是一种相对较新的语言&#…

同时防服务器维修,加强服务器日常运维,避免宕机灾难发生

原标题:加强服务器日常运维,避免宕机灾难发生服务器作为我们日常网络的支撑,可以说是24小时的全天候运转。在这种无休止的“加班”的状态下,服务器必然容易出问题,一旦发生服务器宕机就会造成整个网络的瘫痪&#xff0…

basemap安装_【我是解决安装问题系列_1】Mac python basemap安装

「2020/3/21更新」 附basemap网盘下载地址⏬Python需要跳过的安装的坑太太太太多了!!!!!最近看《利用python进行数据分析》这本书,到可视化的部分,看着最后的例子地图挺酷炫的,跟着敲代码的过程中,发现有时候不是你不会写&#xf…

nfs服务器远程访问,NFS远程共享存储

原标题:NFS远程共享存储构建储NFS远程共享存因为NFS有很多功能,不同的功能需要使用不同的端口。因此NFS无法固定端口。而RPC会记录NFS端口的信息,这样就能够通过RPC实现服务端和客户端的RPC来沟通端口信息。那RPC和NFS之间又是如何之间相互通…

ntp服务器查看终端,使用命令行界面使用NTP服务器在Windows中同步时间 | MOS86

即使使用简单的3V锂电池(CR2032)关闭电脑,每台台式电脑也能保持正确的时间。但这不是一个可充电电池,所以一年左右就停止工作了。您可以轻松地替换此单元格,但更换单元后,必须使用NTP服务器更新时间,以便Windows PC保持…

concat合并的数组会有顺序么_JS 数组操作 记录 笔记

Array数组的方法Mutator方法————"突变方法"会改变数组自身的值;Accessor方法————"访问方法"不会改变数组自身的值;Iteration方法————"遍历的方法" Establish方法————"创建新方法"Mutator方法(会…

服务器双向认证 原理,什么叫SSL双向认证 SSL双向认证过程是怎样的

我们都知道SSL认证能够分成SSL双向认证和SSL单向认证。那么,什么是SSL双向认证?SSL双向认证过程又是怎样的?小编就在接下来的内容为各位详细讲述。什么叫SSL双向认证SSL双向认证则是需要是服务端需要客户端提供身份认证,只能是服务…

依赖: ros-melodic-desktop 但是它将不会被安装_npm系列之依赖管理

1. 版本控制npm依赖包使用语义化的版本号,让开发者可以从版本号中推测修改。版本号格式为:X.Y.ZX:代表主版本号,只有更新了不向下兼容的API时才需要修改Y:次版本号,当模块增加了向下兼容的功能时需要修改Z&…

怎么修改ipv4服务器,如何修改ipv4 wins 服务器地址

如何修改ipv4 wins 服务器地址 内容精选换一换IPv6的使用,可以有效弥补IPv4网络地址资源有限的问题。如果当前云服务器使用IPv4,那么启用IPv6后,云服务器可在双栈模式下运行,即云服务器可以拥有两个不同版本的IP地址:I…

python 追加到字典_使用Python读取,写入和解析JSON

JSON是用于数据交换的轻量级数据格式,可以很容易地被人类读取和写入,也可以由机器轻松解析和生成。它是一种完全独立于语言的文本格式。为了处理JSON数据,Python有一个名为的内置包json。示例: s {“ id”:01&#xff…

couchbase_适用于具有Couchbase和WildFly的多容器和多主机应用程序的Docker Machine,Swarm和Compose...

couchbase该博客将说明如何使用Docker创建部署在多个主机上的多容器应用程序。 这将使用Docker Machine,Swarm和Compose实现。 是的,这三个工具一起使这个博客变得更加有趣! 该图说明了关键组件: Docker Machine用于配置多个D…

云服务器可以文件服务器,云服务器 可以上传文件

云服务器 可以上传文件 内容精选换一换安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器。例如QQ.exe。在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器。例如QQ.exe。本地磁盘映射(推荐使…