大数据通用架构

Lambda架构

Lambda架构
  1. Lambda架构有三层,批处理层、速度层和服务层。
    1. 批处理层:批处理层是基于Hadoop生态,随着数据的更新会对所有数据进行重计算并将计算结果保存到NoSQL数据库中(如:electicalsearch、HBase、Redis、Hive等),提供批处理视图,批处理视图会整体批量更新;
    2. 速度层:由于批处理的机制导致延迟较大(天级/小时级),如果需要尽快的处理实时数据则需要提供单独的机制产生实时视图,通常只需要保存少量近期数据;
    3. 服务层:只会调用批处理视图和实时视图(汇总实时图和批处理视图),为应用系统提供查询服务;
  2. Lambda架构特点:
    1. 有批处理层、速度层和服务层三层;
    2. 所有数据最终都需要放在统一分布式存储上;
    3. 批处理层重新计算以后速度层的视图就可以丢弃;
    4. Lambda平台实现逻辑复杂(实时数据和批处理数据是两套处理)

Kappa架构

Kappa架构
  1. 简单来讲Kappa架构就是在Lambda架构的基础之上实时数据处理机制替代批处理机制,离线数据如果需要重新计算则将离线数据转换(通过重放机制)成实时数据处理;
  2. Kappa架构的特点
    1. 一切都是流数据
    2. 单一的数据计算/分析框架
    3. ……

Unified Lamdba

  1. 由于Lamdba架构的复杂性导致应用开发复杂,需要使用不同框架同时处理实时数据和批处理数据;Unified Lamdba架构就提出来对实时数据和批处理数据处理使用统一的API进行封装,如果处理的是批处理数据则从批处理视图中查询,如果是实时数据则从实时视图中查询。现在华为开源等openlooKeng也可以看作是Unified Lamdba的一种实现。

  2. Unified Lamdba架构的特点

    • 使用统一的API查询,屏蔽和实时和批处理的差异,简化应用开发。
作者

Mixion

发布于

2023-02-06

更新于

2024-05-12

许可协议