[分享]微软BI专题-数据仓库本质解析及典型设计技巧

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
 

数据仓库究竟是什么?它和事务交易处理系统(OLTP)又有什么区别?初次接触它的朋友往往觉得它很神秘、很复杂,其实不然。今天就和大家来认识一下数据仓库的本质,以及在实施商务智能过程中它的一些设计技巧。

      Ralph Kimball,数据仓库(Data Warehouse,DW)领域最权威的专家之一,曾下过这样的结论:BI系统=数据仓库。或许这种说法有一定的片面性,经不起咬文嚼字的推敲,但从中我们却不难看出数据仓库在BI系统中举足轻重的地位。
      仔细想想,的确如此。几乎所有的BI项目,都是在数据仓库这个“大舞台”之上“演出”的,它就像是BI系统的心脏,源源不断地为前端提供新鲜的血液——最新的业务数据,有了这些数据,我们才会看到前端详尽的报表、直观的分析和神奇的预测。
      数据仓库究竟是什么呢?它和事务交易处理系统(OLTP)又有什么区别?初次接触它的朋友往往觉得它很神秘、很复杂,其实不然。今天就和大家来认识一下数据仓库的本质,以及在实施商务智能过程中它的一些设计技巧。

      概念解析
      目前,关于数据仓库的定义有很多种,都是从不同的角度和层面概括的。著名数据仓库专家W.H.Inmon在其著作《Building the Data Warehouse》一书中有过如下描述:数据仓库是一个面向主题的(Subject Oriented)、集成的(Integrate)、稳定的(Non-Volatile)、随时间不断变化(Time Variant)的数据库系统,主要用于企业的决策支持。对于上述概念,结合与OLTP系统的比较,我们可以从以下几个方面来理解数据仓库:
     “遗传”性 从 “数据库”到“数据仓库”,虽然多了一个“仓”字,但却没有改变它数据库的“本性”。从物理上来讲,它依然是一个关系型的数据库,表、字段、主键、索引、 键约束等概念,在数据仓库中依然存在,无论数据的组织方式还是在表中二维的存放,数据的存储规则也基本遵循关系型数据库的各种范式。从这个层面来看,数据 仓库与普通的数据库系统并无本质区别。
      主题性 OLTP系统是被设计用来处理和存储事务交易数据 的,通常一个企业内存在多个OLTP系统,各自之间相互独立。而数据仓库是被设计用来进行决策支持,主要是进行数据分析,因此它的数据组织方式是按主题划 分的。主题是一个抽象的概念,是指用户使用数据仓库进行分析时所关注的具体的业务领域。如一个企业的数据仓库中可能包含了财务系统、销售系统、库存系统、 人力资源系统等方面的数据,它们都被划分为一个主题(通常对应着一个数据集市)。
      集成性 所谓“ 集成”,也是与OLTP系统相比较而言。OLTP系统通常是与某些特定的应用相关的,数据库之间相互独立,结构不一。而数据仓库中的数据是对原有独立的、 分散的、异构的各种OLTP系统(包括文本文件、半结构化文件)中的数据进行了大汇总,并对这些数据进行了清洗和转换,消除了其中的不一致性,统一规范了 数据格式,保证了这些数据是关于整个企业的全局性数据。
      稳定性 OLTP系统由于面向事务操作,经常会有增、删、改等操作,所以其中的数据会经常更新。而数据仓库的数据主要供企业决策分析使用,所涉及的数据操作主要是数据查询。数据一旦进入数据仓库,将会被长期保存,一般不会进行修改和删除操作,通常只需要定期进行加载和刷新。
      时变性 既 “稳定”又“时变”,听起来有些矛盾,这更为数据仓库增添了几分神秘色彩。这里说的时变,指的是其中的数据不是一成不变的,而是按一定的时间间隔进行更新 的。随着OLTP系统数据的积累,新的数据按时经过转换加工后被源源不断地抽取到数据仓库中。只有数据不断更新,新数据不断的注入,我们基于数据仓库进行 的前端分析展现的结果才会更符合企业当前的实际状况,来有效地辅助企业决策。

     “外观”解析
      前面提到,数据仓库在物理上仍然是一个关系型的数据库系统,那从外观上来看,数据仓库有什么特点呢?如图1所示,是一个比较典型的数据仓库(准确地说是一 个数据集市),大家可以看到,与普通的数据库不同,其中的表都以“Dim”或“Fact”开始,这是因为数据仓库中的数据不外乎维度数据和事实数据(元数 据除外),为了我们直观上容易判断和以后多维建模过程中便于识别,我们通常在维度表的表名前加“Dim”,在事实表的表名前加“Fact”,当然,这只是 一种良好的命名习惯,并不是必须这样来命名。

      地位解析
      数据仓库在商务智能过程所处的位置如图2所示。
