查看原文
其他

给选择困难症的人 | 大数据架构选择之我见

microlight 杭州美创科技股份有限公司 2022-11-23


平时,一定会有这样的经历:


1.在某宝或某东浏览了一个心仪的宝贝后,同一类别广告就占据了某宝和某东的显眼位置;


2.在某新闻APP,阅读了某类新闻,后续源源不断地推荐相似新闻;


3.在外卖平台上,搜索日料并成功下单,下一次相关店铺就会出现在排行榜前列。


…… 



这些场景的背后,离不开大数据平台的支撑。当下,大数据平台大行其道,BI系统架构亦逐渐融入大数据,相得益彰。


本文向大家介绍一下,几种常见的大数据BI系统架构: 


01

传统BI大数据架构

这种架构跟传统BI架构并没有太大区别,只是把存储数据的从关系型数据库换到了大数据平台上,解决了数据量和性能问题。


优点:简单、易用,因为和传统的BI架构没有太大区别,所以替换成本有限。


缺点:

1)无法满足大数据量的实时计算

2)对cube支持有限,因为kylin需要预先对cube进行定义,然后定时调度对cube进行计算和缓存


使用场景:离线分析、报表为主



02

流式架构 

流式处理注重数据的时效性,通过对数据的实时计算和加工,呈现给数据消费者一段时间内的数据统计和分析。


优点:数据的时效性非常高


缺点:无法很好的对历史数据进行分析和计算


使用场景:监控告警平台、实时大屏展示等  



03

Lambda架构

Lambda架构是由Storm的作者Nathan Marz提出的一个实时大数据处理框架,多年经验总结提炼而成。


Lambda架构的目标是设计出一个能满足实时大数据系统关键特性的架构,包括高容错、低延时和可扩展等。Lambda架构整合离线计算和实时计算,融合不可变性(Immunability),读写分离和复杂性隔离等一系列架构原则,可集成Hadoop、Kafka、Storm、Spark、Hbase等各类大数据组件。


优点:兼顾了实时处理和离线处理


缺点:存在数据重复处理


使用场景:多种分析混合使用场景



04

Kappa架构

Kappa架构是LinkedIn的Jay在使用Lambda架构后,结合自己的使用场景做的一个优化架构,主要解决的是重复劳动的问题,同样的分析结果两套不同的代码:实时处理和离线处理。


基于这个问题,Kappa架构引入了流计算系统对全量数据进行处理:

1.用消息队列存储需要处理的新鲜数据

2.当需要全量计算的时候,重新起一个流计算,从头开始处理数据,并输出结果

3.当新的结果生成后,删除老的流计算和结果


优点:成本较Lambda架构低,因为使用了一套架构处理两种数据,且开销相对较小,开发成本也低一些


缺点:离线数据吞吐量有限,因为每次离线数据需要从头计算,如果离线数据非常庞大,此时会消耗非常多的处理时间


使用场景:离线数据量不大,同时存在实时和离线数据处理,节省成本



大数据时代下,BI成为新热点,系统架构得以快速发展。未来的大数据会精准的找出我们的喜好,从而让烦人的广告变成有用的信息推送。


生活只会越来越美好~~ 



阅读推荐


围观

学好“普通话”,系统交互不再怕

热文

喜讯|美创科技荣获“浙江省大数据应用技术创新奖”

热文

医院如何确保物联网下的“数据安全”?请先完成这5个步骤!


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存