application data是什么(application data什么意思)

数据仓库架构

一般来说,数据仓库架构可以分为离线数仓和实时数仓两种类型,下面分别介绍常见架构特点。

1. 离线数仓架构

离线数仓一般采用ETL(Extract、Transform、Load)工具来实现数据的导入、转换和加载。离线数仓架构包括以下几个主要组成部分:

  • 数据源:包括企业内部的各种业务系统、外部的数据源以及第三方数据供应商提供的数据等。
  • ETL工具:负责将数据从数据源中提取出来,进行必要的数据转换和清洗,然后将处理后的数据加载到数据仓库中。
  • 数据仓库:包括了多个数据集合,每个数据集合包括了一系列相关的事实数据和维度数据,便于用户进行数据分析和决策支持。
  • OLAP(Online Analytical Processing)工具:通过多维分析和数据挖掘等技术,将存储在数据仓库中的数据转化为用户可读的报表和图表等格式,支持用户进行数据分析和决策支持。

数据源通过离线的方式导入到离线数仓中。下游应用根据业务需求选择直接读取 DM 或加一层数据服务,比如 MySQL 或 Redis。数据仓库从模型层面分为三层:

  • ODS,操作数据层,保存原始数据;
  • DWD,数据仓库明细层,根据主题定义好事实与维度表,保存最细粒度的事实数据;
  • DM,数据集市/轻度汇总层,在 DWD 层的基础之上根据不同的业务需求做轻度汇总;

如果要细分,分为五层:

ODS 层

ODS 层: Operation Data Store,数据准备区,贴源层。直接接入源数据的:业务库、埋点日志、消息队列等。ODS 层数数据仓库的准备区

DW数仓

  • DWD 层:Data Warehouse Details,数据明细层,属于业务层和数据仓库层的隔离层,把持和 ODS 层相同颗粒度。进行数据清洗和规范化操作,去空值/脏数据、离群值等。
  • DWM 层:Data Warehouse middle,数据中间层,在 DWD 的基础上进行轻微的聚合操作,算出相应的统计指标
  • DWS 层:Data warehouse service,数据服务层,在 DWM 的基础上,整合汇总一个主题的数据服务层。汇总结果一般为宽表,用于 OLAP、数据分发等。

ADS层

ADS 层:Application data service, 数据应用层,存放在 ES,Redis、PostgreSql 等系统中,供数据分析和挖掘使用。

典型的数仓存储是 HDFS/Hive,ETL 可以是 MapReduce 脚本或 HiveSQL。

application data是什么(application data什么意思)

离线数据仓库三层架构

2. lambda架构

Lambda架构是一种流行的数据仓库架构,它结合了批处理和流处理两种不同的计算方式,旨在实现高容错性、低延迟和高可伸缩性的数据处理能力。Lambda架构包括三个层次:批处理层、速率处理层和服务层。

  1. 批处理层 批处理层负责离线处理数据。它接收来自不同数据源的原始数据,使用批量处理工具(如MapReduce或Apache Spark)进行转换、清洗、归约、聚合等操作,并将结果存储在离线存储(如Hadoop HDFS)中。批处理层的优点是能够处理大量的数据,可以通过批量处理来提高数据处理效率。
  2. 速率处理层 速率处理层负责处理实时数据流。它接收来自数据源的实时数据流,使用流处理引擎(如Apache Storm或Apache Flink)进行转换、清洗、聚合等操作,并将结果存储在实时存储(如Apache Cassandra或Apache HBase)中。速率处理层的优点是能够处理高速和不断变化的数据流,实现低延迟的数据处理能力。
  3. 服务层 服务层是Lambda架构的最上层,负责提供数据查询和分析的服务。它通过整合批处理层和速率处理层的数据,提供统一的查询接口,支持对数据进行实时和历史分析。服务层通常使用OLAP工具(如Apache Kylin或Apache Druid)来实现数据查询和分析功能。

总的来说,Lambda架构能够处理批量数据和实时数据,实现低延迟和高容错性的数据处理能力,适用于需要快速、准确和实时处理大量数据的应用场景,如在线广告、金融交易等。

application data是什么(application data什么意思)

lambda架构

application data是什么(application data什么意思)

lambda架构实现

3. kappa架构

Kappa架构是一种数据处理架构,它是Lambda架构的变种。与Lambda架构不同的是,Kappa架构仅使用流处理引擎处理所有数据,而不使用批处理工具。

Kappa架构的核心思想是将所有数据流都视为实时数据流,通过流处理引擎(如Apache Kafka Streams、Apache Flink、Apache Spark Streaming等)进行处理。所有数据都被当作事件流,经过一系列转换、聚合等操作,最终被存储在实时数据存储(如Apache Cassandra、Apache HBase等)中。

Kappa架构具有以下优点:

  1. 简化架构:由于不需要维护两个不同的数据处理层(批处理层和速率处理层),Kappa架构可以使数据处理流程更加简单。
  2. 更高的实时性:Kappa架构只使用流处理引擎处理数据,因此能够实现更高的实时性,能够更快速地响应数据变化。
  3. 更容易扩展:Kappa架构不需要维护两个不同的处理层,可以更容易地扩展处理能力,以满足不断增长的数据需求。

Kappa架构适用于需要实时响应数据变化的应用场景,如物联网、在线广告、金融交易等。但它也存在一些限制,例如批处理层的数据处理能力可能更强,能够进行更复杂的数据处理和分析。因此,选择Kappa架构还需要根据实际业务需求进行综合考虑。

application data是什么(application data什么意思)

kappa架构

基于数据湖的数据仓库架构

基于数据湖的数据仓库架构是一种新型的数据仓库架构,它是基于数据湖存储技术的,将数据仓库和数据湖进行了有机结合,实现了更加灵活、高效、可扩展的数据处理和分析能力。

数据湖是一种存储海量数据的技术,它采用无模式的存储方式,将结构化数据、半结构化数据和非结构化数据一起存储在分布式文件系统中,同时保留原始数据的格式和结构。数据湖的优点在于能够存储各种类型的数据,包括实时数据、历史数据和未来数据,能够支持大数据分析和人工智能应用。

基于数据湖的数据仓库架构将数据湖作为数据存储层,利用现代数据处理技术(如Apache Spark、Apache Flink等)进行数据处理和分析,同时使用数据仓库技术(如数据建模、数据抽取、数据清洗等)进行数据管理和控制,最终将处理结果存储在数据仓库中。

基于数据湖的数据仓库架构的优点在于:

  1. 可扩展性:基于数据湖的数据仓库架构能够处理各种类型和规模的数据,可以实现快速扩展,以满足不断增长的数据需求。
  2. 灵活性:数据湖的无模式存储方式使得数据湖中的数据能够灵活应用于不同的数据分析和处理任务,不需要进行预定义的数据建模和结构设计。
  3. 成本效益:基于数据湖的数据仓库架构可以使用廉价的云存储来存储海量数据,可以大大降低数据存储成本。
  4. 数据一致性:基于数据湖的数据仓库架构可以通过元数据管理和数据治理工具来保证数据一致性和质量。

基于数据湖的数据仓库架构适用于需要处理和分析海量数据的场景,如物联网、社交网络、金融交易等。但是需要注意,使用数据湖存储海量数据可能导致数据复杂性增加,因此需要合理规划数据管理和治理策略。

application data是什么(application data什么意思)

基于iceberg实现的数据仓库架构

以上是数据仓库的主要流行架构的介绍,欢迎关注持续关注哦!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至QQ邮箱:3628405936@qq.com 举报,本站将立刻删除。
(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注