可 以看出,数据仓库在整个BI的流程中的地位可以概括为“承前启后”。所谓“承前”,正如前面所提到的,它汇总了来自异构数据源的、经过清洗整合后的数据, 使数据与业务系统脱离,保障了业务系统的安全和效率;所谓启后,是因为它为以后建设多维数据库做好了准备,是建立多维数据库的基础和平台。

      相关技巧
1、架构模式的选择
      数据仓库的架构主要有星型和雪花型两种方式,其结构如图3所示。


      下面从多个角度来比较一下这两种模式的利弊。
      从查询性能角度来看,在OLTP-DW环节,由于雪花型要做多个表联接,性能会低于星型架构;但从DW-OLAP环节,由于雪花型架构更有利于度量值的聚合,因此性能要高于星型架构。
      从模型复杂度来看,星型架构更简单。
      从层次概念来看,雪花型架构更加贴近OLTP系统的结构,比较符合业务逻辑,层次比较清晰。
      从存储空间角度来看,雪花型架构具有关系数据模型的所有优点,不会产生冗余数据,而相比之下星型架构会产生数据冗余。
      根据我们的项目经验,一般建议使用星型架构。因为我们在实际项目中,往往最关注的是查询性能问题,至于磁盘空间一般都不是问题。 当然,在维度表数据量极大,需要节省存储空间的情况下,或者是业务逻辑比较复杂、必须要体现清晰的层次概念情况下,可以使用雪花型维度。

2、“键”与“约束”的取舍
      主外键的选择是数据仓库建设过程中一个很重要的方面。事实表中由于引用了多个维度表的主键,这些主键结合起来已经具有唯一性,可以确定唯一的事实记录,所以通常情况下,我们不会再为其设立代理键作为主键,而是为其建立复合主键。
      相比之下,维度表中的情况稍微复杂。维度表中的主键通常有两种选择:自然键(Natural Key),它是业务系统中已经存在的,通常是具有一定业务含义的一个字符型的标志符,可以唯一地标志维度表中的每一条记录。比如机构的代码、缩写、时间标 签等。另一种是代理键(Surrogate Key),通常是数据库系统赋予的一个数值,是自增型的,按顺序分配,没有内置含义但也可以唯一地标识一条维度信息。
      根据笔者的项目经验,推荐采用第二种,即代理键。原因如下:
      首先,自然键虽然在逻辑上可以唯一地标识出一条维度信息,但它通常是字符型的,且一般比较长,若用它作为维度表中的主键,那就意味着在事实表中也要加入同 样的外键信息,而事实表记录行数往往是巨大的,在多个维度表上重复这样的做法会使事实表由于列宽过于膨胀而导致性能的急剧下降。
      其次,代理键可以作为数据仓库与源系统之间的“缓冲”。自然键通常具有一定的业务含义,但日久天长,这些信息是有可能发生变化的,比如身份证号码,由最初 的15位变成了现在的18位。如果这种主键一旦发生了变化,由于它同时作为事实表中的外键,必然会对事实表产生影响,因为已有的事实记录已经找不到与之匹 配的维度记录,这就带来了很大的麻烦。但若采用代理键作为维度表中的主键,就完全可以把这些变化屏蔽在维度表内,不会对事实表产生任何影响(当然这个还要 结合缓慢变化维度的处理)。
      最后,从关联效率考虑,数值型的关联要比字符型的关联快很多。

      键约束的取舍也是数据仓库设计过程中一个很值得注意的问题。在OLTP系统环境中,数据的完整性通常靠两种方式来保证,一是应用程序的逻辑保证,另一个是 数据库结构自身的约束机制。这两种方式相互补充,而数据仓库环境中的情况则完全不同,数据仓库中数据的完整性更依赖于应用程序,也就是ETL系统的保证。
      首先,ETL系统运行时间虽然很长,但其结构是简单的,重复地抓取、清洗、转换、加载动作。与其相比,OLTP系统可能同时在一张表上执行大量并行业务操作。
      其次,事实表的唯一入口是维度表,按照维度建模的思路实现ETL程序,只会产生不准确的维度信息,不可能在事实表中产生重复记录。第三,与OLTP系统相比,数据仓库系统没有交互式人机录入界面,不存在“人为”错误。
      因此,在我们比较关注数据加载时间的情况下,最好从数据仓库中删除一些不必要的约束,其中包括主键约束、外键约束及唯一索引约束,这些约束规则可以在外部得以实施。

