惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
阮一峰的网络日志
阮一峰的网络日志
S
Secure Thoughts
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Threat Research - Cisco Blogs
P
Privacy & Cybersecurity Law Blog
The Hacker News
The Hacker News
H
Heimdal Security Blog
W
WeLiveSecurity
L
LINUX DO - 热门话题
Hacker News: Ask HN
Hacker News: Ask HN
WordPress大学
WordPress大学
The Last Watchdog
The Last Watchdog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
D
DataBreaches.Net
I
Intezer
Webroot Blog
Webroot Blog
C
Cisco Blogs
AWS News Blog
AWS News Blog
博客园 - 聂微东
T
The Blog of Author Tim Ferriss
V
Vulnerabilities – Threatpost
罗磊的独立博客
Google DeepMind News
Google DeepMind News
N
Netflix TechBlog - Medium
Schneier on Security
Schneier on Security
宝玉的分享
宝玉的分享
博客园 - 叶小钗
PCI Perspectives
PCI Perspectives
D
Docker
Scott Helme
Scott Helme
NISL@THU
NISL@THU
J
Java Code Geeks
B
Blog RSS Feed
Google Online Security Blog
Google Online Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
The Exploit Database - CXSecurity.com
AI
AI
美团技术团队
Cloudbric
Cloudbric
月光博客
月光博客
P
Proofpoint News Feed
T
Tailwind CSS Blog
Google DeepMind News
Google DeepMind News
小众软件
小众软件
www.infosecurity-magazine.com
www.infosecurity-magazine.com
The Cloudflare Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理, 企事业单位数字化的业务供需本质 – 人人都是产品经理, 医疗智能体·第1讲——医疗信息化重构:从“辅助软件”到“自主智能体”的范式转移 – 人人都是产品经理, 粉丝量就是空气!!! – 人人都是产品经理, 用户说“薯片碎了”,机器回“要买吗?”:意图识别的翻车与破局 – 人人都是产品经理, RAG召回准确率从75到90 我做对了这三件事 – 人人都是产品经理, AI大事件:Anthropic改收费、OpenAI发安全版、手术机器人纳入医保、阿里发布”秒悟” – 人人都是产品经理, Chrome 推出 Skills 新功能,Agent 重塑上网方式 – 人人都是产品经理, GitHub前创始人拿了a16z的1700万美元,做Agent时代的Git – 人人都是产品经理 拷贝或克隆其他 Flutter OH 项目到本地后无法运行 – 人人都是产品经理, 优惠券设计:优惠券创建 – 人人都是产品经理, 不用死磕文档!AI 助手 1 小时搞定飞书 CLI 安装 + 配置 + 知识库 – 人人都是产品经理, 用小龙虾做竞品分析报告:从2天到20分钟,我是怎么做到的 – 人人都是产品经理 用小龙虾做市场分析报告:搞懂这3个公式,市场规模不再靠猜 – 人人都是产品经理, 你早就在做 Harness 工程,只是不知道它叫这个名字 – 人人都是产品经理, Think Long就够?你可能想多了! – 人人都是产品经理, 货代SRM实战:供应商准入怎么做,才能让资源池不是通讯录而是可交付网络? – 人人都是产品经理, 如何做好用户调研?详解基本技巧 – 人人都是产品经理, 木鸟、途家、美团对打,平台春天行动开“卷” – 人人都是产品经理, 入职才发现公司不靠谱?小红书从业者求职避坑指南 – 人人都是产品经理, 美国 AI 三巨头联手封堵,中国 AI 突围之路在何方 – 人人都是产品经理, 小红书,放在需求对面的镜子 – 人人都是产品经理, AI 会带来大规模失业吗? – 人人都是产品经理, 从出单到补货前,我第一次犹豫:该不该放大? – 人人都是产品经理, Flutter 三方库鸿蒙化适配:5 种高效检查方式,快速判断是否需要适配 – 人人都是产品经理, 从做产品进阶拿结果:医美机构产品经理转岗科室运营经理 – 人人都是产品经理, 阿里HappyHorse,一场关于“Token经济”的阳谋 – 人人都是产品经理, To B AI:客户留存落地的观察与思考 – 人人都是产品经理, AI产品的“生命线”——数据采集、标注、清洗的产品化设计 – 人人都是产品经理, 谈谈AI Agent(二):当“孩子”能自己“体验世界”时,你该学什么? – 人人都是产品经理, UI/UX设计师的3层能力进阶,前两层让你活下来,第三层…才是真正的分水岭 – 人人都是产品经理, 2分钟 → 30秒,效率提升75%:B端产品经理如何用「规则枷锁」驯服AI幻觉? – 人人都是产品经理, 还没来得及学OpenClaw,来了个更猛的:Hermes Agent – 人人都是产品经理, AI日报:宇树机器人跑出10m/s刷新世界纪录 – 人人都是产品经理, 一文说透基金互金如何用情绪价值引导用户决策做转化 – 人人都是产品经理, 当浏览器开始替你”看”网页:AI 浏览器正在亲手拆掉它脚下的那张网 – 人人都是产品经理, 0代码,一天时间我Vibe Coding了个网站 – 人人都是产品经理, Hermes 和 OpenClaw 之争,Agent 的能力应该“装上去”还是“长出来”? – 人人都是产品经理 视频生成的“桌子”,字节Seedance 2掀完,阿里快乐马掀 – 人人都是产品经理, 从听不懂到完全信任:我的 Codex 深度产品体验 – 人人都是产品经理, 当虚拟偶像有了北京户口,与真人偶像还有什么区别? – 人人都是产品经理, 会说,远远比会做更重要 —— 对 SBTI 爆火现象的五层观察 – 人人都是产品经理, AI产品经理必看:当“搭环境”比“选模型”更重要,你的认知还在2024年吗? – 人人都是产品经理, 2026年AI产品商业化核心逻辑:从功能demo到规模化营收的3个必破卡点 – 人人都是产品经理, 京东围绕供应链,卷起裤腿下场的那些事儿 – 人人都是产品经理, SBTI一夜刷屏:它赢在了“太会说人话” – 人人都是产品经理, 折扣零售的真相:不是便宜,而是价值感! – 人人都是产品经理, 和甲方吵了一架,最后加钱做了——我学到的ToB产品经理生存法则 – 人人都是产品经理, 和几位小红书操盘手聊了8小时,干货全在这 – 人人都是产品经理, 智谱GLM-5.1登场,开源模型首超Opus4.6!!! – 人人都是产品经理 Anthropic收入凭什么反超OpenAI,终于有人把这事说清楚了 – 人人都是产品经理, 史上最有故事感的技术报告——Claude最强模型Mythos 7个极其精彩的细节 – 人人都是产品经理, 模型不是壁垒,Harness 也不是 – 人人都是产品经理, 抖音本地生活业务思考21 – 人人都是产品经理, Superpowers:145k Star的AI编码框架,到底是什么来头? Superpowers:145k Star的AI编码框架,到底是什么来头? – 人人都是产品经理, OpenAI 的路走错了,Anthropic Harness 解法启示:模型需要实践专科生 – 人人都是产品经理, 画原型图的前一步:设计站点地图 – 人人都是产品经理, 给 DeepSeek 的最后一封催更信 – 人人都是产品经理, 手把手教你用 Claude Code 搭建 AI 营销团队:5 个 Agent、12 项技能,独立完成研究、写作、设计全流程 – 人人都是产品经理, 你以为大模型在学语言?不,它在重新发明语言学 – 人人都是产品经理 所谓Skill,不过是AI时代的工业垃圾 – 人人都是产品经理, 聊一聊内容传播的几个方法 – 人人都是产品经理, 当平台开始吃掉生态:从 OpenClaw 被封杀,读懂 Anthropic 的这盘棋 – 人人都是产品经理, 你装了 10 个 AI 插件,Obsidian 还是一个文件夹 – 人人都是产品经理 关于AI智能体架构演进的系统性思考:从单体试水到多体协同的重构 – 人人都是产品经理, 当“人”变成Skill,我们又该何去何从? – 人人都是产品经理 Mythos 事件:前沿 AI 治理的意外实验 – 人人都是产品经理, 货代CRM:信用与风险管理怎么做,才能把坏账风险拦在放货之前? – 人人都是产品经理, 从HR收集自拍照到员工自助录入——我见证了园区人脸识别从”不可用”到”真好用”的全过程 – 人人都是产品经理 千问闯关AI混沌期:阿里画靶,吴嘉张弓,马云射箭? – 人人都是产品经理,
深度解析:数仓分层的重要性和实施策略
数据产品探索家 · 2023-09-13 · via 人人都是产品经理

