大数据架构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架构分离了对数据进行的读操作和写操作,将其改变数据模型状态命令对于模型状态查询实现了分离。

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

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

相关文章

TikTok运营干货——养号篇

随着国内抖音红利的进一步释放,越来越多人涌入了TikTok国内外市场。而TikTok作为海外新兴的社媒平台,也在迅速的发展着,吸引了大批的跨境电商玩家入驻。然而,TikTok运营的一大难点就是养号,许多人还没开始转化号就被封…

小程序action-sheet结合自定义tabbar显示

要实现此效果,遇到的问题:背景在电脑端调试的情况正常的情况下,手机端点击事件工单,返回回来的时候action-sheet卡住在屏幕上,点击遮罩层都不消失。更奇怪的是 这种情况并不是每次发生,而是有时候发生&…

【星海出品】云存储 ceph

https://ceph.com/en/ 建议运行带有两个网络的Ceph存储集群:公共(前端)网络和集群(后端)网络。为了支持两个网络,每个Ceph节点都需要有多个NIC。 Monitor 一个Ceph集群需要多个Monitor组成的小集群&#x…

【AI视野·今日Robot 机器人论文速览 第六十三期】Thu, 26 Oct 2023

AI视野今日CS.Robotics 机器人学论文速览 Fri, 27 Oct 2023 Totally 27 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers 6-DoF Stability Field via Diffusion Models Authors Takuma Yoneda, Tianchong Jiang, Gregory Shakhnarovich, Matthew R. …

多标签页文件管理器 - Win系统

多标签页文件管理器 - Win系统 前言My Files-X Free360文件夹升级Win11 前言 Win10系统自带的文件管理器不支持多标签页功能,本文推荐几款多标签页文件管理器,可以在一个文件管理器窗口中打开多个标签页。 My Files-X Free 此文件管理器支持多标签页&…

SpringCloud微服务:Nacos的集群、负载均衡、环境隔离

目录 集群 在user-service的yml文件配置集群 启动服务 负载均衡 order-service配置集群 设置负载均衡 当本地集群的服务挂掉时 访问权重 环境隔离 1、Nacos服务分级存储模型 一级是服务,例如userservice 二级是集群,例如杭州或上海 …

【算法】复习搜索与图论

🍎 博客主页:🌙披星戴月的贾维斯 🍎 欢迎关注:👍点赞🍃收藏🔥留言 🍇系列专栏:🌙 蓝桥杯 🌙请不要相信胜利就像山坡上的蒲公英一样唾手…

OpenCV基础应用(4)— 如何改变图像的透明度

前言:Hello大家好,我是小哥谈。本节课就手把手教你如何改变图像的透明度,希望大家学习之后能够有所收获~!🌈 目录 🚀1.技术介绍 🚀2.实现代码 🚀1.技术介绍 改变图像透明度的实…

用户的生命周期

用户生命周期是指用户在产品使用过程中的状态变化,一般分为5个阶段,分别为引入期、成长期、成熟期、沉默期和流失期。用户生命周期能够反映不同阶段用户的状态,可根据用户的不同状态进行针对性运营。运营中常说的拉新、促活、留存就是基于用户…

【Spring】bean的基础配置

bean的别名 当在Spring config文件中定义name作为别名后&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instan…

设置float浮动

用途&#xff1a;用来实现并行。常用在div等块元素并行显示。 设置右浮动代码&#xff1a;float: right; 设置左浮动代码&#xff1a;float: left; 注意&#xff1a; 1.要浮动&#xff0c;所有盒子都要设置浮动。 2.行内元素如span&#xff0c;添加了float属性过后宽度和高…

Qt图形视图框架:QGraphicsItem详解

Qt图形视图框架&#xff1a;QGraphicsItem详解 Chapter1 Qt图形视图框架&#xff1a;QGraphicsItem详解Chapter2 自定义QGraphicsItem实现平移、改变尺寸和旋转1. 平移2. 改变尺寸3. 旋转完整代码如下&#xff1a;头文件源文件 Chapter1 Qt图形视图框架&#xff1a;QGraphicsIt…