【数仓建设系列之五】数仓选型架构概览

这篇具有很好参考价值的文章主要介绍了【数仓建设系列之五】数仓选型架构概览。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【数仓建设系列之五】实时数仓选型架构概览

离线数仓(Offline Data Warehouse)和实时数仓(Real-time Data Warehouse)是数仓领域两种常见的数据存储和处理架构,它们在数据处理的方式、目标和时间性上有所不同,本文将重点介绍目前主流实时数仓架构设计。

一、离线和实时数仓区别

1.离线数仓:
  • 离线数仓是一种用于存储和处理大规模历史数据的架构。它的目标主要是支持复杂分析和数据挖掘任务,通常以批处理的方式进行数据处理。离线数仓的主要特点包括以下几点:
1.1 数据积累和历史分析
  • 离线数仓主要用于存储历史数据,这些数据可以是从多个源头采集而来,经过ETL(清洗、转换和加载)后存储在数仓中,这些数据被用于支持复杂的数据分析、业务报表和决策支持,数据延迟基本都是T+1形式。
1.2 周期性批处理
  • 离线数仓中的数据主要是按照批处理的方式,通过一定时间周期(如每日、每周)去加载和处理。
1.3 复杂查询和分析
  • 离线数仓可以连接不同的数据集,也可以跨多个维度执行聚合,排序等操作。通过复杂的查询和分析,可以展示出历史数据的变化趋势和价值数据的提取等。
2.实时数仓:

实时数仓是一种用于存储和处理实时数据流的架构。它的主要目标是支持快速的实时数据分析、监控和反馈。实时数仓的特点包括:

2.1 实时数据流处理
  • 实时数仓通过数据流式处理技术,可以实时地处理来自各种源头的数据流,允许数据在进入系统后立即被处理和分析。这些数据可以是日志数据、业务交易数据和传感数据等。
2.2 低延迟处理
  • 实时数仓更加注重数据处理的低延迟性,在确保数据进入系统后,希望以很快的速度对数据进行分析处理。
2.3 快速查询和分析
  • 通过这种低延迟的方式对数据进行快速处理和分析,使得用户能够及时地探索数据,发现实时趋势和异常。

离线数仓和实时数仓在功能定位和使用场景上有较大区别,选择使用哪种架构取决于业务需求、数据的时效性要求和技术架构的能力等。接下来,主要介绍一下主流实时数仓建设方案。

二、主流实时数仓架构选型

1.Kappa架构:

​ Kappa架构是大数据领域以流处理为主的主流实时数据分析架构之一,主要包含三部分:批处理层、流处理层和服务层,其核心思想是将数据分为冷热数据两类,冷数据走批处理层,热数据层走流处理层,但只使用一个数据处理管道来处理所有数据流。
【数仓建设系列之五】数仓选型架构概览,数据仓库,数仓建设,架构,java,数据仓库

  • 冷数据(历史数据)通过DataxSqoopFlinkCDC等离线手段同步至Kafka中;
  • 热数据(增量数据)通过FlumeCanalFlinkCDCDebezium等实时手段同步至Kafka中;
  • 通过计算引擎(Flink ,Spark)处理计算结果;
  • 将计算结果存储至数仓,供数据服务,BI展示等;

优势

  • 适用于大规模、复杂的数据处理任务,具有高扩展性、高容错性和高性能等优点。

  • 优化了Lambda架构,不需要将流批处理逻辑分离;

缺点:

  • 数仓中只存储了处理计算后的结果,数据溯源难度大;

  • 对集群计算资源要求高;

2.基于Kafka构建实时数仓

