前言:数据苦恼 — 数据又出问题了
一、数据架构: 思想演进与权
二、数据存储: 架构剖析
三、数仓设计: 服务应用
四、指标定义: 理论结合业务思考
五、数据质量与提效
数据类的架构设计远不止是工具和概念的堆砌,它更像是一门在规模、实时性、成本、复杂度与治理之间不断权衡与取舍的艺术。本文抛开简单的概念,深入聊聊关于数据类专业术语的核心思想、技术原理和实际权衡,同时也有 “数据指标、异常监控、数据提效 ”的一些思考,也包含一些实用tips,欢迎一起探讨交流~
前言:数据苦恼 — 数据又出问题了
这破数据一天天的简直要命。晨会刚打开报表,老板突然来一句:“这个数,怎么跟我昨天在另一个报告里看的不一样? 我后背一凉,回复”我回去查查”,又是指标口径这老六在作妖!
哎,没办法谁叫我们是搞数据的呢 ”头发越掉越多,sql越写越复杂,锅越背越重。咱就是说能不能有一次!就一次!让数据老老实实当个乖宝宝。下面将从架构、存储、数仓、指标设计等多个视角剖析。或许有所启发共鸣,欢迎留言探讨~
一、数据架构: 思想演进与权衡
1、主流架构: 设计与使用场景
数据架构的演进反映了业务需求和技术能力的共同变化,每种架构都是一定条件下的最优解,但也都有其明显的代价。
数据架构的演变,是应对不同业务场景和技术限制的解决方案的进化史,其核心是 批流统一、成本与性能的权衡 。
2、数据处理: 语义与精确性保障
在流处理中,由于网络、故障重试等因素,数据可能会被重复处理。流处理框架提供不同级别的数据处理语义保证,这是流处理深度的体现:
实现 Exactly-once 的深度技术通常依赖于:
3、数据质量: 可观测性的工程化
数据质量绝非运行几个 SQL 检查脚本那么简单,其深度在于 工程化、自动化、可观测的系统性建设 。数据质量衡量数据是否“好用且可靠”,通常从以下几个维度进行评估,每个维度都有对应的量化指标:
其中易用性一般在数据领域最经常遇到就是库表字段命名,以及数据类型定义:
二、数据存储: 架构剖析
1、关系型数据库(RDBMS)与ACID 基石
关系型数据库是数据领域的基石,其核心在于 ACID事务 保证和 SQL 查询语言。
1)ACID的深度实现
2)架构演进:从主从到分布式NewSQL
2、NoSQL:专业化之路与CAP权衡
NoSQL并非否定SQL,而是“Not Only SQL”。它根据不同的数据模型和访问模式,提供了多样化的选择,其设计核心是 CAP理论 的权衡。
键值存储(Key-Value): 模型最简单,性能极高。代表: Redis (内存型,丰富数据结构)、 DynamoDB (云原生,自动扩缩容)。适用于会话缓存、购物车、计数器等场景。
文档存储(Document): 以JSON/BSON格式存储半结构化数据,模式灵活。代表: MongoDB (最流行的文档数据库)、 Couchbase 。适用于内容管理系统、用户配置文件等。
宽列存储(Wide-Column): 概念源于Google的BigTable。数据按列族存储,擅长海量数据的随机读写和范围查询。代表: Apache HBase (Hadoop生态)、 Cassandra(无中心化架构,高可用性极强)、 ScyllaDB(C++重写,性能怪兽)。适用于物联网、消息日志、用户行为数据存储。
图存储(Graph): 专门为存储实体(节点)和关系(边)而设计,支持高效的图遍历和关系查询。代表: Neo4j (原生图存储)、 Nebula Graph(分布式开源方案)。适用于社交网络、欺诈检测、知识图谱、推荐系统。
3、大数据存储与湖仓一体(Data Lakehouse)
大数据生态的存储系统旨在处理PB级别的数据,其设计理念与传统数据库迥异。
1)批处理存储基石:Apache HDFS
HDFS是第一批大数据存储的基石。其核心思想是 “移动计算而非移动数据” 。通过将大文件分块(Block)并分布式存储在廉价服务器上,提供高吞吐量的顺序读写能力,但随机读写性能很差。
2)表格式(Table Format)的革命:Apache Iceberg / Hudi / Delta Lake
直接存储在HDFS或对象存储(如S3)上的文件缺乏数据库的表、事务、模式演进等管理能力。表格式正是在此背景下诞生,它在底层文件之上定义了一个元数据层,从而赋予了数据湖以数据库般的体验。
湖仓一体 架构正是构建在这些先进的表格式之上,实现了数据湖的低成本存储与数据仓库的强大管理、性能优势的统一。
4、存储引擎内核深度探秘
1)存储引擎:LSM-Tree vs. B-Tree
存储引擎是数据库的“心脏”,决定了数据的组织和存取方式。
①B-Tree(及其变种B+Tree)
②LSM-Tree(Log-Structured Merge-Tree)
2)分布式一致性协议
构建分布式存储系统必须解决数据一致性问题。
主从复制中的一致性 :
分布式共识算法 :
5、数据存储: 表格式的深层原理
数据存储的选择远不止 “海量存 S3,快速查数仓”这么简单。深层技术点在于 存储格式 和 表格式 。
存储格式 :如 Parquet 和 ORC ,是实际的文件格式。它们采用 列式存储 ,能极大提升分析查询的性能(只需读取相关列)。配合复杂的 编码和压缩算法 (如 RLE、Dictionary Encoding),能有效减少存储空间和 I/O 开销。表格式 (Table Format):这是技术深度的关键体现。 Iceberg/Hudi/Delta Lake 并非新的存储格式,而是 在现有文件格式之上的一层元数据抽象和管理规范 。你可以理解为它们是一个“超级目录”。
选择不同的表格式,会对数据更新的效率(Merge on Read vs Copy on Write)、元数据扩展性和生态兼容性产生深远影响。

