数仓大揭秘:一篇文章带你走进神秘的数据世界!

3 评论 1048 浏览 20 收藏 16 分钟

可能不少人都听说过数据仓库,其实简单理解,数据仓库即一个数据存储系统,它可以从不同源系统中收集数据,并对数据做相应的处理,以为企业提供决策支持。这篇文章里,作者就对数据仓库、包括数据库、数据中台等概念做了解读和分析,一起来看。

一、什么是数据仓库?

1. 数仓的概念

数据仓库是一个用于存储、管理和分析大量结构化和非结构化数据的集中式数据库系统。它从不同的源系统中收集数据,并将这些数据进行清洗、整合和转换,以便能够支持复杂的商业智能和数据分析应用程序。

简而言之,数据仓库用于分析,为企业提供决策支持。

数据仓库本身不“生产”任何数据,同时也不“消费”任何数据,数据来源于外部,并开发给外部应用。

2. 数仓的特点

数据仓库是一个集成、非易失的、以主题为导向的数据存储系统,旨在支持企业决策和数据分析需求。它具有高性能查询、历史数据存储和决策支持的特点,为企业提供了准确、全面和及时的信息基础。

数据仓库具有以下特点:

  • 主题导向:数据仓库基于主题组织数据,而不是按照应用程序或业务部门的结构组织数据。
  • 面向分析:数据仓库的主要用途是进行数据分析和生成报表,支持数据挖掘、统计分析、预测建模等操作。
  • 集成性:数据仓库从多个源中提取、转换和加载数据,确保数据的一致性和准确性。
  • 非易失性:数据仓库通常存储大量的历史数据,包括过去几年的数据,一般不会被修改或删除,而是追加新数据。这样可以确保历史数据的完整性和可追溯性,用户可以进行趋势分析、时间序列分析和比较分析,可以更好地理解业务发展和变化。

二、为什么要有数据仓库?

数据仓库可以对业务数据进行整合、清洗和转换,提高数据的质量和一致性,同时也提供更好的查询和分析性能。数据仓库不仅可以提供实时数据查询,还可以支持历史数据及趋势的分析,为企业提供更全面的数据视图和高效的数据分析能力。如果不搭建数据仓库,直接把业务数据拿来分析,可能会存在以下几个问题:

  • 数据质量问题:业务数据通常来自于不同的系统和部门,不同系统之间的数据格式、定义和标准可能不一致,数据质量也可能存在问题。这样的数据可能包含重复、缺失或不正确的数据,这些问题会影响数据的准确性。
  • 速度问题:业务数据通常以事务方式记录在各自的系统中,随着数据量的增加,数据查询和处理速度可能会变慢。由于业务数据的数量庞大和多样化,直接对其进行数据分析可能导致数据查询和处理的速度明显降低。
  • 数据冗余问题:企业内部的业务数据通常存在重复的情况。当多个系统中存在相同的数据时,如果不进行整合和清洗,数据分析过程中可能会出现重复计算或不一致的数据结果。
  • 数据不一致问题:由于业务数据来自不同的系统和部门,数据之间可能存在不一致性。这个问题可能由于不同系统使用的数据格式和标准不同,也可能由于数据来源不同等因素导致。

1. 数据仓库的数据从哪来

数据仓库的数据来自企业内部和外部的多个数据源。数据形式多种多样,可能是Oracle、MySQL、SQL Server等关系数据库里的结构化数据,可能是文本、CSV等平面文件或Word、Excel文档中的数据,还可能是HTML、XML等自描述的半结构化数据。

这些业务数据经过一系列的数据抽取、转换、清洗,最终以一种统一的格式装载进数据仓库。数据仓库里的数据作为分析用的数据源,提供给后面的即席查询、分析系统、数据集市、报表系统、数据挖掘系统等。

2. 数据仓库的作用

  • 决策支持:数据仓库采用了ETL(Extract,Transform,Load)过程,将来自不同数据源的数据进行集成和转化,获得一致和综合的视图,使得企业决策者可以更好地理解和分析数据。通过数据仓库,决策者可以获取准确、实时的信息,做出基于数据的明智决策,促进企业的发展和竞争力提升。
  • 数据分析:数据仓库为企业提供了丰富的数据分析功能和工具。通过对数据仓库中的数据进行挖掘、统计分析和可视化,企业可以发现潜在的业务趋势、关联关系和异常情况。这些分析结果可以帮助企业发现业务机会、改进业务流程、优化资源配置等。
  • 数据整合:企业内部通常有多个业务系统和数据库,它们之间可能存在数据格式不一致、冗余数据和数据孤岛的问题。数据仓库通过数据整合和转换的过程,将数据整合成统一的格式和模型,消除了冗余和不一致性。这样做可以提高数据质量,减少数据重复和冗余,提供一致性的数据源。
  • 历史数据分析:数据仓库通常存储大量的历史数据,包括过去几年的数据。这些历史数据对于企业进行趋势分析、时间序列分析和比较分析非常有价值。通过分析历史数据,企业可以了解业务的发展轨迹、识别周期性变化和预测未来趋势,帮助企业做出更具战略性的决策。
  • 统一数据视图:数据仓库提供了一个统一的数据视图,将企业各个部门的数据整合在一起。这样,不同部门的用户可以从同一个数据仓库中获取数据,共享数据资源,避免了数据孤岛和数据冲突的问题。同时,统一的数据视图也方便了数据分析和数据共享的需求。
  • 高性能查询:数据仓库通过数据建模、索引等技术,提供了高性能的查询功能。这使得用户可以进行复杂的分析查询,对大规模数据进行快速查询和处理。数据仓库的高性能查询功能对于及时响应用户的查询需求和分析需求非常重要。

