1. 数据仓库传统离线架构
依赖传统的离线计算框架计算
优点:
(1) 运行计算任务比较稳定,结算结果准确;
缺点:
(1) 对于计算结果来说,数据延迟高,不能满足实时计算的需求;
2. lambda架构(传统离线+实时链路)
在传统离线数仓的基础上添加了实时计算链路,注意这不是实时数仓;
这个架构依旧是以离线计算任务为主;实时链路的计算结果起到一个参考的作用,实时部分的需求较少;且实时部分的数据不需要永久存储,可以选择这种架构
优点:
(1) 在传统离线需求的基础上,满足了少量实时计算的需求
缺点:
(1) 对于实时计算结果来说,准确率不高;
(2) 如果实时需求多起来;就想烟囱式管理。后期维护管理不方便。
(3) 实时部分kafka中的数据不能永久存储,这部分数据有时效性,BI分析不方便;
2-1.lambda架构(传统离线+实时数仓)
在传统离线数仓的基础上添加了实时数仓
如果实时计算需求较多,可以选择这种架构,不过实时计算结果的准确率依旧比不上离线部分,
一般这种是实时计算出一个参考值,第二天离线计算对之前实时计算的结果做覆盖修正。
(1) 在传统离线需求的基础上,满足了大量实时计算的需求
缺点:
(1) 对于实时计算结果来说,准确率不高;
(2) 实时部分kafka中的数据不能永久存储,这部分数据有时效性,BI分析不方便;
(3) 离线结果和实时结果可能不一样;离线部分对实时部分的结果做修正。同样的逻辑需要2套方法实现,开发维护成本高
(4) 实时部分的数据血缘关系应该没法管理。
未完待续...