大数据存储组件的选择没有绝对的最佳答案,关键在于匹配你的具体业务场景、数据特征和技术栈。
核心选型公式: 数据模型 + 访问模式 + 一致性要求 + 规模与成本 = 最佳存储选择。
三、数仓设计: 服务应用
1、数据分层: 设计指标度量健康
首先在数仓是明确“ 完善度、复用度、规范度、资源度 ” 4个指标,同时也需要进一步 规范了洛子任务命名方式,通过所属分层 + 任务说明 + 主题 + 模块 + 最大引用层 + 任务调用脚本, 通过划分主题域 及 分层建设整个数据任务体系达到了划分主题、分层建设,实现了矩阵式数据划分,数据模型可复用的效果,最后达到可全面评估衡量数仓建设质量。
2、存储设计: 如何更快的取数
大家都可能会遇到过,查询日增数据3~5TiB(40~60亿记录)甚至更大超级大表 往往容易遇到查询特别慢的情况,我们如何进行优化呢。下面从问题发现、问题定位、问题解决等多个维度,深入探讨如何提升TDW(Hive表) 海量数据场景下的查询效率。
下面这里是采用媒体作为二级分区字段,可大大减少日常SQL取数的数据读取量(只读取特定二级分区的数据),它的原理也非常简单就是采用合理的字段作为二级分区,一般取特定字段的枚举值不多,一般不超过50个 也不能小了5个;太大容易导致小文件过多,太小容易效果不明显。
特别注意:
3、数据服务: 面向报表应用数据模型设计构建
在面向报表应用的数据模型设计时,大致可分为两大类指标:原子指标、衍生指标;比如:曝光量、点击量就是原子指标是可以根据维度的变换进行累加;CTR 就是典型的衍生指标,是通过两个原子指标 曝光量、点击量相除得出来的;似乎在计算机科学领域跟数据流转相关的任何问题都可以通过增加一层来解决,为此在想能否通过打造面向数据服务应用的数据模型,来提升数据的服务效能呢。答案是显然的,是可以的。为此,原子指标可统一在数仓一体化加工确保口径统一、维度丰富;衍生指标通过面向报表应用的数据模型设计配置; 这样做有个好处就是,维度、指标 规则是统一的、一处修改全局生效。最终达到数据规范的模板及高复用的整体效果。
四、指标定义: 理论结合业务思考
1、 指标的核心要素与价值
一个完整的数据指标通常包含以下几个 核心要素 :指标名称和定义、计算单位、计算方法、维度以及指标数值。例如,"日活跃用户数(DAU)"是一个常见指标,其定义为"在指定日内至少启动一次应用的去重用户数",计算单位为"人",统计周期为"日",可能包括的维度有"渠道来源"、"地域"和"操作系统"等。这些要素共同确保了指标的 明确性 和 可操作性 。
指标在企业中的 重要性 不言而喻。首先,指标能够帮助企业 客观评估业务表现 。通过对关键指标的监控,企业可以清晰了解当前的业务状况,发现潜在问题和机会。其次,指标有助于 统一团队认知 ,避免因理解不一致导致的决策分歧。更重要的是,一套科学完善的指标体系是企业开展数字化运营管理、打造数据驱动型组织的重要支撑,使企业能够通过数据直观了解业务健康状况,并找到潜在的问题和机会。
2、指标的本质与构成要素
从技术视角看,数据指标是 对零散数据进行汇总计算后得到的结果 ,能够反映过去一段时间内业务行为的好坏情况。一个完整的指标包含三个核心要素:
例如,“订单数”可以定义为:统计周期内,用户完成支付的订单数量总和。其中:
在数据体系标准化过程中,指标通常被分为两类:
原子指标 :基于某一业务事件行为下的度量,是业务定义中 不可再拆分 的指标,具有明确业务含义名词,体现具体统计口径和计算逻辑,其构成公式为: 原子指标 = 业务过程 + 度量 。例如,“订单支付金额”是一个原子指标,其中业务过程是“订单支付”,度量是“金额”。
派生指标 :在原子指标基础上,通过增加 时间周期 和 修饰词 等维度形成的复合指标。其构成公式为: 派生指标 = 时间周期 + 修饰词 + 原子指标
例如,“最近一天海外买家支付金额”中,“最近一天”是时间周期,“海外”是修饰词,“支付金额”是原子指标。
3、原子设计理论基础与模型
构建有效的数据指标体系需要科学的方法论和模型作为指导。这些模型不仅帮助数据专业人员系统性地梳理指标,也确保了指标体系能够与业务目标保持一致,从而发挥其真正的价值。
1)OSM模型:目标-策略-度量
OSM模型是指标设计中最基础且强大的框架之一,它由 目标 (Objective)、 策略 (Strategy)和 度量 (Measurement)三个核心组件构成。
目标(Objective) :指企业或业务单元希望达成的宏观目标,如"提高GMV"、"提升用户满意度"或"增加市场占有率"。目标应当简洁明确,能够清晰指引方向。
策略(Strategy) :指为达成目标而采取的具体策略或手段。如为提高GMV,可能采取"提升支付用户数"、"提高每笔单价"或"增加用户购买频次"等策略。
度量(Measurement) :指用于衡量策略执行效果的具体指标。这些指标应当可量化、可跟踪,如"新注册用户数"、"每笔订单平均单价"和"用户下单频次"等
表:OSM模型在电商场景的应用示例

