大数据架构Lambda-架构师(六十九)

随着信息时代技术的发展,数据量的快速增加逐渐飙升到了惊人的数量级别。并且数据的采集与处理技术还在更新加快。大数据中,结构化占比百分之15左右,其余百分之85都是非结构化数据,他们大量存在于社交网络、互联网和电子商务等领域。

  • 大数据系统架构的特征
  1. 鲁棒性和容错性(Robust and Fault-tolerant)

对于大规模分布式系统中,机器可能存在宕机,但系统需要健壮性,行为正确,即使遇到了机器错误。机器错误和人错误都是存在的,每天都难以避免。

  1. 低延迟读取和更新能力

有的需要毫秒的更新能力,有的允许几个小时的延迟更新,只要有低延迟需求,系统应该保证鲁棒性。

  1. 横向扩展

当负载增大的时候,通常可以通过增加机器数量来横向扩展。

  1. 通用性

要支持绝大多数应用程序,包括金融领域,社交领域和电子商务。

  1. 延展性

有新的需求出现时候,可以把新的功能加入到系统。

  1. 查询能力

用户可以按照自己的需求进行查询,可以产生更高的价值。

  1. 最少维护能力

系统在大多数时候保持平衡,减少系统的维护次数重要途径。

  1. 可调式性

系统在运行中,产生的每一个值,都是可追踪调试的。

  • Lambda架构

Lambda架构主要分为三层,批处理层、加速层和服务层。

  1. 批处理层(Batch Layer):存储数据集,预先计算查询函数,并构建查询对应的view。Batch Layer适合批量处理离线数据。当很多场景需要实时查询的时候,则需要Speed Layer
  2. 加速层(Speed Layer):batch layer处理的是全体数据,speed layer处理的是增量数据。Speed layer接收到数据后会不断更新Real-time view。
  3. 服务层(serving layer):Serving layer用于合并batch view 和real-time view中的结果数据集到最终数据集。

  1. 批处理

批处理有两个核心功能,存储数据集和生成batch View。该层主要负责主数据集,主数据集有以下三个属性:

  1. 数据是原始的
  2. 数据是不可变的
  3. 数据永远真实的

  1. 加速层

它存储实时视图并传入数据流,以便更新这些视图。

他们的区别是什么呢?

  1. speed layer处理数据是增量数据,batch layer是全体数据。
  2. Speed layer为了效率,接受时候更新real Time view,而batch layer是根据全体离线数据直接得到batch view。

分为加速层和批量层的好处有哪些

容错性:当speed layer重新计算后,当前的real-time view就可以丢弃,而batch view也是重新计算的。

复杂性隔离:批量处理离线数据很好掌握,加速层处理增量数据隔离出来。

Scale out:横向扩展,通过增加机器来扩展,而不是增加机器性能scale up。

  1. 服务层

用于响应用户查询,合并batch view和real-time view中的结果集得到最终数据集。

Lambda架构实现?

Hadoop(HDFS)用于存储数据集,Spark(或Storm)构成速度层(Speed Layer),HBase作为服务层,有Hive创建可查询视图。

Hadoop设计成适合运行在通用分布式文件系统(Distributed File System),与目前的分布式系统有很多共同点,HDFS是一个具有高度容错性的系统,能提供吞吐量的访问数据。

Apache Spark专门为大数据设计的快速计算引擎。

HBase-Hadoop database,是一个高可用、高性能、面向列、可伸缩的分布式系统。

Lambda优点:

  1. 容错性好:一旦发生错误,从修复算法或从头计算开始。
  2. 查询灵活度高:批处理可以针对任何数据临时查询。
  3. 易伸缩:所有批处理、加速层和服务层都很容易扩展。
  4. 扩展:添加视图很容易,只需要给主数据添加新函数。

缺点:

  1. 全场景覆盖带来编码开销。
  2. 针对具体场景重新训练一遍益处不大。
  3. 重新部署和迁移成本高。

Lambda架构与其他架构比较:

  1. 事件溯源与lambda架构

整个系统以事件驱动来完成,业务数据是事件产生的视图。

  1. CQRS与lambda架构

CQRS架构分离了对数据进行的读操作和写操作,将其改变数据模型状态命令对于模型状态查询实现了分离。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

candence出现no connect property onpin,,,,错误,该怎么办?

原因是上面有引脚添加了 属性no connect,但依然连接了网络,这个时候需要把线剪切,然后看到引脚上有个X, 解决方法: 工具栏"place >no connect "X 再连上线,再生成网标的时候, 就不报错了…

Vue 简介

1.Vue是什么? Vue 是一个用于 构建用户界面 的 渐进式 框架 1. 构建用户界面:基于 数据 动态 渲染 页面 2. 渐进式: 循序渐进 的学习,理解一部分即可进行实现 3. 框架:一套完整的项目解决方案, 提…

锐捷练习-ospf虚链路及rip路由相互引入

一、相关知识补充 1、ospf基本概述 OSPF(Open Shortest Path First)是一种链路状态路由协议,用于在计算机网络中进行路由选择。它是内部网关协议(IGP)之一,常用于大规模企业网络或互联网服务提供商的网络…

Web UI 自动化测试方案(超级干货)看完不会你找我!

项目讨论 一、项目中符合自动化测试的部分有哪些?(目标和范围 scope, 准入准出标准) 1、稳定的需求点、变动较少的页面 2、每日构建后的测试验证 daily build 3、比较频繁的回归测试 4、需要在多平台上运行的相同测试案例、组合遍历型的测试、大量的重…

