数仓主流架构简介之一

楼高2年前技术文章1070

一、Lambda架构

Apache Storm的创建者Nathan Marz于 2011 年开发,旨在解决大规模实时数据处理的挑战。Lambda数据架构提供了一个可扩展、容错且灵活的系统来处理大量数据。它允许以混合方式访问批处理和流处理方法。具有:高容错、低延时和可扩展等,整合了离线计算和实时计算,融合不可变性,读写分离和复杂性隔离等一系列架构原则,可集成Hadoop,Kafka,Storm,Spark,Hbase等各类大数据组件

image.png

二、Kappa

2014年7月份由 LinkedIn 的前首席工程师杰伊·克雷普斯(Jay Kreps)提出的一种架构思想。克雷普斯是几个著名开源项目(包括 Apache Kafka 和 Apache Samza 这样的流处理系统)的作者之一。通过改进 Lambda 架构中的Speed Layer,使它既能够进行实时数据处理,同时也有能力在业务逻辑更新的情况下重新处理以前处理过的历史数据

image.png

三、Dataflow Model

2015年Google的Tyler Akidau 等提出,DataFlow 模型是一种用于描述数据处理流程的计算模型,它描述了数据从源头到目的地的流动过程,并指定了数据处理的方式和顺序,可以采用混合搭建的方式根据需求自定义搭建系统。

image.png

DataFlow 模型的全流程可以分为以下几个步骤:

1、数据源输入:数据源可以是各种类型的数据,例如文件、数据库、消息队列等。在 DataFlow 模型中,数据源被视为数据处理流程的起点,数据从数据源中流入数据处理系统。

2、数据切割:在 DataFlow 模型中,数据可以被分割成多个数据块,这些数据块可以并行处理,以提高数据处理的效率。数据切割可以根据数据的大小、时间戳、键值等方式进行,以便更好地实现数据并行处理。

3、数据转换:在 DataFlow 模型中,数据可以经过一系列的数据转换操作,例如数据清洗、数据过滤、数据聚合等。数据转换操作被描述为有向图中的节点,每个节点可以执行一些特定的数据处理操作,节点之间的边表示数据的流动方向和数据处理顺序。

4、数据聚合:在 DataFlow 模型中,数据可以经过多个数据转换操作后被聚合起来,以便更好地实现数据分析和挖掘。

5、数据输出:在 DataFlow 模型中,数据输出可以是各种类型的数据目的地,例如文件、数据库、消息队列等。数据输出被视为数据处理流程的终点,数据从数据处理系统中输出到数据目的地中。

相关文章

MySQL 8.0 新特性:invisible indexes

MySQL 8.0 新特性:invisible indexes

一、前言什么是 invisible indexes 呢?就是不可见索引,优化器会默认忽略的索引,关于这个特性的用处,需要我们一起挖掘。二、案例思考某客户研发提了一条删除索引的 SQL,这张表 15G,...

Python 序列化与反序列化

1、为什么要序列化内存中的字典、列表、集合以及各种对象,如何保存到一个文件中?如果是自己定义的类的实例,如何保存到一个文件中?如何从文件中读取数据,并让它们在内存中再次恢复成自己对应的类的实例?要设计...

 大数据集群监控配置操作指导(四)Spark监控使用jmx

大数据集群监控配置操作指导(四)Spark监控使用jmx

graphite_exporter方式Graphite 来收集度量标准,Grafana 则用于构建仪表板,首先,需要配置 Spark 以将 metrics 报告到 Graphite。prometheu...

Kubernetes 认证授权

Kubernetes 认证授权

1、认证所有 Kubernetes 集群都有两类用户:由 Kubernetes 管理的服务账号和普通用户。任何客户端访问之前,经由 kubernetes 时,需经过:认证(token, ssl)、授权...

flume开启jmx加入grafana

部署flume_exporter需要go环境编译配置go环境首先下载go安装包Linux:https://golang.google.cn/dl/解压、添加环境变量tar -zxvf go*.tar....

Kafka优化参数

一、配置文件Kafka的配置文件为 config/server.properties,在此文件中进行 Kafka 的基础配置,例如端口、日志目录、Zookeeper 信息和 Broker ID 等还可...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。