Lambda Architecture

数据系统架构——Lambda architecture(Lambda架构) 传统系统的问题 “我们正在从IT时代走向DT时代(数据时代)。IT和DT之间,不仅仅是技术的变革,更是思想意识的变革,IT主要是为自我服务,用来更好地自我控制和管理,DT则是激活生产力,让别人活得比你好”——阿里巴巴董事局主席马云。 数据量从M的级别到G的级别到现在T的级、P的级别。数据量的变化 数据管理系统(DBMS)和数仓系统(DW)也在悄然的变化着。 阅读详情

为什么要用Lambda Architecture

在大数据处理系统中,数据处理的可靠性和实时性是一对矛盾,往往不可兼得。可靠性是指在任何异常出现的情况下,数据处理都能够做到不重不丢,并且最终得到准确的结果。实时性是指数据从输入到处理完毕输出的时间间隔。一般来说,对于像Hadoop MapReduce这样的批处理系统来说,可靠性很高,而实时性很差;对于Storm这样的流式处理系统来说,则情况正好相反。

那么,有没有办法使得数据处理系统即可以做到高可靠,又可以做到低延迟呢?Lambda Architecture就是这个问题的答案。

Lambda Architecture是为了满足如下需求:

  • 系统故障或人为错误不丢数据
  • 数据分析低延迟
  • 系统具备线性扩展能力
  • 系统中很容易增加新特性

Lambda Architecture是什么


Lambda Architecture

如上图所示,Lambda Architecture由batch layer、speed layer、serving layer组成。在输入端集中接收数据,并拷贝数据,分别导入到batch layer和 speed layer。

Batch Layer

Batch layer的职责是保证数据处理的准确性和可靠性。

Batch layer首先把数据以其原始格式存储在HDFS上,以加强系统的可靠性。然后,利用Hadoop MapReduce作业对数据进行处理,并将结果保存起来(这种处理之后的数据称之为batch view)。Hadoop作业具有很好鲁棒性,在运行过程中出现各种异常时都不会损失数据。对于存储系统来说,这种批处理方式只需要随机读、追加写,不需要处理随机写、加锁、数据一致性等问题,因此大大简化了存储系统的设计。但是batch layer对数据处理的延迟是很大的,通常是几个小时到几天。

Speed Layer

Speed layer的职责是满足所有实时性处理的需求。

Speed layer通常基于Storm这样的流式计算平台,通过快速的增量式算法,以分钟级、秒级甚至毫秒级来读取、分析、保存数据。对于存储系统,由于需要支持持续的update操作,其设计要复杂的多。为了简化问题,通常使用划窗机制来保存一段时间的数据,划窗的时间一般和batch layer的数据处理一致。

流式处理往往使用内存计算,这意味着当出现异常(比如升级或工作节点异常)时,可能会导致数据的丢失或计算结果错误。然而,Lambda Architecture却不需要过多考虑这类问题,因为下一次batch layer的作业会再次处理所有数据并获得准确的结果。

Serving Layer

Serving layer的职责是将speed layer输出数据merge到batch layer输出数据上,从而得到一份完整的输出数据,并保存到诸如HBASE这样的NoSQL数据库中,以服务于在线检索应用。在batch计算结果之上meger少量实时数据,其结果同完全使用batch计算相比,具有很好的近似性。

Lambda Architecture的收益

Lambda Architecture带来了如下收益:

  • 算法可以同时分析历史数据和短期实时数据,兼顾了准确性和实时性
  • 向存储介质的随机写入大大减少了,提升了性能
  • Batch Layer(在HDFS上)保存了原始数据,可以避免人为错误造成的数据损失

当然,获得这些收益也是有代价的。Batch layer和speed layer事实上做了重复的计算。从资源的角度看,Lambda architecture消耗了更多的资源。

Lambda Architecture在产品中的应用案例


product.png

