数据仓库构建的两种方法:自上向下、自下向上

一、数据仓库基本介绍

**数据来源:**数据仓库的数据来源多样,它是数据处理、转换和加载到数据库的中央存储,能够让使用者轻易从数据仓库获取数据,并且借助商业智能和分析工具,将数据用于分析和决策制定。

**数据仓库运行工作:**收集、管理、整合来源不同的数据到统一集中的数据集里

**数据存储:**一旦数据完成收集,根据数据不同的种类和形式,将会被处理和存储到不同的面板,机密的商业数据也能够被存储到数据仓库中,比如雇员信息,工资信息等

**优势:**来自数据仓库的信息能够帮助企业对顾客检索研究,同时在竞争激烈的市场中也能够预测即将到来的趋势。提供精准的信息关于顾客需求和顾客商业期望,这一切变得简单图提供企业准确并且能够帮助企业提高顾客满意度。

数据仓库是在统一模式下组织的数据源异构集合。构建数据仓库有两种方法: 自上而下法和自下而上法解释如下。

二、什么是自上而下方法?

比尔-英蒙(Bill Inmon)开发的最初方法被称为自上向下方法,首先要为整个公司建立一个单一来源的数据仓库。通过 ETL(提取、转换、加载)流程合并和处理外部数据,然后将其存储到数据仓库中。然后在此基础上为不同的组织部门(如财务部门)建立专门的数据集市。这种方法的优势在于它提供了一个清晰的数据管理结构,但这种方法可能很昂贵,也很耗时,因此只适用于大型组织。

基本组成部分:

外部来源: 外部来源是指收集数据的来源,不论数据类型如何。数据可以是结构化、半结构化和非结构化的。

阶段区域: 由于从外部来源提取的数据不遵循特定格式,因此需要对这些数据进行验证,以便加载到数据仓库中。为此,建议使用 ETL 工具。

E(提取): 从外部数据源提取数据。

T(转换): 将数据转换为标准格式。

L(加载): 将数据转换为标准格式后加载到数据仓库。

数据仓库: 数据清理后,作为中央存储库存储在数据仓库中。它实际上存储的是元数据,而实际数据则存储在数据集市中。请注意,在这种自上而下的方法中,数据仓库以最纯粹的形式存储数据。

数据集市: 数据集市也是存储组件的一部分。它存储由单一机构处理的组织特定职能的信息。根据职能的不同,一个组织可以有多个数据集市。我们也可以说,数据集市包含存储在数据仓库中的数据的子集。

数据挖掘: 对数据仓库中的大数据进行分析的做法就是数据挖掘。在数据挖掘算法的帮助下,它可以找到数据库或数据仓库中存在的隐藏模式。

这种方法被 Inmon 定义为:数据仓库是整个组织的中央存储库,在创建完整的数据仓库后,再从中创建数据集市。

优势:

  1. 由于数据集市是从数据仓库中创建的,因此可提供一致的数据集市维度视图。

2. 提高数据一致性: 自上而下的方法可确保所有数据集市都来自一个共同的数据仓库,从而提高数据的一致性。这确保了所有数据的标准化,降低了报告中出现错误和不一致的风险。

3. 更易于维护: 由于所有数据集市都来自一个中央数据仓库,因此采用自上而下的方式维护和更新数据更加容易。可以对数据仓库进行更改,这些更改会自动传播到依赖该数据仓库的所有数据集市。

4.更好的可扩展性: 自顶向下方法具有很强的可扩展性,允许企业根据需要添加新的数据集市,而不会中断现有的基础设施。这对于正在经历快速增长或业务需求不断变化的企业尤为重要。

5.改进管理: 自上而下的方法可实现对数据访问、安全性和质量的集中控制,从而促进更好的管理。这可确保所有数据得到统一管理,并符合组织的质量和合规标准。

