「大数据」Lambda架构

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: **Lambda架构**是Nathan Marz提出的用于大数据处理的模型,包括**批处理层**(预计算准确性)、**速度处理层**(实时低延迟)和**服务层**(合并结果响应查询)。它强调**容错性**、**低延迟**和**可扩展性**,并结合实时与批量处理。然而,它也面临数据口径不一致、计算窗口限制及开发复杂性等挑战。常用技术栈涉及Apache Hadoop/Spark、Storm/Flink、NoSQL数据库、Elasticsearch及消息队列。虽然有缺点,Lambda架构仍是大数据处理的重要框架。

Lambda架构是一种用于处理大数据的架构,它由Twitter的前工程师Nathan Marz提出。Lambda架构的核心思想是将数据系统分为三个层次,以实现高容错性、低延迟和可扩展性。以下是Lambda架构的详细描述:

核心功能:

  1. 批处理层(Batch Layer):负责存储和管理主数据集,预先批处理计算好的视图,确保数据的准确性。
  2. 速度处理层(Speed Layer):实时处理新数据,提供最新的数据视图以最小化延迟。
  3. 服务层(Serving Layer):合并批处理层和速度层的结果,响应查询请求。

主要特点:

  • 容错性:系统设计能够容忍机器故障和人为错误。
  • 低延迟:通过速度层提供实时数据处理,减少查询响应时间。
  • 可扩展性:通过增加资源来应对数据量和负载的增长。
  • 通用性和可扩展性:适用于多种应用场景,能够容易地添加新功能。
  • 数据不可变性:所有数据一旦写入,就不可更改,保证了数据的一致性。

主要优点:

  • 实时与批量处理的结合:同时提供实时数据处理和批量数据处理的能力。
  • 数据准确性:批处理层确保了数据处理的准确性和完整性。
  • 容错和数据恢复:能够从错误中快速恢复,保证数据不丢失。
  • 简化调试:每一层的输入和输出明确,简化了计算和查询的调试过程。

主要缺点:

  • 数据口径问题:实时与批量计算结果可能不一致,导致数据口径问题。
  • 计算窗口限制:在数据量极大的情况下,批量计算可能无法在有限的时间窗口内完成。
  • 开发和维护复杂性:需要对同样的业务逻辑进行两次编程,分别在批量和流式计算系统中。
  • 存储压力:产生大量的中间结果表,对服务器存储造成压力。

设计策略:

  • 分层设计:将系统明确分为批处理层、速度层和服务层。
  • 数据不可变性:采用不可变的数据模型,简化数据存储和管理。
  • 预运算:在批处理层预先计算查询函数,构建查询视图。
  • 实时更新:速度层对新数据进行实时处理,不断更新视图。
  • 合并结果:服务层合并批量和实时视图的结果,提供统一的查询响应。

架构实现方面可以使用的技术栈:

  • 批处理层
    • 分布式处理系统:如Apache Hadoop、Apache Spark。
    • 数据存储:如Hadoop Distributed File System (HDFS)、Amazon S3。
  • 速度处理层
    • 流处理框架:如Apache Storm、Apache Flink、Spark Streaming。
  • 服务层
    • 数据库:如NoSQL数据库(Cassandra, MongoDB)、搜索引擎(Elasticsearch)。
    • 分布式缓存:如Redis、Memcached。
  • 数据集成
    • 消息队列和流服务:如Apache Kafka、Amazon Kinesis。
    • 数据采集:如Apache Flume、Apache NiFi。

Lambda架构通过这种分层的方法,旨在提供一个既能处理大量数据,又能提供实时数据处理能力的系统。尽管它有其局限性,但Lambda架构为大数据处理提供了一个强大的框架,并影响了后续的数据处理架构设计。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
7天前
|
大数据
【赵渝强老师】大数据主从架构的单点故障
大数据体系架构中,核心组件采用主从架构,存在单点故障问题。为提高系统可用性,需实现高可用(HA)架构,通常借助ZooKeeper来实现。ZooKeeper提供配置维护、分布式同步等功能,确保集群稳定运行。下图展示了基于ZooKeeper的HDFS HA架构。
|
1月前
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
90 1
|
1月前
|
存储 分布式计算 大数据
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
57 3
|
8天前
|
SQL 数据采集 分布式计算
【赵渝强老师】基于大数据组件的平台架构
本文介绍了大数据平台的总体架构及各层的功能。大数据平台架构分为五层:数据源层、数据采集层、大数据平台层、数据仓库层和应用层。其中,大数据平台层为核心,负责数据的存储和计算,支持离线和实时数据处理。数据仓库层则基于大数据平台构建数据模型,应用层则利用这些模型实现具体的应用场景。文中还提供了Lambda和Kappa架构的视频讲解。
【赵渝强老师】基于大数据组件的平台架构
|
1月前
|
SQL 存储 分布式计算
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
25 9
|
1月前
|
存储 SQL 分布式计算
湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
【10月更文挑战第7天】湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
66 1
|
1月前
|
存储 分布式计算 druid
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
52 3
|
1月前
|
存储 SQL 缓存
Apache Doris 3.0 里程碑版本|存算分离架构升级、湖仓一体再进化
从 3.0 系列版本开始,Apache Doris 开始支持存算分离模式,用户可以在集群部署时选择采用存算一体模式或存算分离模式。基于云原生存算分离的架构,用户可以通过多计算集群实现查询负载间的物理隔离以及读写负载隔离,并借助对象存储或 HDFS 等低成本的共享存储系统来大幅降低存储成本。
Apache Doris 3.0 里程碑版本|存算分离架构升级、湖仓一体再进化
|
1月前
|
消息中间件 分布式计算 druid
大数据-154 Apache Druid 架构与原理详解 基础架构、架构演进
大数据-154 Apache Druid 架构与原理详解 基础架构、架构演进
36 2
|
1月前
|
存储 消息中间件 druid
大数据-150 Apache Druid 安装部署 单机启动 系统架构
大数据-150 Apache Druid 安装部署 单机启动 系统架构
37 1

相关产品

  • 云原生大数据计算服务 MaxCompute