为了提高数据质量、数据可用性及应用价值,我们需要进行数仓分层,那么,怎么理解数仓分层?这篇文章里,作者对数仓分层的重要性、分层原则、实施策略等方面进行了总结,一起来看一下。

一、为什么需要数仓分层

假设将数仓中的表拍平,没有分层概念,只进行简单的数据清洗后直接应用于数据分析,会出现什么问题:

  • 数据复杂性增加:数仓中的数据通常来自不同的源系统,具有不同的结构和语义。如果没有分层,直接将所有表拍平存储,会导致数据复杂性增加,难以理解和维护。分层可以提供逻辑组织和结构化,使数据的使用更加可控和可理解。
  • 数据一致性下降:在没有分层的情况下,数据的清洗和整合过程可能不够严格和完善,容易导致数据的不一致和错误。分层可以在集成层进行统一的数据清洗和转换,确保数据的一致性和准确性。
  • 数据查询效率低下:当所有表都被拍平存储时,数据的访问变得复杂且低效。数据分析需要从大量扁平化的表中提取所需的数据,会增加查询开销和时间。而通过分层结构,可以按需访问和提取数据,提高查询效率。
  • 业务需求定制性差:没有分层的数仓往往无法根据特定业务需求进行定制化的数据提取和分析。不同业务部门或角色的需求各异,如果没有分层,很难满足不同用户对数据的定制化需求。
  • 数据安全隐患:没有分层可能导致缺乏对敏感数据的有效管理和保护。数据仓库中可能包含敏感信息,如个人身份信息等,没有分层会增加数据泄露和滥用的风险。