3、ODS的运用
      ODS(Operational Data Storage,操作型数据存储区)是数据仓库体系结构中的一个可选部分,它具备数据仓库的部分特征和OLTP系统的部分特征。它是“面向主题的、集成 的、当前或接近当前的、随时间不断变化的”数据库系统。在什么情况下才需要用到ODS这个环节呢?或者说,ODS起到了什么作用?
      ODS在业务系统和数据仓库之间形成一个隔离层,如图4所示。一般的数据仓库应用系统都具有非常复杂的数据来源,这些数据存放在不同的地理位置、不同的数 据库、不同的应用之中。从这些业务系统对数据进行抽取并不是一件容易的事,此时就需要用到ODS。它在业务系统和数据仓库之间形成一个隔离层,用来存放从 业务系统直接抽取出来的数据,这些数据从数据结构、数据之间的逻辑关系上都与业务系统基本保持一致,因此在抽取过程中极大降低了数据转化的复杂性,而主要 关注数据抽取的接口、数据量大小、抽取方式等方面的问题。


      ODS还可用来转移一部分业务系统细节查询的功能。在数据仓库建立之前,大量的报表、分析是由业务系统直接支持的,在一些比较复杂的报表生成过程中,对业 务系统的运行产生很大的压力。而ODS中的数据从粒度、组织方式等各个方面都保持了与业务系统相一致,那么原来由业务系统产生的报表、细节数据的查询自然 能够从ODS中进行,从而降低了业务系统的查询压力。
      ODS还可以完成数据仓库中不能完成的一些功能。一般来说,带有ODS的数据仓库体系结构中,DW层所存储的数据都是进行汇总过的数据,并不存储每笔交易 产生的细节数据,但是在某些特殊的应用中,可能需要对交易细节数据进行查询,这时就需要把细节数据查询的功能转移到ODS来完成,而且ODS的数据模型按 照面向主题的方式进行存储,可以方便地支持多维分析等查询功能。在一个没有ODS层的数据仓库应用系统体系结构中,数据仓库中存储的数据粒度是根据需要而 确定的,但一般来说,最为细节的业务数据也是需要保留的,实际上也就相当于ODS,但与ODS所不同的是,这时的细节数据不是“当前、不断变化的”数据, 而是“历史的,不再变化的”数据。

      总结
      通览本文,大家应该认识到,数据仓库并不神秘,在物理上它与OLTP并无本质区别。与OLTP不同的是,不是用来做交易处理,而是用于决策支持。也正因为 此,它具有主题性、集成性、稳定性和时变性等特点。为提高数据仓库的性能和效率,在设计数据仓库时,也有技巧可循。