通过OSM模型,企业能够将 战略级目标 转化为 可执行的动作 ,并确保每个动作都有相应的 数据度量 ,从而形成从战略到执行的闭环管理。OSM模型将宏大抽象的目标拆解成系列具体的、可落地、可度量的行为,适用于产品运营、用户运营、绩效管理、企业经营等众多场景。
适用场景:
有目标的时候,比如公司年初定好了今年KPI,各个部门分工协作。各部分工作可能完全不同,打法也得不一样,但只要把大目标拆成自己的小目标,再想要怎么做、看什么数据,就行了。
复盘时候,比如某个部门业绩不好,可以顺着这个逻辑来找问题:目标有没有对准公司的大方向?策略有没有用?用的数据能不能看出问题?
2)UJM模型:用户旅程地图
用户旅程地图(User-Journey-map,简称UJM)模型专注于 用户与产品交互的全过程 ,将用户体验分解为一系列阶段和触点。通过UJM模型,运营人员能够将用户从点击、浏览到加购、下单、分享的全过程体验进行量化管理,找出影响用户最终购买转化率的关键环节,并针对性进行优化。
在用户旅程的每个阶段,都有相应的 关键指标 来衡量用户体验和转化效果:
认知阶段 :用户首次接触产品的阶段,关键指标包括曝光量、点击量、触达率等。
兴趣阶段 :用户对产品表现出兴趣的阶段,关键指标包括浏览深度、停留时长、页面跳出率等。
购买阶段 :用户完成转化的阶段,关键指标包括转化率、支付成功率、客单价等。
忠诚阶段 :用户成为忠实用户并推广产品的阶段,关键指标包括复购率、NPS(净推荐值)、分享率等。
UJM模型与OSM模型结合使用,能够帮助企业不仅了解 最终结果 ,也理解 用户转化全过程 ,从而针对性地优化用户体验,提升整体转化效率。
适用场景:
规划与设计(事前:看路)要推一个新功能、新产品,或者一个新活动的时候。团队一起画出来,预想用户会先干嘛、再干嘛、可能会在哪卡住、在哪觉得爽。这样就能提前优化设计,把问题消灭在开始之前。
复盘与优化(事后:修路)发现数据不好看(比如转化率低、用户流失严重)的时候。对照着地图,一步步检查用户实际走到了哪一步就走丢了、为什么放弃。是页面加载太慢?还是操作太复杂?马上就能定位到具体环节去修复。
统一团队认知(对齐:共享一张地图)每当市场、产品、研发、客服吵得不可开交的时候。把地图往墙上一贴,大家瞬间就明白:“哦,原来用户是在我这一步之前遇到了问题!” 避免各自为战,让整个团队都为用户的全流程体验负责。
3)AARRR模型:海盗模型
AARRR模型 又称海盗模型,专注于 用户生命周期 ,包括获取(Acquisition)、激活(Activation)、留存(Retention)、收入(Revenue)和自传播(Referral)五个阶段。有些实践者还会增加召回(Recall)阶段,形成AARRRR模型,更完整地概括用户生命周期。
AARRR分别代表了五个单词,又分别对应了产品生命周期中的五个阶段:
适用场景:
获取(Acquisition):用户如何发现(并来到)你的产品? 要拉新、投广告、做推广的时候。用户通过什么渠道找到我们?哪个渠道来的用户最多、质量最好?投了小红书和抖音的广告,要看哪个平台带来的新用户更多,以后就多投哪个。
激活(Activation):用户的第一次使用体验如何? 用户第一次用产品,担心他“玩不明白就跑了”的时候。用户有没有体验到产品的核心价值?(比如第一次就用滤镜发了朋友圈),一个新用户下载App,引导他快速完成第一个核心动作(如发布第一条视频),让他觉得“这 app 有用/好玩”。
留存(Retention):用户是否还会回到产品(重复使用)? 担心用户用完一次就删,或者再也不打开了。关键问题 :用户明天、下周还会主动来用吗?比如 :通过推送通知、签到积分、周期性活动(如每周五的促销),让用户养成习惯,反复回来。
收入(Revenue):产品怎样(通过用户)赚钱? 需要商业变现、提升收入的时候。关键问题 :用户愿意为什么功能/服务付钱?比如 :研究付费会员、高级功能、广告投放等哪种方式赚得最多,并优化付费流程。
传播(Refer):用户是否愿意告诉其他用户? 增长遇到瓶颈,老用户很多但新用户不够时。关键问题 :用户会自发分享你的产品吗?比如 :设计“分享得优惠”、“邀请有奖励”等裂变机制,让老用户带来新用户
4、指标分类与分级
建立指标体系需要对指标进行 系统化分类和分级 ,以便不同层级的使用者能够快速找到和理解相关指标。通常,我们将指标分为三个级别:第一关键指标(北极星指标)、一级指标 和 二级指标
1)北极星指标
又称第一关键指标,是反映产品核心价值的唯一最重要指标。它应当能反映用户从产品中获得的核心价值,反映用户的活跃程度,直观可拆解,并能够为产品或业务的长期目标奠定基础。例如,打车类App的北极星指标是"成单率",支付宝早期的北极星指标是"两亿三次"(一年内达到2亿用户,用户平均使用次数超过三次)
适用于:业务初期,不应关注所有到处发力,可能哪一块都没有做好。我们应该关注一个指标,这个指标对我们来说是最关键的,为了提高指标可能会衍生出N多个指标,这些衍生指标与第一关键指标共同支撑。比如在业务初期阶段,我们重点关注销售额这个指标,GMV(成交额)= 销售额 + 取消订单金额+拒收订单金额+退货订单金额+优惠券金额。在创业阶段:
适用场景:
2) 一级指标
支撑北极星指标的核心指标,通常对应较大的业务单元或流程。如将成单率拆解,可得到"发单数"、"完单数"等一级指标。
3)二级指标
进一步细分一级指标,用于深入分析问题根源。如将"完单数"拆分可得到"司机取消订单数量"、"乘客取消订单数量"等二级指标。对于客服人员来讲,更需要关注这些二级指标,跟进了解司机和乘客取消订单的原因,解决司乘用户体验问题。
表:不同层级指标的特点与用途