因此,进行数据仓库分层是为了解决这些问题,提高数据质量、可用性和应用价值。但是也可能存在以下一些不利影响:

  • 增加实现复杂度:数据仓库分层需要额外的设计和实现工作。这可能会增加开发和维护成本,对项目进度产生影响。
  • 增加存储和运行成本:分层会增加数据存储的需求和计算开销,因为每个层级都需要独立的存储和处理。如果底层数据量较大,会占用更多的存储空间和计算资源。
  • 可能会引入额外的复杂性:在设计分层结构时,需要考虑何时使用不同的层级,以及如何确保各层之间的数据一致性。如果没有很好地规划和管理,分层可能会引入更多的复杂性,导致系统难以理解和管理。
  • 数据更新可能产生延迟:在数据更新过程中,由于需要进行转换和加载,数据的传递和同步可能存在延迟。这可能会影响到数据的实时性和准确性。
  • 需要更多的人员和资源参与:分层结构需要更多的人员和资源参与,包括数据架构师、ETL开发人员、数据质量专家、分析师等等。如果企业需要用到多个数据集,这种需求可能会成为一个持续性开销。

二、怎么理解数仓分层

当我们处理大量的数据时,数仓分层可以帮助我们更好地组织和管理这些数据。就像一个图书馆一样,我们把书籍按照不同的类型和主题分到不同的书架上,这样方便我们找到需要的书。

在数仓中,我们也需要对数据进行分类和整理。分层就像是给数据分类,并将其放在不同的存储位置。比如,底层是原始数据,这就相当于图书馆的藏书库房;然后上层是经过清洗和整理后的数据,就像图书馆的阅览室;再往上是加工过的数据,比如计算出的统计数据或者分析结果,就像图书馆的参考书区。

分层的好处是让我们更有效地使用数据。想象一下,如果所有的书都乱七八糟地堆在一起,我们要找一本特定的书会非常困难。但如果我们按照分类放置在不同的书架上,我们只需去对应的书架找就可以了。

同样地,当我们需要特定的数据时,分层让我们能够迅速定位到所需数据的位置。如果我们只需要原始数据,我们就去底层找;如果我们需要经过整理的数据,我们就去上层找;如果我们对数据做更深入的分析,我们就去更高层找。

总之,数仓分层帮助我们更好地组织和管理数据,使我们能够更轻松地找到需要的数据,而不必浪费时间去查找与我们目标无关的数据。这样我们可以更高效地进行数据分析和利用。

三、数仓一般分为哪些层

1. 贴源数据层:ODS(Operational Data Store)