上图是一个用户画像产品的大数据处理架构的简化版本,略去了和这个主题无关的部分。可以看到这个产品采用了典型的Lambda Architecture:

  1. Bigpipe百度自研的分布式流式数据传输系统,实时传输在线系统的日志,下游可以通过订阅的方式来获取数据。Bigpipe保证数据在传输过程中不重不丢。
  2. Data Warehouse是基于HDFS的数据仓库,保存收到的所有原始数据。
  3. Batch layer:一系列的Hadoop App完成用户特征的挖掘,App之间通过HDFS来交换数据。Batch layer每天运行一次,数据的延迟是一天。
  4. Speed layer:利用百度自研的DStream实时流式计算平台,完成当天用户特征的实时挖掘。
  5. MolaDB是百度自研的一个面向在线业务的低延迟KV数据库,存储挖掘后用户特征,并为在线系统提供服务。
  6. Search Router是在线业务的检索入口,根据在线业务的检索请求查询MolaDB。
    通过采用Lambda Architecture,即实现了海量用户画像数据的实时处理,同时也最大限度的保证了系统的可靠性。
Lambda Architecture在IoT领域的应用与挑战 1.背景介绍 随着互联网物联网(IoT)技术的发展,我们已经看到了大量的物理设备被连接到互联网上,从而形成了一个巨大的数据生态系统。这些设备产生了大量的数据,包括传感器数据、位置信息、设备状态等,这些数据可以用于各种应用,如智能城市、智能交通、智能能源等。然而,这些数据的规模和复杂性使得传统的数据处理技术无法满足需求。因此,我们需要一种新的架构来处理这 阅读详情

相关推荐

Lambda Architecture in Action: Use Cases and Success Stories

1.背景介绍 大数据处理技术不断发展,各种数据处理架构也不断涌现。Lambda Architecture 是一种用于实时大数据处理的架构,它结合了批处理和流处理的优点,为实时分析提供了高效的解决方案。在本文中,我们将深入探讨 Lambda Architecture 的核心概念、算法原理、实例代码和未来发展趋势。

AI天才研究院 908

Lambda Architecture-大数据处理系统经典架构解析

LA是通用的大数据处理系统架构

ybdesire的专栏 5468

Lambda Architecture and Apache Kafka: A Winning Partnership

大数据技术在过去的几年里发展迅速,成为了企业和组织中不可或缺的一部分。随着数据的规模和复杂性的增加,传统的数据处理方法已经不能满足需求。为了解决这个问题,人工智能科学家和计算机科学家们提出了一种新的数据处理架构——Lambda Architecture。同时,Apache Kafka 作为一种分布式流处理系统,也成为了 Lambda Architecture 的重要组成部分。

AI天才研究院 190

实时数据处理:Lamda Architecture的优势和应用

1.背景介绍 实时数据处理是现代数据科学和人工智能领域中的一个关键概念。随着数据的增长和数据处理的复杂性,实时数据处理技术变得越来越重要。Lambda Architecture 是一种有趣且具有挑战性的实时数据处理架构,它试图在处理实时数据和历史数据的同时,实现低延迟和高吞吐量。在本文中,我们将深入探讨 Lambda Architecture 的核心概念、优势、应用和实现方法。 1.1 实时数...

AI天才研究院 729

Gerrit 使用操作手册

Gerrit是一种免费、开源的代码审查工具,使用网页交互页面。这个软件的名称来自于荷兰设计师师赫里特·里特费尔德(GerritRietveld),作者为Google公司的ShawnPearce。它使用Git作为底层版本控制系统,相比于其他的代码管理工具,Gerrit明显的特色是代码审核。利用网页浏览器,同一个团队的软件程序员,可以相互审核(Review)彼此修改后的程序代码,然后决定是继续提交还是取消提交。...

九离的博客 1万+

ThingsBoard入门实战(二):ThingsBoard 设备接入