三、数据仓库与数据库的区别

数据库是事务系统的数据平台,数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总,加工,为决策者提供决策依据。数据库与数据仓库的区别实际上讲的是联机事务处理OLTP(on-line transaction processing)与联机分析处理OLAP(On-Line Analytical Processing)的区别。

OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。

四、数据仓库与数据中台的区别

数据仓库和数据中台是两种不同的数据管理架构,都是为了支持企业数据管理和分析而设计的,具体的实现方式和架构会根据不同组织的需求和情况有所不同。

五、数据湖、数据仓库、数据平台、数据中台

数据仓库主要面向结构化数据的整合和分析,数据湖主要面向原始数据的存储和批量处理,数据平台是一个综合的数据管理和分析平台,而数据中台则是一个数据整合和标准化管理的中间层。它们在数据处理、存储和分析的策略、技术和能力上有所区别。

  • 数据湖(Data Lake):数据湖是一个存储大量结构化和非结构化数据的集合。与数据仓库不同,数据湖不需要提前定义模型和架构。数据湖将原始数据以其原始形式存储,可以容纳多种数据类型和格式。数据湖通常用于数据存储和批量处理,支持数据科学、机器学习和高级分析。
  • 数据仓库(Data Warehouse):数据仓库是一个集中式的存储系统,用于导入、集成和管理结构化数据。它以主题为导向,将数据从不同的源系统中提取、转换和加载,以支持决策支持系统(DSS)和商业智能(BI)应用程序。数据仓库通常遵循预定义的数据模型和架构,进行数据清洗、聚合和查询优化。
  • 数据平台(Data Platform):数据平台是一个综合的数据管理和分析平台,集成了数据仓库、数据湖、数据集成、数据治理等功能。数据平台旨在为企业提供一个全面的数据基础设施,支持数据的采集、存储、处理和分析。数据平台可以包括多个组件和技术,如数据仓库、数据湖、ETL工具、分析工具、可视化工具等。
  • 数据中台(Data Middeleware):数据中台是将企业内外部数据进行整合和统一管理的中间层。它提供了数据标准化、整合、共享和治理的能力,以满足不同业务部门和应用程序的数据需求。数据中台可以支持企业内外部的数据交换、数据集成和数据分发,实现数据的互通互联。

1. 数据湖与数据仓库的联系

  • 数据仓库可以使用数据湖作为其底层存储架构。数据湖可以作为数据仓库的数据源,提供原始的结构化和非结构化数据。
  • 数据仓库可以从数据湖中提取数据,并经过清洗、加工、转换等流程后,将数据加载到数据仓库中进行存储和分析。

数据仓库 vs 数据湖 vs 湖仓一体

2. 数据平台与数据仓库的联系

  • 数据平台可以与数据仓库集成,通过自动化操作和数据工程支持,将数据从数据仓库中提取、转换和加载,以支持实时数据分析和自助服务分析。
  • 数据平台还可以为数据仓库提供综合数据服务,包括数据整合、数据安全与隐私、数字化转型等功能。

3. 数据平台与数据中台的联系

  • 数据平台是数据中台的核心组成部分,为数据中台提供了综合的数据服务支持,包括数据整合、实时数据分析、自助服务分析、数据安全与隐私等。
  • 数据中台利用数据平台的功能,统一管理和治理数据,标准化数据格式和数据质量,以支持数据共享、数据交换、数据运营和服务等需求。

4. 数据湖与数据中台的联系

  • 数据湖是数据中台的重要组成部分,作为数据中台的存储层面基础,提供了存储各种结构化和非结构化原始数据的能力。
  • 数据中台使用数据湖作为数据源,通过数据标准化、数据集市等手段,对数据湖中的数据进行管理、分析、共享和交换。

六、总结

数据平台、数据仓库、数据湖和数据中台在数据管理和分析领域发挥着重要作用。数据平台适用于集成多个数据源和处理工具,实现高效的数据管理与分析;数据仓库用于支持企业决策,提供一致整合且易理解的数据;数据湖适用于存储各种类型的原始数据,具备灵活性和可扩展性;数据中台以标准化的接口、元数据和数据治理为基础,为企业内外的各种应用场景提供数据支持。

根据实际需求,可以选择合适的数据管理工具和架构,并在不同方式之间进行协同,以实现高效、可靠和灵活的数据管理与分析。

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

题图来自Unsplash,基于CC0协议

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

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 太棒了吧👍🏻

    来自宁夏 回复
  2. 写的很专业,估计是同行

    来自上海 回复
    1. 哈哈,多谢!正在摸索中,还有很多不懂的

      来自湖北 回复