6.减少重复: 自上而下的方法可确保数据在数据仓库中只存储一次,从而减少数据重复。这不仅节省了存储空间,还降低了数据不一致的风险。

7.更好的报告: 自上而下的方法通过在所有数据集市中提供一致的数据视图来改进报告。这样就能更容易地创建准确、及时的报告,从而改进决策,推动取得更好的业务成果。

8.更好的数据集成: 自上而下的方法可确保所有数据集市都来自一个共同的数据仓库,从而实现更好的数据集成。这样可以更容易地整合不同来源的数据,并提供更完整的组织数据视图。

缺点:

**1. 成本:**成本高、设计和维护时间长。

2. 复杂性: 自顶向下方法的实施和维护可能很复杂,特别是对于数据需求复杂的大型企业。数据仓库和数据集市的设计和实施既费时又费钱。

3. 缺乏灵活性: 自上而下的方法可能不适合在数据报告和分析方面需要高度灵活性的组织。由于数据仓库和数据集市的设计是预先确定的,因此可能无法适应新的或不断变化的业务需求。

4. 用户参与有限: 自上而下的方法可能由 IT 部门主导,这可能导致用户对设计和实施过程的参与有限。这可能导致数据集市无法满足业务用户的特定需求。

5. 数据延迟: 自上而下的方法可能会导致数据延迟,特别是当数据来自多个系统时。这会影响报告和分析的准确性和及时性。

6. 数据所有权: 自上而下的方法会给数据所有权和控制权带来挑战。由于数据集中在数据仓库中,因此可能不清楚由谁负责维护和更新数据。

7. 成本: 自上而下的方法实施和维护成本可能会很高,尤其是对于规模较小的组织而言,它们可能没有足够的资源来投资大型数据仓库和相关的数据集市。

8. 集成挑战: 自上而下的方法在整合不同来源的数据时可能面临挑战,特别是当数据以不同格式或结构存储时。这可能导致数据不一致和不准确。

三、什么是自下而上法?

自下而上法 是拉尔夫-金博尔(Ralph Kimball)提出的一种构建单个数据集市的方法,这些数据集市位于特定业务目标或功能(如营销或销售)的中心。首先对这些数据集市进行提取、转换和加载,以提供组织即时生成报告的能力。反过来,这些数据集市又隶属于更集中、更广泛的数据仓库系统。这是一种更灵活的培训方法,成本更低,最适合小型企业。不过,这种方法会造成数据孤岛和数据差异,从而使组织的各个部门无法获得一致的视角

组成部分:

  1. 从外部来源提取数据(与自上而下的方法相同)。

  2. 数据经过暂存区(如上所述),加载到数据集市而不是数据仓库。数据集市首先创建,并提供报告功能。它针对的是单一业务领域。

  3. 将这些数据集市整合到数据仓库中。

Kinball 提出的这种方法是:先创建数据集市,为分析提供细化视图,在创建完整的数据集市后再创建数据仓库。

自下而上方法的优势

  1. 由于数据集市是先创建的,因此可以快速生成报告。

  2. 可以容纳更多的数据集市,从而扩展数据仓库。

  3. 而且,设计这种模式的成本和时间相对较低

  4. 增量开发: 自下而上的方法支持增量开发,允许一次创建一个数据集市。这样就能在数据报告和分析方面实现速赢和渐进式改进。

  5. 用户参与: 自下而上的方法鼓励用户参与设计和实施过程。业务用户可以对数据集市和报告提供反馈,帮助确保数据集市满足他们的特定需求。

  6. 灵活性: 自下而上的方法比自上而下的方法更灵活,因为它允许根据具体业务需求创建数据集市。这种方法对于在报告和分析中需要高度灵活性的组织特别有用。

  7. 更快实现价值: 自下而上的方法可以更快地实现价值,因为数据集市的创建速度比集中式数据仓库更快。这对资源有限的小型企业尤其有用。

  8. 降低风险: 自下而上的方法降低了失败的风险,因为数据集市可以在纳入更大的数据仓库之前进行测试和完善。这种方法还有助于在流程早期识别和解决潜在的数据质量问题。

  9. 可扩展性: 自下而上的方法可以随着时间的推移而扩展,因为可以根据需要添加新的数据集市。这种方法对于快速发展或正在经历重大变革的组织尤其有用。

