接下来我们就开始做相关的技术架构设计了,在数仓的领域里面,常见的架构设计方案有好几种,这几篇文章我们都挨个来介绍下。本文主要介绍的是lambda架构。
首先上一个lambda架构图:
这种Lambda架构目前来说,使用的团队还是比较多,他主要是维护两套系统,分别是:
1、一套离线处理系统 2、一套在线处理系统
所以使用此架构的话,团队需要的专业技术人员从质量和数量来说都要求比较高的。因为会涉及到同时维护在线和离线两套逻辑。
此lambda架构的优点有:
1、可以处理超大规模的历史数据 2、只需要保存一份查询结果,存储开销比较小。 3、逻辑简单,流程清晰
当然这种lambda架构的缺点也很明显,例如:
1、批处理和实时计算需要一致运行,服务器开销比较大。 2、需要实现两套代码的开发和测试及运维,整体难度较大。
这种lambda一般采用的技术主要有:
1、kafka(消息队列) 2、flink(实时流计算框架) 3、spark(批处理分布式框架) 4、hdfs(分布式文件存储) 5、sql组件(包含:nosql,newsql,mysql等)。
以上是关于lambda架构的大致说明,大家可以好好研究一下。
还没有评论,来说两句吧...