一篇文章搞懂数据仓库:数据仓库架构-Lambda和Kappa对比

在介绍Lambda和Kappa架构之前,我们先回顾一下数据仓库的发展历程: 传送门-数据仓库发展历程

写在前面

咳,随着数据量的暴增数据实时性要求越来越高,以及大数据技术的发展驱动企业不断升级迭代,数据仓库架构方面也在不断演进,分别经历了以下过程:早期经典数仓架构 > 离线大数据架构 > Lambda > Kappa > 混合架构。

架构组成特点
经典数仓架构关系型数据库(mysql、oracle)为主数据量小,实时性要求低
离线大数据架构hive,spark为主数据量大,实时性要求低
Lambdahive,spark负责存量,strom/Flink负责实时计算数据量大,实时性要求高
Kappakafka、strom、Flink多业务,多数据源,事件型数据源
混合架构

ps.表中举例若有不当,欢迎指正
架构的演进

Lambda

Lambda架构原理

Lambda架构的核心思想是把大数据系统拆分成三层:Batch Layer,Speed Layer和Serving Layer。其中,Batch Layer负责数据集存储以及全量数据集的预查询。Speed Layer主要负责对增量数据进行计算,生成Realtime Views。Serving Layer用于响应用户的查询请求,它将Batch Views和Realtime Views的结果进行合并,得到最后的结果,返回给用户,如下图
图1.2 Lambda架构图

Lambda架构的缺点

Lambda架构解决了大数据量下实时计算的问题,但架构本身也存在一定缺点。

  • 实时与批量计算结果不一致引起的数据口径问题:因为批量和实时计算走的是两个计算框架和计算程序,算出的结果往往不同,经常看到一个数字当天看是一个数据,第二天看昨天的数据反而发生了变化。
  • 批量计算在计算窗口内无法完成:在IOT时代,数据量级越来越大,经常发现夜间只有4、5个小时的时间窗口,已经无法完成白天20多个小时累计的数据,保证早上上班前准时出数据已成为每个大数据团队头疼的问题。
  • 开发和维护的复杂性问题:Lambda 架构需要在两个不同的 API(application programming interface,应用程序编程接口)中对同样的业务逻辑进行两次编程:一次为批量计算的ETL系统,一次为流式计算的Streaming系统。针对同一个业务问题产生了两个代码库,各有不同的漏洞。这种系统实际上非常难维护
  • 服务器存储大:数据仓库的典型设计,会产生大量的中间结果表,造成数据急速膨胀,加大服务器存储压力。

Kappa

Kappa架构原理

Kappa架构的核心思想包括以下三点:

  • 用Kafka或者类似的分布式队列系统保存数据,你需要几天的数据量就保存几天。
  • 当需要全量重新计算时,重新起一个流计算实例,从头开始读取数据进行处理,并输出到一个新的结果存储中。
  • 当新的实例做完后,停止老的流计算实例,并把老的一些结果删除。
    在这里插入图片描述在Kappa架构下,只有在有必要的时候才会对历史数据进行重复计算,并且实时计算和批处理过程使用的是同一份代码。

Lambda架构和Kappa架构优缺点对比

项目LambdaKappa
数据处理能力可以处理超大规模的历史数据历史数据处理的能力有限
机器开销批处理和实时计算需一直运行,机器开销大必要时进行全量计算,机器开销相对较小
存储开销只需要保存一份查询结果,存储开销较小需要存储新老实例结果,存储开销相对较大
开发、测试难度实现两套代码,开发、测试难度较大只需面对一个框架,开发、测试难度相对较小
运维成本维护两套系统,运维成本大只需维护一个框架,运维成本小

小结

  • Lambda 将全量历史数据和实时增量数据合并输出。
  • Kappa 两个流协作输出,queries每次使用最新一个流处理结果

小编有话

目前很多准实时增量批处理方案也能满足实时性需求,从稳定性和运维成本上也表现更佳。
比如kudu(存储)+impala(计算)准实时方案,可以实现千万级数据的增量更新和olap查询,性能优异。

数仓系列传送门:https://blog.csdn.net/weixin_39032019/category_8871528.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494789.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

宇宙和你,本质上其实只是个八维数字?

剑桥大学的数学物理学家Cohl Furey正在寻找粒子物理标准模型和八元数之间的联系。八元数的乘法规则被编码在被称为法诺面的三角图中。来源: 环球科学对于一维、二维乃至四维的数字,人们都不陌生:一维的实数一直都存在于经典物理中&#xff0c…

一篇文章搞懂数据仓库:数据应用--OLAP

目录 1、OLAP和OLTP的区别 2、OLAP分类 3、OLAP基本操作 4、OLAP选型 1、olap和oltp的区别 OLTPOLAP对象业务开发人员分析决策人员功能日常事务处理面向分析决策模型关系模型多维模型数据量几条或几十条记录>百万于万条记录操作类型增、删、查、改(CRUD)查询为主…

欧洲、美国、中国智慧城市的不同实践路径

来源:远望智库摘要:随着ICT、大数据、物联网等各类新兴技术的不断发展,智慧城市的运营和实践也不断趋于成熟。随着ICT、大数据、物联网等各类新兴技术的不断发展,智慧城市的运营和实践也不断趋于成熟。通过整理欧美各大典型智慧城…

使用IOUtils和FileUtils