ODS 层是位于原始数据源和数据仓库中间的一个层级。它主要用于接收和存储来自多个源系统的原始操作性数据。ODS 层的数据通常以粒度较细的形式存储,以支持实时或准实时的数据处理需求。数据从 ODS 层可以被抽取到 DWD 层进行进一步的加工和转换。

为了考虑后续可能需要追溯数据问题,因此对于这一层就不建议做过多的数据清洗工作,原封不动地接入原始数据即可,至于数据的去噪、去重、异常值处理等过程可以放在后面的DWD层来做。

落地方法:大多直接用数据同步工具直接抽取过去即可。例如:kettle、DataX、NIFI、阿里DTS、DataPipeline等等。这些工具通常支持增量抽取和全量抽取的方式,并提供数据质量控制和监控的功能。

2. 数据明细层:DWD(Data Warehouse Detail)

DWD 层位于数据仓库架构的核心位置。它主要用于存储经过清洗、标准化和整合的事实数据和维度数据,以支持多维分析和报表查询等业务需求。DWD 层通常包含企业数据模型(Enterprise Data Model,EDM)或主数据模型(Master Data Model,MDM)的实现。DWD 层中的数据可以按照不同的业务主题进行建模,通过事实表和维度表的关联,构建多维查询和分析模型。

DWD 层的主要特点包括:

  • 面向主题:DWD 层是面向业务主题的,即根据不同的业务领域或主题进行建模。每个主题通常对应一个或多个事实表和一组维度表。
  • 维度建模:DWD 层采用维度建模方法,即将维度属性和事实度量分开建模,以实现灵活的查询和分析。
  • 数据清洗和标准化:DWD 层对数据进行清洗、标准化和去重等处理,以确保数据的质量和一致性。
  • 历史数据保留:DWD 层通常会保留历史数据,以支持时间序列分析和趋势预测等业务需求。
  • 数据集成和处理:DWD 层可以集成来自不同数据源的数据,并进行加工和转换,以满足业务需求。这包括数据抽取、转换和加载(ETL)等过程。

3. 数据中间层:DWM(Data Warehouse Master)

DWM 层是在 DWD 层之上的一个逻辑层级,它主要用于实现业务主题的汇总和聚合。DWM 层的数据通常以更高的粒度或经过预计算的形式存储,以提供更高效的数据查询和分析性能。DWM 层可以根据业务需求进行灵活的数据聚合和汇总,以满足不同层次和角度的数据分析需求。

在实际计算中,如果直接从DWD或者ODS计算出宽表的统计指标,会存在计算量太大并且维度太少的问题,因此一般的做法是,在DWM层先计算出多个小的中间表,然后再拼接成一张DWS的宽表。由于宽和窄的界限不易界定,也可以去掉DWM这一层,只留DWS层,将所有的数据再放在DWS亦可。

4. 维度层:DIM(Dimension)

DIM 层是独立于事实表的维度信息存储层。它用于存储描述性数据或分类信息,如客户、产品、时间、地点等。DIM 层中的维度表可以与事实表进行关联,以支持多维查询和分析。DIM 层的数据通常比较稳定且经常被查询,可以作为 DWD 和 DWM 层的共享维度表。

5. 数据服务层:DWS(Data Warehouse Service)

DWS 层是位于数据仓库顶层的服务层,它主要用于向上层应用提供数据访问接口和服务。DWS层会基于DWD层上的基础数据整合,汇总,分析成某一主题域的服务数据,一般是宽表。

DWS 层可以提供数据抽取、报表查询、数据可视化、数据挖掘、数据科学模型服务等。DWS 层通常通过提供标准化的数据接口和服务,将数据仓库的功能和价值最大程度地展示给用户和应用系统。

6. 数据应用层:ADS(Application Data Store)

存放数据产品个性化的统计指标,根据明细层、汇总层及维表数据加工生成。

四、数据分层原则