文章目录ThingsBoard 设备接入一、设备配置/设备类型二、设备三、设备接入HTTPCOAPMQTT四、下一步 ThingsBoard 设备接入 设备接入并不一定需要真正的设备,我们可以通过程序。或者命令来模拟设备,向平台发送信息。 这节我们先为用户分配一个设备,然后通过模拟设备命令更新设备的状态(遥测值)。 一、设备配置/设备类型 添加一个叫"路灯"的设备配置。 设备配置听起来比较抽象,可以认为是设备类型或者是设备类型的配置。实际上,ThingsBoard 中很多时候让选择设备类型,就是选的这个。

AIGC搞起 1万+

【大数据架构(3)】Lambda vs. Kappa Architecture-选择你需要的架构

【大数据架构(3)】Lambda vs. Kappa Architecture-选择你需要的架构

hiliang521的博客 2124

手把手教你用S7-PLCSIM Advanced V3.0搭建PLC仿真测试环境(含WinPcap避坑指南)

本文详细介绍了如何使用西门子S7-PLCSIM Advanced V3.0搭建PLC仿真测试环境,包括WinPcap 4.1.3驱动的安装避坑指南。从环境准备、软件安装到配置调试,提供了一套完整的解决方案,帮助工程师和教学人员快速构建可靠的PLC仿真环境,解决常见的报错问题。

weixin_30879169的博客 643

Lambda Architecture的可扩展性与性能优化

1.背景介绍 随着数据的增长和复杂性,数据处理和分析的需求也不断增加。为了满足这些需求,我们需要构建出高性能、高可扩展性的数据处理系统。Lambda Architecture 是一种可扩展的大数据处理架构,它将数据处理分为三个部分:批处理(Batch)、速度(Speed)和服务(Service)。这种架构可以提供实时数据处理和分析,同时保持数据的完整性和一致性。 在本文中,我们将讨论 Lamb...

AI天才研究院 1132

Windows 11 安装 Miniforge,配置国内源

本文详细介绍了在 Windows 11 系统中安装 Miniforge 的完整流程,包括下载、安装选项设置、配置国内镜像源(如清华大学源)以加速包管理,并启用 mamba 提升依赖解析与安装速度。同时涵盖 conda 与 mamba 的基本使用验证、PowerShell 初始化及环境提示符优化,帮助用户快速搭建高效、开源、免费的 Python 科学计算环境。

寒水馨 · 轻量级技术文档 · hanshuixin.org 4527

【ITS模型】基于MATLAB的ITS宽带短波信道模型的建模和仿真

1.软件版本 MATLAB2010b 2.本算法理论知识 对短波信道建模具有里程碑意义的是沃特森在1970年发表的一篇文章,文章中提出了一种静态模型,并在大气中进行了实验验证。 此静态模型可以描述为高斯散射增益抽头延迟线模型,即Watterson模型。 Watterson信道模型是经典的窄带短波信道模型,在这个模型中,信道衰落是瑞利幅度分布,而在每种传播模式中多普勒扩展的功率谱满足高斯分布。Watterson模型没有定义延时扩展的形状,认为各个多径传输模式中不存在延时扩展。其...

FPGA/MATLAB学习教程/源码/项目合作开发 2758

aws-lambda-hexagonal-architecture:构建灵活高效的AWS Lambda架构

aws-lambda-hexagonal-architecture:构建灵活高效的AWS Lambda架构 项目介绍 在软件开发领域,灵活性是衡量架构优劣的重要标准。aws-lambda-hexagonal-architecture 是一个使用 AWS Lambda 和 Node.js 实现六边形架构(Hexagonal Architecture)的开源项目。六边形架构是一种设计模式,旨在实现业务...

gitblog_00054的博客 419

【020】C++ 动态内存管理解析:new 和 delete 的正确使用

C++中的动态内存分配是在程序运行时根据需要进行内存空间的分配和释放,与静态内存分配相比,具有更大的灵活性和适应性。动态内存分配可以通过new和delete或者malloc()和free()等函数实现。在程序运行时无法确定所需的内存大小。需要在多个函数之间共享数据,并且数据可能被频繁地创建和销毁。静态数组无法满足需求,例如需要支持可变长度数组。如果在动态分配内存后忘记了释放它,则会导致内存泄漏。为避免内存泄漏,可以使用智能指针或手动管理内存的方式来释放动态分配的内存。