利用Kafka构建实时数仓也是目前业界比较流行的实时数仓架构之一。主要特点是在Kafka中进行数仓分层设计,所有数据都在Kafka的不同topic之间流转。
【数仓建设系列之五】数仓选型架构概览,数据仓库,数仓建设,架构,java,数据仓库

  • 不同数据源的数据通过采集工具采集至Kafka,形成一个ODS层的topic;
  • 通过计算引擎(Flink或者Spark)不断消费底层topic,将计算结果存储至紧邻的上层topic中;
  • 将形成的ADS层数据推送或存储至外部存储,供分析同学使用;
  • (建议)将每层数据结果都实时同步到外部数仓中;

优势:

  • 时效性高,能够快速不分析出数据的变化趋势,满足实时要求;

  • 符合数仓基本建设规范,分层明确,数据结构清晰;

劣势:

  • Kafka自身定位是一个缓冲管道,基于Kafka构建实时数仓不太符合规范;

  • Kafka日志数据都具有一定时效性,数据可能会丢失;

  • 当数据量过大时,数据溯源难度成几何增长;

  • 需要较多的计算资源;

3.基于数据湖构建实时数仓

数据湖是一种存储架构,它使用分布式文件系统(如Hadoop HDFS)或对象存储(如Amazon S3)来存储各种类型和格式的原始数据,无论是结构化、半结构化还是非结构化数据。它支持存储大量的原始数据,无需事先定义数据模型或架构,这使得数据湖成为一个集中存储所有类型数据的地方。利用数据湖构建实时数仓和利用Kafka构建基本逻辑是一致的,只不过是数据存储介质发生了一些区别。
【数仓建设系列之五】数仓选型架构概览,数据仓库,数仓建设,架构,java,数据仓库

优势:

  • 灵活性高,可以根据自己需求选定存储介质和计算引擎;
  • 符合数仓基本建设规范,分层明确,数据结构清晰;
  • 真正实现了流批一体计算;
  • 数据湖产品多(iceberg,hudi,paimon,kudu),可以有多种选择方案;

劣势:

  • 在处理大规模数据时需要大量的存储和计算资源;

  • 构建和管理数据湖需要一系列不同的技术和工具,需要具备相应的技术能力和知识;

4.基于Doris构建实时数仓

Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。Apache Doris 能够较好的满足报表分析、即席查询、统一数仓构建、数据湖联邦查询加速等使用场景,用户可以在此之上构建用户行为分析、AB 实验平台、日志检索分析、用户画像分析、订单分析等应用。

【数仓建设系列之五】数仓选型架构概览,数据仓库,数仓建设,架构,java,数据仓库

  • 通过离线和实时数据同步工具直接将各种数据同步到实时数仓Doris中;

  • 也可以通过将离线和实时数据先同步到Kafka中,然后通过计算引擎(Flink或Spark)做ETL处理,然后再将数据同步至Doris中;

  • 用户可以通过实时查询直接从Doris中获取到最新结果;

优势:

  • Doris运维部署简单,稳定性好,支持标准SQL语义,使用成本低;

  • Doris支持多种数据模型,很大程度简化了数据处理逻辑;

  • Doris支持多种使用场景,包括即席查询,联邦查询和其他一些复杂分析场景;

  • Doris支持的数据同步及导入方式丰富,可以显著降低数据同步复杂度;

  • Doris社区活跃,新功能迭代速度快,能够快速解决各种使用场景限制;

三、总结

以上就是常见的实时数仓建设方案,每种方案都有自己的优缺点,企业可以根据自己的实际业务场景,选择适合自己的实时数仓建设方案;文章来源地址https://www.toymoban.com/news/detail-712627.html

方式丰富,可以显著降低数据同步复杂度;

  • Doris社区活跃,新功能迭代速度快,能够快速解决各种使用场景限制;

三、总结

以上就是常见的实时数仓建设方案,每种方案都有自己的优缺点,企业可以根据自己的实际业务场景,选择适合自己的实时数仓建设方案;