微软MSBI零基础从数据仓库到商业智能实战(SSIS SSAS SSRS) 微软MSBI介绍 微软MSBI微软公司的一套商业智能解决方案,产品基于SQL SERVER基础上提供了,SSIS用于ETL,SSAS多维分析工具与SSRS报表展示工具等,一般用SQL SERVER作为数据仓库,支持MDX多维分析数据查询语言,用于OLAP分析。 适合人群: 数据仓库工程师、ETL工程师、BI工程师 MSBI课程体系设置 第一阶段:MSBI快速入门 微软MS 阅读详情

相关推荐

Power BI Copilot在Microsoft Fabric中的实战应用与避坑指南

自然语言查询是现代BI工具的核心交互范式,其本质是将业务意图转化为可执行的数据逻辑。Power BI Copilot依托Microsoft Fabric统一元数据、实时权限与弹性算力三大底座,实现DAX生成、报表构建与数据解释三大能力闭环。它并非替代分析思维,而是将传统需数小时完成的建模调试、视觉设计与知识交接压缩至分钟级,显著降低DAX学习门槛并提升协作效率。典型应用场景包括业务分析师的即席洞察、数据工程师的代码辅助及新手的零文档上手。本文聚焦Fabric环境下Copilot的原理边界、实操路径与7大高发

weixin_34348805的博客 418

Microsoft数据仓库架构!

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 670

Power BI看板设计实战:从决策导航到业务落地

Power BI看板不是报表的简化版,而是面向业务决策的轻量级导航系统。其核心在于通过空间约束倒逼信息聚焦、数据源解耦保障权限安全、视觉编码降低认知负荷——本质是将复杂数据流转化为可执行的业务快照。技术价值体现在缩短决策路径(如晨会时间压缩73%)、支撑GDPR/等保合规、实现跨系统数据切片展示。典型应用场景包括电商运营监控、制造业库存预警、银行风控仪表盘等。本文基于2024年Power BI Service生产环境,详解看板与报告的本质分野、视觉选择的认知心理学依据、动态钉选与静态钉选的协作边界等关键实践

weixin_30628801的博客 372

BI之路学习笔记1--SSIS包的认识和设计

进入了新的公司,开始接触新的方向,内心激动而又兴奋,对于BI以前知道的极少,从今天开始要好好学习了~ BI的概念,功能,强大之处在此先不做赘述,BI之路先要一步一个脚印扎实做起,现在正在看的也是之前好多大神们推荐的《SQL SERVER 2008商业智能完美解决方案》,相信无论对初学者还是BI高级开发人员都有启示。 首先,ETL工作之一,最简单的是SSIS包的设计-调试-执行-部署,...

anko2011的博客 283

BI怎么选型?企业如何选择合适的BI工具?

BI工具不是看谁最火、最贵,而是看能不能解决企业痛点。我一直强调以下几点:①明确需求:分析深度、数据源复杂度、用户技能、预算约束②先试用再决定:大部分BI工具提供试用或Demo环境,先在核心数据上测试效果③重视数据治理:权限、数据质量、整合能力比可视化炫酷更重要④考虑团队承接能力:小白能上手,IT能扩展,这个平衡关键⑤关注长期可扩展性:企业发展快,BI工具要支持系统集成和分析扩展用过来人的经验告诉你,BI工具的价值不在于外表花哨,而在于能否让企业数据真正可用。

2601_95417464的博客 386

BI工具选型与实施指南:从Power BI到永洪BI的实战解析

商业智能(BI)作为一套将原始数据转化为洞察以支持决策的方法体系,其核心原理在于通过数据抽取、清洗、建模、可视化与共享的流程,构建企业的“决策神经系统”。这一技术通过统一数据口径、实现交互式分析与实时监控,为企业带来显著的效率提升与协同价值。在工程实践中,BI工具的选择与实施是关键环节。当前市场主流工具如Power BI凭借其强大的数据建模能力与Office生态集成,成为个人与轻量团队的热门选择;而永洪BI作为国产化代表,则在本地部署、信创支持及中式复杂报表处理上展现出独特优势。本文聚焦于如何根据团队技能、

weixin_34138056的博客 365

