首页 > 编程知识 正文

腾讯基础架构部,数据架构

时间:2023-05-06 17:30:49 阅读:13484 作者:993

上图是lambda结构的图像,来自图书bigdataprinciplesandbestpracticesofscalablerealtimedatasystem。 这本书的作者是lambda结构的创造者Nathan Marz。

大数据技术手段层出不穷,各种NoSQL数据库和分布式计算框架层出不穷。 但是,几乎没有应该如何有机地组合这些组件的理论。 lambda框架是理论上指导大数据项目的顶层设计,帮助企业用数据驱动。

从业务的角度来看,在数据中的应用有不同的时效性要求。 有些数据像电子商务那样时效性要求很高,有些数据像客户的图像分析那样时效性要求很低。 原因很简单,电子商务促销的推荐变化多端,顾客的行为图像非常慢(不是每天从上班族变成百万富翁,也不是从单身汉突然变成已婚者)。

从这一点来看,lambda体系结构有两种解决方案。 正如图中的两个分支所示,一个称为Speed Layer,它快速处理实时数据进行查询,另一个分为两个分支,用于处理对时效性要求不高的数据。

Speed Layer处理实时数据的成本对计算资源要求较高,逻辑复杂度也较高。 通常采用Redis、Storm、Kafka、Spark Streaming等技术。 其他两层使用了MR、Spark、Hive等典型技术。 该路由处理延迟比较大,结果逻辑比较简单,其处理多称为“离线处理”,支持Speed Layer的“实时处理”。 这种设计被称为Complexity Isolation(复杂度分离)。

两者其实是互补的,Batch Layer会持续吸收和处理增量数据。 例如,维度渐层、增加索引、分割分割区、预估聚合值计算等作业。 在Batch Layer中处理新数据后,Speed Layer将不再处理这些分析。 因此,它可以确保由Serving Layer处理

在另一种情况下,例如用户浏览购物网站时的推荐系统,会结合实时分析结果和离线处理结果:以电子商务公司为例,用户在购物车中放入商品,进行该操作“实时处理” 立即推荐这条裙子的组合商品(例如鞋等) )但同时需要结合用户的历史行为推荐的两者的组合(这双鞋的红色尺寸m )是最终用户在网页上看到的推荐商品列表。

以上是Lambda框架的概述。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。