文本输出应该比较常用,以前都是通过反复的创建InputStream, InputReader, OutputStream, OutputWriter等去输入输出文本,比较麻烦。Apache提供了一个commons-io.jar包,里面有很多IO相关的工具,比如输入输出文本等,着实…

重磅推荐:机器人行业深度报告

来源:WPR随着中国人口红利消失,机器人不仅在制造业上正在替代工人,还将在军事、服务、娱乐等领域取代人类,“钢铁侠”已不仅仅存在于美国科幻电影中,而正走入我们的生活。本篇报告对机器人行业及龙头上市公司进行分析&…

Could not create directory F:\Qt\Test\Error in Util.asciify(build-First_02-Desktop_Qt_5_6_3_Min

第一次使用的Qt的时候出现了这种错误! 相信很多人在第一次使用的时候都会遇到这样的情况,果不其然,搜了一下很多的处理方法,其中有一种我感觉是最有效的,就是改一下他的生成路径就好了,因为这个错误的出现…

一篇文章搞懂数据仓库:总线架构、一致性维度、一致性事实

目录 1、概述 总线架构 一致性维度 一致性事实 2、总线架构demo 1、概述 在Kimball的维度建模的数据仓库中,关于多维体系结构(MD)有三个关键性概念:总线架构(Bus Architecture),一致性维…

路易斯·罗森伯格与「群体智能」

选自 | Gigaom编译 | 网易智能(smartman163)参与 | 李擎与谷歌、Facebook等开发“传统意义上的人工智能”的技术不同,在Unanimous A.I.,科学家们利用人工智能来放大群体的智慧,而不是使用人工智能来代替人类。他们没有…

Qt实用快捷键(较全面)

总结整理的常用快捷键,欢迎留言补充!

Python下载中国数据库大会(DTCC2020)PPT全集

目录 背景 效果展示 程序下载 网盘下载 背景 前几天中国数据库大会风风火火的在京举行了,期间干货满满,收获良多。在学大佬们的ppt时,发现只能一篇一篇预览,对于求知欲强烈的小编来说简直太难受了,于是便写了个程…

Android UI布局—— 仿QQ登录界面

最近,有点空闲的时间就拿QQ登录界面来模仿练手,做了个简单的登录界面。界面一般般吧,不算很漂亮,现在拿出来分享,希望大家一起学习与进步。有什么不足之处,请各位大侠多多赐教,谢谢。这个界面涉…

新造车公司背后的「资本大佬」

来源:电动汽车观察家(ID:evobserver)为了代表行业全貌,我们既分析光鲜靓丽的头部企业,也涉及比较不知名、甚至陷入舆论漩涡的一些企业,共十家代表企业资金的来源分析。1、蔚来汽车过往融资成绩&…

MEMS传感器科普文

来源:MEMS技术MEMS 的全称是微型电子机械系统,利用传统的半导体工艺和材料,集微传感器、微执行器、微机械机构、信号处理和控制电路、高性能电子集成器件、接口、通信和电源等于一体的微型器件或系统。具有小体积、低成本、集成化等特点。MEM…

NFS服务器原理、搭建、配置

目录 NFS服务简介 什么是NFS? NFS挂载原理: RPC与NFS通讯原理: NFS客户端和NFS服务器通讯过程: Linux下NFS服务器部署 NFS服务所需软件及主要配置文件: 服务端安装NFS服务步骤: NFS客户端挂载配置…

2021年03月-程序员薪资分布,看看你拖后腿了吗?

程序员工资是不确定的,要根据程序员的历、能力、工作经验、是否刚毕业、工种,工资是不一样的,还与地域和公司有关,但是总的来说,程序员工资都是很高的,是很多人都羡慕的职位。 那么程序员的薪资到底多高呢…

Science:领导决策的计算和神经生物学基础

来源:思影科技摘要:最近,来自苏黎世大学的Micah G. Edelson等人在SCIENCE上发文,他们将基于知觉和价值决策的模型结合起来,以评估被试对每一个决策行为的个人效用,从而梳理出选择领导或服从的潜在动机。最近…

tar命令集合(详解)

tar 命令可以将许多文件一起保存至一个单独的磁带或磁盘归档,并能从归档中单独还原所需文件。 示例 以test文件为例 压缩命令 tar -cvf test.tar test test1解压命令 tar -xvf test.tar主操作模式: -A, --catenate, --concatenate 追加 tar 文件至归档 -c, --…

美国韩国科学家纷纷开发出电子机器人“皮肤”,据称具有比人类更好的触觉...

来源:机器人创新生态摘要:我们已经听说过柔性电子“皮肤”可以让机器人或假肢具有类似人类的触觉。然而,现在德克萨斯大学阿灵顿分校的科学家们声称他们开发的“皮肤”比具有比人类更好的触觉敏感。由Zeynep ?elik-Butler教授领导的团队创建…

MySQL流浪记(三)—— Linux安装MySQL数据库5.7.30(亲测有效3分钟即可)

下载 下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 解压 tar -xf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gztar命令集合(详解) 将安装包进行移动并重命名(需要在root权限下进行)。 m…

ANSI/UTF-8/UCS2(UTF-16),以及回车换行

最近遇到一个linux 平台上invisible character (0x1d)引起的数据装载失败问题,正好借此机会整理一下字符编码的相关知识。 回车/换行: 顾名思义,回车和换行是两个不同的控制字符: -回车(Carriage Return)即\r,ascii码13(0x0d)&am…