SystemVerilog学习 (7)——面向对象编程

一、概述 对结构化编程语言,例如Verilog和C语言来讲,它们的数据结构和使用这些数据结构的代码之间存在很大的沟壑。数据声明、数据类型与操作这些数据的算法经常放在不同的文件里,因此造成了对程序理解的困难。 Verilog程序员的境遇比C程序员更加棘手,因为 Verilog …

Vue h5页面手指滑动图片

场景: 四张图,要求随着手指滑动而滑动 代码: imgs是父盒子 poster-item是每个图片 .imgs {white-space: nowrap;overflow: hidden;overflow-x: auto;margin-bottom: 17px;.poster-item {display: inline-block;vertical-align: middle;wid…

渗透测试——2

zoomeye是一个非常厉害的搜索引擎。

MySQL存储架构

连接管理与安全性 每个客户端连接都会在服务器进程中拥有一个线程,这个连接的查询只会在这个线程中执行。MySQL5.5以后支持了一个API叫线程池插件,可以用少量线程服务大量连接,因此不用每次都新建连接然后销毁。 客户端连接MySQL服务器时候&…

Excel vlookup 如何使用

Excel vlookup 如何使用 打开WX, 搜索 “程序员奇点” Excel vlookup可以说是利器,非常好用的工具,用来查询 Excel 或者进行数据匹配,十分方便。 VLookuP 如何使用,不常用的同学经常容易忘记,这次做个记录&#xff…

网络安全(大厂面试真题集)

前言 随着国家政策的扶持,网络安全行业也越来越为大众所熟知,想要进入到网络安全行业的人也越来越多。 为了拿到心仪的 Offer 之外,除了学好网络安全知识以外,还要应对好企业的面试。 作为一个安全老鸟,工作这么多年…

使用UART烧录N76E003AT20核心板

目录 模块简介烧录方式利用ISP对N76E003AT20核心板进行烧录ICP烧录BootloaderISP烧录程序(UART)测试现象 总结 模块简介 N76E003为带有flash的增强型8位8051内核微控制器(1T工作模式),指令集与标准的80C51完全兼容并具…

【数据结构】快速排序算法你会写几种?

👦个人主页:Weraphael ✍🏻作者简介:目前正在学习c和算法 ✈️专栏:数据结构 🐋 希望大家多多支持,咱一起进步!😁 如果文章有啥瑕疵 希望大佬指点一二 如果文章对你有帮助…

论文技巧2

目录 1 找基准模型2 找模块小论文的三个实验怎么做对比试验Sota的挑选对⽐论⽂结果的获取3 消融实验什么是消融实验怎么做消融实验4 实例分析怎么做实例分析小论文必备三张图1 找基准模型 2 找模块 小论文的三个实验 怎么做对比试验

调整Windows键盘上只能看到拼音而无法看到实际的文本以及关闭输入法悬浮窗方法

一、输入法设置 如果您在键盘上只能看到拼音而无法看到实际的文本,这可能是因为您的输入法设置为中文拼音输入法或其他仅显示拼音的输入法。 要解决这个问题,您可以尝试以下方法: 1. 切换输入法:按下 Shift Alt 组合键或 Wind…

μC/OS-II---消息队列管理1(os_q.c)

目录 消息队列的主要优点消息队列和消息邮箱消息队列相关操作消息队列创建消息队列删除在消息队列等待消息 消息队列的主要优点 消息队列的主要优点是解耦和异步通信。发送者和接收者之间不需要直接建立连接,它们只需要知道消息队列的名称或标识符即可。发送者将消…

分布式教程从0到1【1】分布式基础

1 分布式基础概念 1.1 微服务 微服务架构风格,就像是把一个单独的应用程序开发为一套小服务,每个小服务运行在自己的进程中,并使用轻量级机制通信,通常是 HTTP API。这些服务围绕业务能力来构建,并通过完全自动化部署…

全链路压测:确保系统稳定性的关键一环

在当今高度数字化的业务环境中,系统的稳定性和性能至关重要。全链路压测作为确保系统在各种负载下依然可靠运行的关键工具,越来越受到企业的关注。本文将深入探讨全链路压测的概念及目的。 一、全链路压测概念 全链路压测是一种模拟真实用户行为、模拟全…

Python与ArcGIS系列(八)通过python执行地理处理工具

目录 0 简述1 脚本执行地理处理工具2 在地理处理工具间建立联系0 简述 arcgis包含数百种可以通过python脚本执行的地理处理工具,这样就通过python可以处理复杂的工作和批处理。本篇将介绍如何利用arcpy实现执行地理处理工具以及在地理处理工具间建立联系。 1 脚本执行地理处理…

ai剪辑矩阵系统源码+无人直播系统源码技术开发

开发AI剪辑矩阵系统和无人直播系统源码,需要以下步骤: 1. 市场调研:了解市场需求和竞品情况,明确系统的功能和特点。 2. 系统设计:设计系统的整体架构和功能模块,包括视频剪辑、直播推流、实时互动、数据分…

亚马逊EC2服务器搭建Linux系统宝塔环境

目录 📝摘要 💡引言 一. 购买亚马逊服务器EC2 二. 安装Linux系统 三. 在终端安装宝塔 3.1 安装宝塔 3.2安装成功 四. 配置宝塔 五 应用场景 六 代码案例演示 七 为什么选择亚马逊EC2服务器部署? 💪 可靠性和高可用性 灵…