在数据仓库的建设过程中,建模方法至关重要。其中,自下而上和自上而下是两种常见且关键的建模方式。自下而上的建模方法从具体的业务需求出发,先关注局部的数据处理和分析。自上而下的建模方法则是从企业的整体战略和业务目标出发,先规划好数据仓库的整体架构,明确业务需求和目标后,设计数据仓库架构、进行数据建模,再按照规划逐步构建各个层次和模块。理解这两种建模方法对于认识数据仓库有着极大的帮助,能够让我们清晰地看到数据仓库建设的不同路径和策略选择,根据企业的实际情况和需求进行合理决策。
一、数据仓库基本介绍
数据仓库是在统一模式下组织的数据源异构集合。
1、数据来源:数据仓库的数据来源多样,它是数据处理、转换和加载到数据库的中央存储,能够让使用者轻易从数据仓库获取数据,并且借助商业智能和分析工具,将数据用于分析和决策制定。
2、数据仓库运行工作:收集、管理、整合来源不同的数据到统一集中的数据集里
3、数据存储:一旦数据完成收集,根据数据不同的种类和形式,将会被处理和存储到不同的面板,机密的商业数据也能够被存储到数据仓库中,比如雇员信息,工资信息等
4、优势:来自数据仓库的信息能够帮助企业对顾客检索研究,同时在竞争激烈的市场中也能够预测即将到来的趋势。提供精准的信息关于顾客需求和顾客商业期望,这一切变得简单图提供企业准确并且能够帮助企业提高顾客满意度。

二、自上而下建模方法

比尔-英蒙(Bill Inmon)开发的最初方法被称为自上向下方法(也称为范式建模),首先要为整个公司建立一个单一来源的数据仓库。通过 ETL(提取、转换、加载)流程合并和处理外部数据,然后将其存储到数据仓库中。然后在此基础上为不同的组织部门建立专门的数据集市。这种方法的优势在于它提供了一个清晰的数据管理结构,但这种方法成本较贵,也很耗时,因此只适用于大型企业。
这种方法被 Inmon 定义为:数据仓库是整个组织的中央存储库,在创建完整的数据仓库后,再从中创建数据集市。
以下是自上而下的方法所涉及的步骤:
1、数据是从各种源系统中提取的。底层对接数据源
2、通过使用ETL工具来提取、转换、加载数据到数据仓库的ODS层。
3、通过ODS层的数据建设数据仓库
4、在数据仓库的建设上建设多维格式的数据集市。
优势:
- 提高数据一致性:自上而下的方法可确保所有数据集市都来自一个共同的数据仓库,从而提高数据的一致性。这确保了所有数据的标准化,降低了报告中出现错误和不一致的风险。
- 更易于维护:由于所有数据集市都来自一个中央数据仓库,因此采用自上而下的方式维护和更新数据更加容易。可以对数据仓库进行更改,这些更改会自动传播到依赖该数据仓库的所有数据集市。
- 更好的可扩展性:自顶向下方法具有很强的可扩展性,允许企业根据需要添加新的数据集市,而不会中断现有的基础设施。这对于正在经历快速增长或业务需求不断变化的企业尤为重要。
- 改进管理:自上而下的方法可实现对数据访问、安全性和质量的集中控制,从而促进更好的管理。这可确保所有数据得到统一管理,并符合组织的质量和合规标准。
- 更好的报告:自上而下的方法通过在所有数据集市中提供一致的数据视图来改进报告。这样就能更容易地创建准确、及时的报告,从而改进决策,推动取得更好的业务成果。
- 更好的数据集成:自上而下的方法可确保所有数据集市都来自一个共同的数据仓库,从而实现更好的数据集成。这样可以更容易地整合不同来源的数据,并提供更完整的组织数据视图。
缺点:
- 成本:成本高、设计和维护时间长。
- 复杂性:自顶向下方法的实施和维护可能很复杂,特别是对于数据需求复杂的大型企业。数据仓库和数据集市的设计和实施既费时又费钱。
- 缺乏灵活性:自上而下的方法可能不适合在数据报告和分析方面需要高度灵活性的组织。由于数据仓库和数据集市的设计是预先确定的,因此可能无法适应新的或不断变化的业务需求。
- 数据所有权:自上而下的方法会给数据所有权和控制权带来挑战。由于数据集中在数据仓库中,因此可能不清楚由谁负责维护和更新数据。
- 集成挑战:自上而下的方法在整合不同来源的数据时可能面临挑战,特别是当数据以不同格式或结构存储时。这可能导致数据不一致和不准确。