Project 2024 安装本质:ODT 部署与企业级集成指南

Microsoft Project 是面向专业项目管理的协作调度中枢,其核心能力依赖于与 Azure AD、SharePoint、Teams 和 Power BI 的深度集成。安装并非传统软件部署,而是基于 Office Deployment Tool(ODT)的策略化配置过程,涉及身份锚定、服务注册、网络代理适配与许可证验证等关键原理。技术价值在于实现跨平台任务协同、资源可视化调度与实时数据联动,广泛应用于工程基建、IT 系统实施、金融项目管理等需强计划管控的场景。本文聚焦 Project 2024(即

weixin_30333885的博客 427

Power BI三层架构与DAX本质:从关系建模到可解释分析

Power BI并非可视化工具,而是面向业务人员的分析操作系统,其核心在于数据层、逻辑层与呈现层的物理分离。理解关系建模原理,可避免宽表冗余与维护失控;掌握DAX作为‘业务逻辑的数学表达式’本质,能将‘累计销售额’‘复购率’等指标转化为可追溯、可协作的度量值。它支撑实时归因、跨维度下钻与行级安全等企业级能力,广泛应用于零售动销分析、制造产线看板及中小团队BI中台建设。本文聚焦Power BI Desktop建模规范、DAX避坑实践与Service协作机制,助力用户构建稳定、可演进的数据决策链。

weixin_30697239的博客 376

《一文搞懂数据查询与分析层:SQL、OLAP 与 BI 工具全解析

数据查询与分析层概述 数据查询与分析层是数据处理流程中的关键环节,主要负责对数据仓库/湖中的数据进行查询、分析和可视化,赋能企业决策。该层包含三大核心组件: SQL查询引擎(Hive/Presto/Trino):支持分布式SQL查询,适用于批量分析和多源联合查询 BI可视化工具(Tableau/Power BI):提供交互式报表和仪表盘构建能力 OLAP引擎(Kylin/ClickHouse):实现快速多维分析和大规模数据聚合 典型应用场景包括:历史数据分析、实时监控看板、业务指标统计等。通过SQL引擎处理

weixin_44519124的博客 532

微软Copilot企业级落地:从M365到Foundry的三层架构解析

AI助手已从通用对话工具演进为嵌入业务流程的智能工作流引擎。其核心在于将大模型能力与企业身份、权限、数据源及合规体系深度耦合——这正是Copilot Studio实现低代码编排、Foundry保障本地化可信推理、Microsoft 365 Copilot完成无感触发的技术逻辑。相比单纯调用API或替换模型,真正提升生产力的关键在于上下文感知粒度、意图识别可训练性与审计溯源精度。该架构已在制造、医药、金融等行业支撑GxP、等保三级、SOC2等强合规场景,适用于IT架构师评估AI集成路径、业务人员快速构建知识助

weixin_34232744的博客 336

大数据领域中 Power BI 的优势及应用场景

在大数据(Volume、Variety、Velocity、Veracity、Value)时代,企业面临的核心挑战已从“如何存储数据”转向“如何快速提取数据价值”。传统BI工具因依赖IT、处理能力有限、交互性差等痛点,无法满足业务对“实时、自助、可扩展”的需求。Power BI作为微软推出的云原生自助式BI平台,通过多源数据连接、高效ETL、动态建模、交互式可视化、协作分享五大核心能力,精准解决大数据场景下的“数据孤岛”“分析延迟”“价值传递不畅”等问题。本文将从。

小白菜的博客 661

Power BI与MySQL连接器版本兼容性深度解析:从安装到避坑指南

本文深入解析Power BI与MySQL连接器的版本兼容性问题,提供从安装到避坑的完整指南。重点介绍MySQL Connector/NET和ODBC两种连接方式的技术选型、版本匹配法则及常见错误解决方案,帮助企业级用户高效实现数据集成与性能优化。

weixin_29268267的博客 450

Power BI与Tableau核心差异:架构、版本控制与DAX调试实战解析

商业智能(BI)工具的本质差异,源于底层架构设计逻辑的不同。Tableau以画布为中心强调视觉自由与即时交互,Power BI则基于语义模型与DAX表达式构建装配式分析体系。这种根本性分野直接导致版本控制缺失、Mac生态断裂、图表自由度受限、数据关系建模反直觉及DAX调试高门槛等工程实践痛点。理解Power BI的数据模型驱动机制和DAX上下文原理,是实现稳定交付与高效协作的技术前提。本文聚焦企业级迁移中高频踩坑场景,结合Git集成、Azure DevOps流水线、XMLA端点审计、自定义视觉对象与DAX三

jackleechina2011212的博客 429

Power BI Dashboard设计核心:单页聚焦与跨源整合实战指南

Power BI Dashboard是一种面向决策者的单页商业简报,其本质是信息优先级的结构化呈现,而非多页分析报告的简化版。它依赖底层数据建模、跨数据源语义对齐与视觉编码逻辑,技术价值在于将分散的Excel、SQL和API数据统一为可行动的业务洞察。典型应用场景包括高管晨会速览、门店运营监控、SaaS客户健康度追踪等实时决策场景。本文深入解析Dashboard区别于Report的核心约束——单页强制聚焦、Tile级跨源拼接、Pin机制与Live刷新权衡,并结合Superstore实战案例,系统拆解从数据准

congtaixiao7151的博客 503

Power BI 完整介绍

Power BI微软推出的,核心定位是让业务人员无需深度依赖 IT,即可快速完成多源数据整合、建模、可视化与协作分享,是企业级报表与数据分析的主流方案之一。

weixin_39757802的博客 491

Power BI Desktop安装避坑指南:Store版与下载中心版深度对比

Power BI Desktop是微软推出的免费商业智能桌面工具,核心能力涵盖数据获取、建模(DAX)、可视化与Power Query转换。其安装并非简单点击下一步,而是涉及系统级依赖(如.NET 6运行时、DirectX、显卡驱动)、权限模型(UWP沙盒 vs Win32 MSI注册)及企业管控机制(GPO、SCCM、离线部署)。选择Store版还是下载中心版,本质是权衡安全隔离性与企业数据源兼容性——前者免管理员权限但不支持Oracle/SAP等传统数据库驱动;后者需系统级注册,却可深度集成SQL Se

weixin_33892359的博客 524

Power BI报表搜索引擎:Teams中3秒定位报表的No-Code AI方案

Power BI报表发现本质上是语义匹配问题,而非生成式AI任务。其核心原理在于将报表元数据(名称、页面标题、描述等)构建成可检索的语义指纹,并通过轻量级嵌入模型实现自然语言查询与报表资产的向量对齐。该技术显著降低业务用户查找报表的认知负荷与操作成本,无需编写代码或维护复杂基础设施,直接集成于Microsoft Teams工作流。典型应用场景包括销售复盘、财务快报、区域运营分析等需高频调阅分散报表的业务环节,尤其适用于命名不规范、权限隔离严、IT支持有限的中大型企业环境。

weixin_30566111的博客 373

Power BI可视化设计:从画图到业务对话的认知升级

数据可视化是将原始数据转化为可理解业务洞见的关键技术,其核心原理植根于人类视觉认知规律与信息传达效率。通过匹配数据类型与视觉通道(如位置编码优于角度编码)、控制信噪比、降低认知负荷,可视化才能真正支撑商业决策。在商业智能(BI)实践中,Power BI Visuals 不仅是图表工具,更是业务语言的翻译器——它要求设计者超越像素操作,理解销售趋势、区域对比、构成分析等典型场景背后的语义需求。本文围绕新手常见误区,系统阐释如何以业务问题为起点,构建高沟通效率的仪表板,尤其聚焦 Power BI Visuals

weixin_30709061的博客 407
上一篇: [分享]微软BI专题-IS 项目部署及其安全性控制
下一篇: [分享]微软BI专题-渐变维度转换及其实现
jackfor001
博客等级 码龄21年 41粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值