由于公司数据平台对ETL开发工具做了比较好的封装,较大程度上面提升了开发效率,数据开发同学的主要工作集中在写SQL,疲于应付各种各样庞大的业务需求。不少同学认为做数据开发没技术含量,技术上面没提升,久而久之产生厌烦感。
个人认为造成这种想法的主要原因是:
- 通过ETL方式解决一个点的需求,没有站在一个全局的角度来思考问题,建设数据,没有任何沉淀和反思。
- 对数据开发没有一个清晰地定位,其实建设数据是一件非常有挑战的工作。
面临的问题
数据仓库是一种体系结构,首先摆在我们面前的问题:
- 如何高效理解业务,将复杂业务用简单的模型来表示(建模),最终落地点是数据仓库或者数据集市里面一张张表以及上层的一系列指标(如何分层,如何提高数据复用率等等)。
- 最佳的数据组织方式能高效地应对业务变更,更加灵活、高质量的支撑业务需求(你在建设仓库还是数据坟墓?)。
而这一切都需要较好的方法论来支撑,如何建设好是值得思考的。
端正态度
比较好的态度是:以解决问题为出发点来做数据开发。
- 系统开发和数据开发的目的都是为了解决问题,本质上是一样的,都面临着各种各样难以解决的问题,要认识到能建设好数据仓库是相当不容易的(数据重复建设、不一致、数据不完整、不易于理解等等),难度比低于做好一个系统
- 建设数据仓库过程中也是非常需要采用工程方法来提升效率的,所以仓库建设和系统开发并不矛盾,应该积极寻找结合点,提升效率,而不能陷入疲于应付需求的泥潭。
- 后台或者平台开发和数据开发能力模型应该是不一样的,数据开发更加考验一个人的综合能力。
- 衡量一个工程师是否合格,最终落地点应该是 ”工作能力“
能力模型
个人认为:
- 数据处理以及建模能力,在这两方面应该做到足够的技术广度以及深度。
- 业务理解以及抽象思维、总结能力、问题到本质。
- 其他软素质比如沟通能力
要做好一个数据开发需要更加全面的素质。
一些方法论
如何快速理解业务
抽象思维
通常情况下,业务方会给出一大堆的指标或者一系列的需求,反正看起来比较复杂,这个时候要抽象思维
- 复杂—>简单,不要过度在意细节,抓住需求的本质,关键点,站在整体的高度来理解需求。
- 简单->复杂, 系统化,全面性,分解业务。
引入模型
任何复杂的业务都可以用一些简单的模型来表示,引入模型有助于我们快速分解需求,比如引入流量漏斗模型,围绕流量无非是分析:转化率、跳出率、停留时长等指标,而流量漏斗,即用户行为相对是稳定的,围绕这个漏斗的上下文(维度)可能会变化,这是我们重点需要关注的,再比如分析新老客户质量是引入客户忠诚度模型等,总之引入模型有助于我们理解需求,分解业务。
关于埋点
能在后台实现的尽量在业务后台服务埋点,尽量不依赖客户端,因为在客户端埋点可维护性比较差,且不灵活,统计效果依赖客户端发版。
关于模型选择
首先还要明确一点,数据仓库是面向分析的,所以一般情况下倾向于建设直观易于理解使用的数据,常用的关系模型以及维度模型区别在于划分世界的方式不一样:一个是实体关系,一个是维度模型,但都可以实现范式。
关系模型
将客观世界划分成关系与实体,数据仓库由一系列的关系以及实体组成,严格遵守3nf范式,数据一致性比较强,冗余度低。
通过参照完整性来保证一致性,采用关系模型生成的数据仓库往往成蜘蛛网结构,可读性差,不容易入手,对于非仓库建设人员要使用数据仓库中的数据成本是非常高的。
维度建模
维度建模方式将客户世界分解成事实和维度,建模过程的一大部分工作体现在抽取维度以及事实,相对来说更加直观,容易理解,在业务变更较为频繁的场景可以更加有效地覆盖业务需求。
数据仓库由一系列的事实表以及维度表组成,事实表与维表之间呈星型连接,事实表之间又通过特定维度联系,形成雪花结构。
3NF范式
3nf在第一范式原子性、第二范式不存在部分依赖基础上加入消除传递依赖,其目的是降低数据冗余度,提高数据一致性。关系模型有时候也被称为范式建模,但是这种说法是不太严谨的。因为关系模型好维度建模生成的表都可以符合3nf范式。
相关推荐
《华为数据治理方法论及最佳实践》深入探讨了数据治理的关键要素和实施路径,旨在帮助企业构建高效、可靠的数据管理体系。本文将详细解析其中的主要知识点。 首先,数据治理框架包含了多个关键模块,如数据集成、...
### AUTOSAR开发方法论详解 #### 一、概述 AUTOSAR(AUTomotive Open System ARchitecture)是一种开放式的汽车电子系统架构标准,旨在提高汽车电子控制单元(ECU)之间的互操作性和软件复用性。AUTOSAR体系结构主要...
### 数据仓库方法论详解 #### 一、数据仓库建设的目标与意义 数据仓库的主要目标是从海量数据中提取有价值的信息,并将其转化为知识,为企业决策提供强有力的支持。数据仓库不仅仅是存储数据的地方,更是处理、...
数据分析方法论.pdf 数据分析方法论是指通过对数据的收集、分析和解释,得出有价值的结论和建议,以帮助企业或组织更好地决策和发展。该方法论涵盖了多种理论和模型,以下是对其中一些重要知识点的解释: 1. STP ...
TOGAF架构开发方法论与SABSA安全架构方法的集成研究 TOGAF架构开发方法论是一种成熟的企业架构方法论,旨在帮助企业规划、设计和实施架构项目。而SABSA安全架构方法则是一种专门用于风险管理和安全架构的方法论。...
"全栈数据产品经理方法论地图" 全栈数据产品经理方法论地图...该方法论框架涵盖了数据产品的整个生命周期,从数据产品的策划到其launch和后续的迭代改进,旨在帮助数据产品经理更好地规划和实施数据产品的开发和发布。
数据仓库系统设计和开发方法包括自顶向下和自底下上的方法。自顶向下方法侧重于从高层需求定义业务和企业数据模型(DM),进行差距分析、优先级排序和规划;而自底下上方法则侧重于源系统分析和数据仓库技术架构定义...
系统分析师论文参考,论开发方法及应用。 2017年1月,我作为项目负责人,参加了XX市××集团公司ERP财务管控项目,该项目合同金额500万元,合同工期为1年,该项目的主要目标是搭建ERP财务管控平台,实现客户内部从...
### 数据中台建设四步方法论详解 #### 一、数据中台概念解析 ##### 1.1 数据中台是什么? - **定义**:数据中台是一种组织模式和技术架构,旨在通过集中化处理企业的核心数据资源,实现数据的标准化、共享化以及...
#### 数据仓库系统设计和开发方法 成功的数据仓库系统不仅需要具备强大的数据处理能力,还需要有一套成熟的方法论来指导整个建设过程。 - **数据仓库方法论**:Oracle提供的数据仓库实施方法论(DWM),是一种经过...
【SAS 数据仓库方法论】 SAS 数据仓库方法论是一种高效且经过验证的策略,用于构建和实施数据仓库解决方案。该方法论强调业务驱动和快速应用开发,旨在满足企业的决策支持需求,解决传统信息技术结构在决策支持方面...
在科学研究领域,实验设计和数据分析是实践方法论的重要组成部分。通过精心设计的实验来验证假设,并利用统计学方法处理实验数据,从而得出可靠的结论。 ### 结语 总之,实践方法论是一种重要的思维方式和工作方法...
7. 概念框架的提出:为解决当前数据科学项目执行中的问题,文章提出了一种概念框架,旨在指导未来数据科学方法论的开发和现有方法论的更新。这个框架强调了数据科学项目管理的全面视角,包括项目周期、组织影响、...
《SAS 数据仓库方法论》 在大数据时代,数据仓库作为企业信息管理的重要组成部分,扮演着数据整合、分析与决策支持的角色。SAS,作为全球领先的数据分析软件和服务提供商,提出了其独特的数据仓库方法论,旨在帮助...
在IT行业中,EOS5开发方法论是一个专门针对EOS5平台应用开发的过程框架,旨在提供一套高效、有序且可复用的开发策略。本方法论涵盖了从项目启动到系统上线的整个生命周期,包括需求分析、系统设计、编码实现、测试...
ASAP实施方法论是SAP公司为确保其企业软件解决方案的成功部署而开发的一套标准化实施流程。该方法论被广泛应用于SAP项目的实施过程中,旨在提高项目效率,降低风险,确保项目的成功。ASAP(Accelerate SAP)实施方法...
### 数据仓库方法论与Oracle应用 #### 一、引言 数据仓库作为一种高效的企业级数据管理解决方案,在现代商业环境中扮演着至关重要的角色。通过将来自不同数据源的信息整合到一个中心化的位置,数据仓库能够为企业...