5、指标分析与洞察
单纯展示指标数值往往不足以支撑深度决策,需要结合各种分析方法挖掘数据背后的洞察。以下是几种常用的指标分析方法:
1) 杜邦分析
将核心指标拆解为多个相互关联的因子,形成因子树,帮助分析影响指标的关键因素。例如,将"毛利"拆解为"销售额×毛利率-营销费用",进一步将"销售额"拆解为"订单量×客单价",从而全面理解毛利的影响因素。示例 广告场景 : 竞价广告收入 = ecpm * (曝光量/ 1000);
实际应用与洞察:不满足于看单一的最终结果(ROE),而是深入挖掘这个结果背后的驱动因素,就像拆解一个机器,看每个齿轮的运转情况一样。
2)漏斗分析
分析用户在多步流程中的转化情况,帮助识别流程中的瓶颈环节。例如,分析用户从"浏览商品"到"加入购物车"再到"支付成功"的全流程转化情况。浏览商品 -> 点击购买 -> 填写订单 -> 支付成功,每个环节的漏斗折损。
实际应用与洞察:它能直接告诉你问题出在哪个环节,节省了大量盲目排查的时间。
3)维度下钻
通过添加维度对指标进行细分,发现数据背后的模式。例如,将总销售额按地区、产品类别、时间等维度进行下钻分析,发现销售额波动的具体原因示例:
实际应用与洞察:维度下钻远不止是“数据分组”或“做个饼图”。它是数据分析中最基础、最强大的一种根因分析(Root Cause Analysis) 方法,其本质是通过连续地切换观察数据的视角,从宏观现象逼近微观原因,从而将问题定位到可行动的维度。
实用技巧与注意事项 (Tips):
4)趋势分析
观察指标随时间的变化趋势,识别周期性模式和异常波动。例如,分析销售额的周趋势、月趋势和年趋势,区分季节性影响和真正的业务变化。
时间序列趋势分析的核心思想是:将一个时间序列数据分解为几个内在的、有意义的组成部分,从而更好地理解其背后的模式和驱动因素。
这些分析方法往往需要结合使用,才能从不同角度理解指标变化背后的原因,形成全面而深入的业务洞察。
6、指标分层下钻
为什么需要下钻分析?
假设你是某电商平台的首席增长官(CGO),在周一上午的复盘会上,你看到上周的核心指标“平台总GMV”(北极星指标) 同比下跌了15%,严重不及预期。此时,你面临的核心问题是:“GMV为什么下跌?我们该怎么办?” 面对这样一个宏观的负面信号,最无效的反应就是恐慌或提出“必须提升GMV”这种空洞的口号。最有效的反应是:“让我们下钻分析,找到问题的根源。”
下钻分析的核心价值在于:
指标分层的过程 本质是提出假设、验证假设、定位问题的循环。它遵循一个清晰的逻辑链条,其核心环节与依赖关系如下图所示:
接下来,我们对每个步骤进行详细阐述:
第1步:提出假设 (Hypothesis)
基于业务逻辑,提出GMV可能下跌的原因方向。这是分析的起点,决定了后续分析路径。
方法一:公式拆解(最常用)
方法二:业务路径拆解(AARRR模型)
方法三:用户/产品分层拆解
第2步:验证假设 (Validation)
利用数据平台或BI工具,查询相应指标的数据,验证你的哪个假设成立。
验证公式拆解:
继续下钻(活跃用户数为什么跌?):
继续下钻(新用户问题出在哪?):
第3步:得出结论与行动 (Conclusion & Action)
通过层层下钻,你从“GMV下跌15%”这个宏观问题,精准定位到了一个微观的、可行动的具体问题:
“我们最大的新用户获取渠道A近期出现了严重的效率下降和质量问题,这是导致本次GMV不及预期的核心根因。”
基于此,你可以制定 精准的行动方案 :
五、数据质量与提效
1、 核心矛盾:质量的不可能三角与信任经济学
任何数据质量讨论都必须始于承认一个核心矛盾:数据质量、研发效率、计算成本 构成一个“不可能三角”。追求极致质量必然牺牲效率和成本。我们的目标不是追求100%准确,而是找到 业务可接受的、性价比最高的质量平衡点。
信任是数据世界的货币:数据质量的终极产品是“信任”。其成本是错误决策的成本,其收益是基于信任的协作效率。所有技术投入都必须服务于降低前者、提升后者。
2、提升数据质量
1)出数晚:优化任务保障SLA
问题本质:数据管道的端到端延迟 = 计算时间 + 排队时间 + 调度延迟。
2)数不准: 强化数据质量监控
「数不准」的本质是在数据的加工和流动过程中,引入了非预期的失真。我们的目标是在失真发生的瞬间就发现并定位它,而非等到业务方上报
构建计算血缘图谱,将数据血缘转化为一张有向无环图(DAG),节点是表;当数据指标异常时可以根据DAG 快速定位至哪个环节。
推动建立数据质量监控的“三道防线”: 源头与接入层、处理与加工层、应用与消费层;
并对每一层明确“数据责任制”,明确每一份数据的唯一负责人(Owner)
3)发告警:线上异常及时感知
有效且真实的告警,真正的深度在于构建一个 “分层过滤、智能降噪” 的系统,难度是确保每一条告警都有效、可行动。
告警分级模型(基于严重性与紧迫性)