10.数据所有权: 自下而上的方法有助于明确数据所有权和控制权,因为每个数据集市通常由特定的业务部门拥有和管理。这有助于确保数据的准确性和最新性,并确保在整个组织内以一致和适当的方式使用数据。

自下而上方法的缺点:

  1. 由于数据集市的维度视图与上述方法不一致,因此这种模式不如自顶向下方法强大。

  2. 数据孤岛:自下而上的方法可能会导致数据孤岛的产生,不同的业务部门会创建自己的数据集市,而不考虑组织其他部门的需求。这可能会导致数据不一致和冗余,并给整个组织的数据整合带来困难。

3.集成挑战: 由于自下而上的方法依赖于多个数据集市的整合,因此整合来自不同来源的数据并确保整个组织的一致性会更加困难。这可能会导致数据质量和准确性方面的问题。

  1. **工作重复:**在自下而上的方法中,不同的业务部门可能会重复工作,用类似或重叠的数据创建自己的数据集市。这会导致数据管理效率低下,成本增加。

  2. 缺乏全企业视角: 自下而上的方法可能导致缺乏全企业视角,因为数据集市的设计通常是为了满足特定业务部门的需求,而不是整个组织的需求。这样就很难全面了解企业的数据和业务流程。

  3. 复杂性: 自下而上的方法可能比自上而下的方法更复杂,因为它涉及多个复杂程度和粒度不同的数据集市的整合。这会增加长期管理和维护数据仓库的难度。

  4. 不一致的风险: 由于自下而上的方法允许创建不同结构和粒度的数据集市,因此存在数据不一致的风险。这可能导致难以比较企业不同部门的数据,或难以确保报告的准确性和可靠性。

数仓建设是企业数据管理和决策支持的关键环节,离线数仓和准实时数仓的建设都需要考虑不同的技术难点和要求。在实践中,企业需要根据自身业务需求和数据规模,选择合适的数仓建设方案和技术方案,以提高企业数据资产的价值和利用效率。

比如,目前主流的软件------FineDataLink,它小到数据库对接、API对接、行列转换、参数设置,大到任务调度、运维监控、实时数据同步、数据服务API分享,另外它可以满足数据实时同步的场景,应有尽有,功能很强大。

了解更多数据仓库与数据集成关干货内容请关注>>>FineDataLink官网

免费试用、获取更多信息,点击了解更多>>>体验FDL功能

相关推荐
没书读了8 分钟前
ssm框架-spring-spring声明式事务
java·数据库·spring
i道i40 分钟前
MySQL win安装 和 pymysql使用示例
数据库·mysql
小怪兽ysl40 分钟前
【PostgreSQL使用pg_filedump工具解析数据文件以恢复数据】
数据库·postgresql
武子康1 小时前
Java-06 深入浅出 MyBatis - 一对一模型 SqlMapConfig 与 Mapper 详细讲解测试
java·开发语言·数据仓库·sql·mybatis·springboot·springcloud
wqq_9922502771 小时前
springboot基于微信小程序的食堂预约点餐系统
数据库·微信小程序·小程序
爱上口袋的天空1 小时前
09 - Clickhouse的SQL操作
数据库·sql·clickhouse
宅小海2 小时前
scala String
大数据·开发语言·scala
小白的白是白痴的白2 小时前
11.17 Scala练习:梦想清单管理
大数据
java1234_小锋2 小时前
Elasticsearch是如何实现Master选举的?
大数据·elasticsearch·搜索引擎
聂 可 以3 小时前
Windows环境安装MongoDB
数据库·mongodb