平板电脑|实时BI(三)离线数据与实时数据处理的技术实现( 二 )


我们目前在一些项目上采用的数据实时处理架构 , 比如使用数据库binlog日志 , 或者其它非关系型数据库产生的流式数据发送到Kafaka或者Flink-CDC , 再通过Flink流处理引擎创建表映射、注册表 , 然后通过Flink引擎提供的FlinkSQL相关接口实现数据流式处理 , 最终将变化的数据实时写入到BI数据仓库供前端可视化做实时展现和分析 。
商业智能BI业务场景需求除了我上面提到的一些技术解决方案之外 , 大家在网上也可以看到各种各样的大数据实时处理框架或者解决方案的介绍 。 就会发现虽然大家都是在讲同一件事 , 但是实现方式和路径、采用的技术框架各不相同 , 为什么?因为具体要解决的业务场景不一样 。

比如有些商业智能BI项目可能就不是一个商业智能BI分析需求 , 就是一个大屏的实时数据展现 , 但用户一看大屏可视化 , 就会认为这个不就是商业智能BI嘛 , 拿商业智能BI来做 。
但实际上, 这样理解是有问题的 , 可视化就一定是商业智能BI吗?WEB前端直接开发行不行 , 是完全可以的 。 底层使用Flume+Kafaka+Flink+Redis 架构 , 再找个前端开发就可以设计大屏的实时数据刷新了 , 跟商业智能BI有什么关系 , 并没有关系 。
商业智能BI的强项不是去做可视化实时数据展现的 , 商业智能BI的强项是多系统打通、数据仓库建模以及对历史数据的多维分析、钻透、关联等分析路径的实现 。
所以 , 不同的行业、不同的分析型项目数据源各不相同 。 业务分析场景、数据场景众多 , 很难用某一种技术框架解决所有的问题 。 要考虑兼顾数据的时效性 , 又要考虑兼顾数据的准确性 , 还有考虑数据量吞吐和处理能力 , 以及兼顾随时变化的业务计算规则 。 这么多的场景和要求 , 很难通过标准化的技术方案去平衡 , 只能看具体的业务场景再针对性的提供相应的解决办法 。

所以 , 大家就比较容易理解为什么商业智能BI分析工具不去提供这种实时数据的处理能力 , 因为这种实时数据处理的场景是非标的 , 很难标准化去适应各种复杂的业务场景 。
即使商业智能BI有这个能力 , 也是基于某些特定场景之下的 , 一定不会适配所有的场景 。 所以一般商业智能BI都是和这种大数据平台、实时数据处理平台去搭配使用的 , 针对不同的业务场景设计不同的大数据实时数据处理方案 , 把数据规范化、标准化、模型化 , 商业智能BI负责只对接到这一层就可以了 。
并且像上面提到的这些过程 , 投入不会小 , 特别是后期的运维投入 , 数据出一点问题就是大问题 , 到底是哪个环节出的问题?网络延迟的问题 , 吞吐量处理能力的问题还是资源计算窗口不足的问题 , 有得折腾了 。
商业智能BI实时数据处理总结不管是离线数据还是实时数据采用什么样的架构都是为了解决特定业务场景下的问题 , 什么时候采用离线处理、什么时候采用实时处理 。 除了这些需求的重要性、紧迫度需要评估外 , 还需要考虑资源的投入 。
【平板电脑|实时BI(三)离线数据与实时数据处理的技术实现】
企业是用最小的、最经济的资源达成既定的业务目标 , 而不是为了追求所谓的数据实时而追求实时 。 做不到实时分析 , 只做离线就是技术不行、产品不行、能力不行 。 造子弹跟造原子弹都是造弹 , 但毕竟还不一样 。
那也有同学问了 , 有没有什么比较经济的成本 , 就想用造子弹的成本来感受一下原子弹的威力 。 就几个核心的指标 , 做成准实时的 , 比如10秒钟、半分钟刷新、刷新行不行?点赞关注收藏 , 之后会通过系列文章继续解析 。

相关经验推荐