赞
踩
离线数仓(Offline Data Warehouse)和实时数仓(Real-time Data Warehouse)是数仓领域两种常见的数据存储和处理架构,它们在数据处理的方式、目标和时间性上有所不同,本文将重点介绍目前主流实时数仓架构设计。
实时数仓是一种用于存储和处理实时数据流的架构。它的主要目标是支持快速的实时数据分析、监控和反馈。实时数仓的特点包括:
离线数仓和实时数仓在功能定位和使用场景上有较大区别,选择使用哪种架构取决于业务需求、数据的时效性要求和技术架构的能力等。接下来,主要介绍一下主流实时数仓建设方案。
Kappa架构是大数据领域以流处理为主的主流实时数据分析架构之一,主要包含三部分:批处理层、流处理层和服务层,其核心思想是将数据分为冷热数据两类,冷数据走批处理层,热数据层走流处理层,但只使用一个数据处理管道来处理所有数据流。
Datax
,Sqoop
,FlinkCDC
等离线手段同步至Kafka
中;Flume
,Canal
,FlinkCDC
,Debezium
等实时手段同步至Kafka
中;优势:
适用于大规模、复杂的数据处理任务,具有高扩展性、高容错性和高性能等优点。
优化了Lambda架构,不需要将流批处理逻辑分离;
缺点:
数仓中只存储了处理计算后的结果,数据溯源难度大;
对集群计算资源要求高;
利用Kafka构建实时数仓也是目前业界比较流行的实时数仓架构之一。主要特点是在Kafka中进行数仓分层设计,所有数据都在Kafka的不同topic之间流转。
优势:
时效性高,能够快速不分析出数据的变化趋势,满足实时要求;
符合数仓基本建设规范,分层明确,数据结构清晰;
劣势:
Kafka自身定位是一个缓冲管道,基于Kafka构建实时数仓不太符合规范;
Kafka日志数据都具有一定时效性,数据可能会丢失;
当数据量过大时,数据溯源难度成几何增长;
需要较多的计算资源;
数据湖是一种存储架构,它使用分布式文件系统(如Hadoop HDFS)或对象存储(如Amazon S3)来存储各种类型和格式的原始数据,无论是结构化、半结构化还是非结构化数据。它支持存储大量的原始数据,无需事先定义数据模型或架构,这使得数据湖成为一个集中存储所有类型数据的地方。利用数据湖构建实时数仓和利用Kafka构建基本逻辑是一致的,只不过是数据存储介质发生了一些区别。
优势:
劣势:
在处理大规模数据时需要大量的存储和计算资源;
构建和管理数据湖需要一系列不同的技术和工具,需要具备相应的技术能力和知识;
Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。Apache Doris 能够较好的满足报表分析、即席查询、统一数仓构建、数据湖联邦查询加速等使用场景,用户可以在此之上构建用户行为分析、AB 实验平台、日志检索分析、用户画像分析、订单分析等应用。
通过离线和实时数据同步工具直接将各种数据同步到实时数仓Doris中;
也可以通过将离线和实时数据先同步到Kafka中,然后通过计算引擎(Flink或Spark)做ETL处理,然后再将数据同步至Doris中;
用户可以通过实时查询直接从Doris中获取到最新结果;
优势:
Doris运维部署简单,稳定性好,支持标准SQL语义,使用成本低;
Doris支持多种数据模型,很大程度简化了数据处理逻辑;
Doris支持多种使用场景,包括即席查询,联邦查询和其他一些复杂分析场景;
Doris支持的数据同步及导入方式丰富,可以显著降低数据同步复杂度;
Doris社区活跃,新功能迭代速度快,能够快速解决各种使用场景限制;
以上就是常见的实时数仓建设方案,每种方案都有自己的优缺点,企业可以根据自己的实际业务场景,选择适合自己的实时数仓建设方案;
方式丰富,可以显著降低数据同步复杂度;
以上就是常见的实时数仓建设方案,每种方案都有自己的优缺点,企业可以根据自己的实际业务场景,选择适合自己的实时数仓建设方案;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。