Lion_Long的博客 1471

Kappa_Lambda_architecture

Lambda架构和Kappa架构是两种处理大数据的架构模式,它们各自有不同的特点和适用场景。

2401_83026894的博客 1026

车载网络测试实操源码_使用CAPL脚本实现安全访问解锁,并模拟各种测试场景

在车载诊断中,我们经常会使用到安全访问解锁,常见的场景包括软件刷写前、通过2E服务写入某个DID前、通过31服务执行某个例程前等,都必须先通过27服务进行安全访问,解锁相应安全等级后才能执行上述操作。在开发调试或测试时,有时候需要模拟正常的安全解锁、安全访问秘钥错误、连续多次请求安全访问等,手动操作极为不便。本文将介绍如何使用CAPL脚本实现安全访问解锁,并模拟各种测试场景。

文章主要涉及嵌入式软件开发、测试、项目管理等,欢迎交流,共同进步。 1202

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Lambda architecture and Kappa architecture.

Lambda architecture and kappa architecture. From Mastering Azure Analytics by Zoiner Tejada 阅读笔记 Lambda Architecture Lambda architecture was originally proposed by the creator of Apache Storm, Nathan ...

hjw199089的博客 836

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Big Data Lambda Architecture 翻译

Big DataLambda Architecture Posted on September5, 2012 by dbtube In orderto meet the challenges of Big Data, you must rethink data systems from theground up. You will discover that some of the most

dazheng 1573

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Building a Scalable Lambda Architecture with Apache Flink

1.背景介绍 大数据处理是现代数据科学的核心。随着数据规模的增长,传统的数据处理方法已经不能满足需求。为了处理大规模数据,我们需要一种更高效、可扩展的架构。Lambda 架构是一种流行的大数据处理架构,它可以处理大规模数据并提供低延迟和高吞吐量。在本文中,我们将讨论如何使用 Apache Flink 构建可扩展的 Lambda 架构。 2.核心概念与联系 2.1 Lambda 架构概述 L...

AI天才研究院 703

SQS-Lambda Event Source Mapping Architecture

AWS Event Source Mapping (ESM) connects SQS with Lambda, managing polling, concurrency, and throttling. The architecture consists of SQS queues, ESM service with worker pools and Lambda execution slots.

quwenqian的专栏 543

Lambda Architecture vs. Kappa Architecture: Which is Right for Your Project?

1.背景介绍 大数据处理技术不断发展,不同的数据处理架构也在不断演进。Lambda Architecture和Kappa Architecture是两种非常常见的大数据处理架构,它们各自有其优缺点,适用于不同的项目场景。在本文中,我们将深入了解这两种架构的核心概念、算法原理、具体操作步骤以及数学模型公式,并讨论它们在实际项目中的应用和未来发展趋势。 2.核心概念与联系 2.1 Lambda ...

AI天才研究院 1013

What are the advantages of Lambda architecture

What are the advantages of Lambd architecture

在路上 412

数据系统架构——Lambda architecture

传统系统的问题 “我们正在从IT时代走向DT时代(数据时代)。IT和DT之间,不仅仅是技术的变革,更是思想意识的变革,IT主要是为自我服务,用来更好地自我控制和管理,DT则是激活生产力,让别人活得比你好”——阿里巴巴董事局主席马云。 数据量从M的级别到G的级别到现在T的级、P的级别。数据量的变化,数据管理系统(DBMS)和数仓系统(DW)也在悄然的变化着...

weixin_33743661的博客 256

Building Lambda Architecture with Spark Streaming

The versatility of Apache Spark’s API for both batch/ETL and streaming workloads brings the promise of lambda architecture to the real world. Few things help you concentrate like a last-minute change...

微信公众号:大数据从业者 232
上一篇: 深度学习如何入门?
下一篇: 零基础入门深度学习(1) - 感知器
Trader_Python
博客等级 码龄11年 392粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值