三、自下而上建模方法

自下而上法(也称维度建模方法)是拉尔夫-金博尔(Ralph Kimball)提出的一种构建单个数据集市的方法,这些数据集市位于特定业务目标或功能(如营销或销售)的中心。首先对这些数据集市进行提取、转换和加载,以提供组织即时生成报告的能力。反过来,这些数据集市又隶属于更集中、更广泛的数据仓库系统。这是一种更灵活的培训方法,成本更低,最适合小型企业。不过,这种方法会造成数据孤岛和数据差异,从而使组织的各个部门无法获得一致的视角
构建步骤:
1、数据抽取与集成,从外部来源提取数据,然后通过ETL工具进行集成。
2、将ETL处理完的数据加载到数据仓库ODS层。
3、通过ODS层数据,采用维度建模方法建设数据集市。
4、通过一致性维度将这些数据集市整合到数据仓库中。
自下而上方法的优势:
- 快速实现局部价值:由于是从底层数据开始逐步构建,能够快速地为某些特定的业务场景或部门提供数据支持和分析价值。
- 灵活性:自下而上的方法比自上而下的方法更灵活,因为它允许根据具体业务需求创建数据集市。这种方法对于在报告和分析中需要高度灵活性的组织特别有用。同时对企业现有的数据环境和业务流程的适应性较强。可以根据业务的变化和数据的更新情况,灵活地调整数据仓库的构建方向和重点。
- 降低初期风险:在构建初期不需要对整个企业的数据仓库进行全面的规划和设计,投入的资源和成本相对较少,风险也较低。如果在构建过程中发现某些部分不符合预期,可以比较容易地进行调整或重新设计。
- 可扩展性:自下而上的方法可以随着时间的推移而扩展,因为可以根据需要添加新的数据集市。这种方法对于快速发展或正在经历重大变革的组织尤其有用。
- 数据所有权:自下而上的方法有助于明确数据所有权和控制权,因为每个数据集市通常由特定的业务部门拥有和管理。这有助于确保数据的准确性和最新性,并确保在整个组织内以一致和适当的方式使用数据。
自下而上方法的缺点:
- 数据孤岛:自下而上的方法可能会导致数据孤岛的产生,不同的业务部门会创建自己的数据集市,而不考虑组织其他部门的需求。这可能会导致数据不一致和冗余,并给整个组织的数据整合带来困难。
- 集成挑战:随着数据仓库的逐步构建,后期要将各个分散的部分集成到一个完整的体系中会变得越来越困难。因为在前期没有一个统一的架构设计,不同部分的数据格式、编码规则、数据语义等可能存在差异,增加了数据集成和整合的难度。
- 工作重复:在自下而上的方法中,不同的业务部门可能会重复工作,用类似或重叠的数据创建自己的数据集市。这会导致数据管理效率低下,成本增加。
- 缺乏全企业视角:自下而上的方法可能导致缺乏全企业视角,因为数据集市的设计通常是为了满足特定业务部门的需求,而不是整个组织的需求。这样就很难全面了解企业的数据和业务流程。

四、两种方式该怎么选择?
在对比两种方法中,可以看出核心的不同主要是数据仓库和数据集市在创建先后顺序和逻辑关系。
范式建模的应用场景:
1、企业级数据整合与管理:当企业需要整合多个复杂的业务系统数据,构建一个完整、统一的数据仓库时,范式建模是很好的选择。它能够确保数据的一致性和完整性,避免数据冗余和更新异常。
2、数据长期维护和历史追溯:对于需要长期保存和维护数据历史的场景,范式建模能够很好地满足要求。由于其严格的设计原则,数据的变更历史可以通过合理的表结构和关联关系进行追溯。
3、数据共享与数据交互频繁的环境:在企业内部数据共享平台或者数据交换中心的建设中,范式建模有助于实现数据的标准化和规范化。
维度建模的应用场景:
1、数据分析与决策支持:维度建模是为了高效地支持数据分析和决策而设计的,所以在商业智能(BI)和数据分析领域应用广泛。
2、数据集市建设:数据集市是为特定部门或业务场景提供数据的小型数据仓库,维度建模非常适合数据集市的快速构建。
3、数据探索和快速原型开发:在数据仓库项目的初期或者数据探索阶段,维度建模的灵活性和快速实现的特点使其成为理想的选择。