为了提高数据仓库的可维护性、可扩展性和数据一致性,同时也能为分析人员提供更简单、完整、集成的数据,优化数据分析的效率和准确性。数据分层应遵循以下原则:

  • 最小化底层业务变动与上层需求变动的冲击:通过使用自上而下的建设方法,将独立于具体业务系统的通用模型和逻辑引入到基础数据层中。这样,在底层业务系统发生变动时,对上层数据模型和分析过程的影响将被最小化,因为这些变动只需在基础数据层进行相应的调整和维护。
  • 高内聚松耦合:在数据仓库中,主题内部的数据应该高度内聚,即具有明确的业务含义和相关性。同时,各个主题之间的数据应该松耦合,即它们之间的关联应该基于清晰的维度关系而不是直接的表结构依赖。这样可以提高数据模型的灵活性和可扩展性,方便根据需要进行数据调整和变动。
  • 构建仓库基础数据层:基础数据层是数据仓库的核心,负责整合和存储底层业务数据,并为上层应用程序提供统一的数据接口。通过将基础数据层与上层应用开发分离,可以实现并行的大规模仓库开发,并保持仓库层次的清晰性和数据一致性。

五、数仓分层的价值

1. 减少重复建设,提升数据应用效率

数据仓库的不同层次可以根据需要提供不同粒度的数据,这样在开发应用时就不必重复构建相同的数据表。可以节省时间和资源,提高数据应用的效率。

eg:公司有多个部门需要使用相同的销售数据进行报告和分析。

如果没有数据仓库的分层架构,每个部门可能会独立地从原始数据中构建自己的报表和分析表。而有了分层架构,可以在底层的数据层构建一次报表,然后其他部门只需在上层的应用层基础上构建自己的应用表,避免了重复建设。

2. 方便数据血缘追踪

通过分层架构,数据在不同层次间有清晰的关系,当应用层数据出现问题时,我们可以追踪到它所关联的底层数据表,这样可以快速定位问题,避免像查找蜘蛛网一样费时费力。

eg:一个数据科学团队正在分析一家电商公司的用户购买行为数据。他们发现在数据仓库的应用层表中有一些异常数据,需要找到这些异常数据的来源。

通过数据仓库的分层架构,他们可以追溯到底层的原始数据表,查看数据的采集、转换和加载过程,最终可以快速确定异常数据的来源,并快准确决问题。

3. 确保数据一致性和准确性

通过分层架构,数据仓库会对数据进行清洗、整合和汇总,确保数据的一致性和准确性。这样我们就可以放心地使用这些数据进行分析和决策。

eg:企业有多个分销渠道,每个渠道都会收集销售数据并报送给总部。

如果没有数据仓库的分层架构,总部可能会面临来自不同渠道的冲突或重复的数据。有了分层架构,可以在底层的数据层进行数据清洗和整合,确保每个渠道报送的数据经过验证和校准后才进入上层的汇总表或应用表,从而保证了数据的一致性和准确性。

4. 提供更好的性能和响应时间

不同层次的数据仓库可根据需求进行性能调优。底层原始数据层可以容纳大量数据并提供更低的延迟,而上层的汇总层和应用层可以提供更高的性能和更快的查询响应时间。

eg:金融机构需要对大量的交易数据进行实时风险监控和决策支持。

如果使用单一的大型数据表存储所有交易数据,查询可能变得非常耗时。而通过数据仓库的分层架构,可以将原始交易数据存储在底层的数据层,然后在上层的应用层构建针对风险监控和决策支持的汇总表。这样可以提高查询的性能和响应时间,使得风险监控和决策支持能够更加及时有效地进行。

5. 支持多维分析和决策支持

通过分层架构,我们可以进行多维分析、数据挖掘和决策支持。应用层的表提供更高级别和精细化的数据指标和度量标准,帮助我们深入分析数据并做出明智的决策。

eg:零售企业需要分析销售数据以了解不同产品在不同地区和不同时间段的销售情况。

通过数据仓库的分层架构,可以在底层的原始数据层存储每个销售事务的细节,然后在上层的应用层构建多维聚合表,以便进行跨产品、地区和时间的分析。这样企业可以更好地了解销售趋势,优化供应链和销售策略。

6. 提高数据共享和协作

数据仓库的分层结构使得不同团队和部门可以共享数据和结果。不同团队可以基于相同数据建立自己的应用表,方便数据共享和协作,避免了重复工作和独立运营的情况。

eg:医疗机构需要在临床、科研和管理等多个部门之间共享病例数据。

通过数据仓库的分层架构,可以在底层的数据层存储原始病例数据,然后在每个部门的应用层构建特定的分析表。这样不同部门可以共享数据,并且可以根据自己的需求定制应用表,促进部门间的数据共享和协作。

本文由 @数据产品探索家 原创发布于人人都是产品经理,未经授权,禁止转载

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。