解决办法:事前定义监控规则、事中稽核数据质量、事后分析数据质量。
4)建归因:日常业务波动自动化
归因本质:是一个 “因果推断” 问题。我们的目标不仅仅是知道“发生了什么”,更要精准量化“为什么发生”以及“各个原因贡献了多少”。
建归因的方法有很多,大致流程如下:
归因方法的理论演进与选择
现实场景中,多数为关键维度引起 核心指标波动,也是业务被问频次最高。比如广告营收场景中,电商、游戏行业对收入影响一般就较大。特别是618、双11电商大促对广告有明显的助推,分析流程大体一致:
Step 1: 确认波动真实性 (Data Validation): 排除数据上报错误、数据延迟、系统故障等技术性问题。
Step 2: 进行维度下钻 (Drill-down Analysis):
第一步:看时间趋势。是突然暴跌/涨,还是缓慢下降/上升?
第二步:分行业/分客户。使用贡献度分析(瀑布图) 或 同比/环比差值排名,快速找出对本次波动贡献最大的正向和负向行业/客户。
第三步:分流量/分产品。锁定问题行业后,再下钻看是哪个流量渠道(如iOS端下降了?)、哪个广告产品(如搜索广告收入下滑?)的问题。
应用示例:
作者丨雷祖全
来源丨公众号:腾讯云开发者(ID:QcloudCommunity)
dbaplus社群欢迎广大技术人员投稿,投稿邮箱:editor@dbaplus.cn
如果字段的最大可能长度超过255字节,那么长度值可能…
只能说作者太用心了,优秀
感谢详解
一般干个7-8年(即30岁左右),能做到年入40w-50w;有…
230721