到了这里,关于【数仓建设系列之五】数仓选型架构概览的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • AWS云计算技术架构探索系列之五-网络

         当我们有了计算和存储资源,但是要真正把应用程序运行起来并提供互联网服务,那还需要使用AWS的网络,本章节就一起了解AWS的网络及其相关的组件基础知识和架构,其中包括: 区域(Region),可用区(AZ) VPC相关,包括子网,互联网网关 ,NAT,网络ACL,安全组等 负载均

    2023年04月08日
    浏览(51)
  • 离线数仓建设之数据导出

    为了方便报表应用使用数据,需将ADS各项指标统计结果导出到MySQL,方便熟悉 SQL 人员使用。 创建car_data_report数据库: 1.1.2 创建表 ① 里程相关统计 创建ads_mileage_stat_last_month表,存储里程相关统计数据。 ② 告警相关统计 创建ads_alarm_stat_last_month表,存储告警相关的统计数据。

    2024年03月16日
    浏览(49)
  • 数据仓库系列:StarRocks 下一代高性能分析数据仓库的架构、数据存储及表设计

    本文是学习StarRocks的读书笔记,让你快速理解下一代高性能分析数据仓库的架构、数据存储及表设计。 StarRocks的架构相对简单。 整个系统只包含两种类型的组件,前端(FE)和后端(BE),StarRocks不依赖任何外部组件,简化了部署和维护。 FE和BE可以在不停机的情况下横向扩展。

    2024年02月16日
    浏览(64)
  • 数据仓库建设实践——如何通过数据仓库建设提升效率并确保数据质量

    作者:禅与计算机程序设计艺术 随着互联网经济的快速发展,全球消费者对汽车的需求越来越旺盛。在全球范围内,公共汽车运营商(PSA)正在竞争激烈,包括美国的Tesla、上海的东风、中国的福特等。全球公共汽车市场规模每年呈现爆炸性增长态势。其中,美国曾经的领先地

    2024年02月11日
    浏览(86)
  • 数仓建模—数据仓库初识

    数据仓库之父Bill Inmon在1991年出版的\\\"Building the Data Warehouse\\\"一书中所提出的定义被广泛接受 数据仓库(Data Warehouse)是一个 面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making

    2024年04月22日
    浏览(30)
  • 数据仓库(2)-认识数仓

    数据仓库 ,由数据仓库之父比尔·恩门(Bill Inmon)于1990年提出,主要功能仍是将组织透过资讯系统之联机事务处理(OLTP)经年累月所累积的大量资料,透过数据仓库理论所特有的资料储存架构,做有系统的分析整理,以利各种分析方法如联机分析处理(OLAP)、数据挖掘(Data Mini

    2024年01月21日
    浏览(34)
  • 数据仓库(数仓)介绍

    1 )数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。 2 )数

    2024年02月06日
    浏览(43)
  • 离线数仓-数据仓库系统

    ODS层(Operational Data Store) :运营数据存储层,用于存储来自操作型系统的原始数据,是数据仓库中的第一层。 DWD层(Data Warehouse Detail) :数据仓库细节层,用于存储经过清洗和加工的详细数据,保留了原始数据的细节信息。 DWS层(Data Warehouse Summary) :数据仓库汇总层,用

    2024年04月11日
    浏览(43)
  • 离线数仓(五)【数据仓库建模】

            今天开始正式数据仓库的内容了, 前面我们把生产数据 , 数据上传到 HDFS , Kafka 的通道都已经搭建完毕了, 数据也就正式进入数据仓库了, 解下来的数仓建模是重中之重 , 是将来吃饭的家伙 ! 以及 Hive SQL 必须熟练到像喝水一样 !         数据仓库 (dataware,简称 DW) 是

    2024年03月26日
    浏览(62)
  • 数据仓库选型建议

    1.1 数仓分层的意义 **数据复用,减少重复开发:**规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算。数据的逐层加工原则,下层包含了上层数据加工所需要的全量数据,这样的加工方式避免了每个数据开发人员都重新从源系统抽取数据进行加工。通过汇

    2024年02月21日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包