一、传统 大数据 平台Lambda架构:
两条数据流独立处理:
1.实时流,多采用Flink,Storm或者Spark Streaming
2.批处理,如采用MapReduce,Spark SQL等
关键问题:
1.计算结果容易不一致,如批计算的结果更全面,与流计算有差异
2.IoT时代数据量巨大,夜间批计算时间窗可能不够3.数据源一旦变化,适配工作量巨大。
二、一种改良的大数据平台架构Kappa
一条数据流统一处理:
1.改进流计算来解决批量数据处理的问题,统一业务处理逻辑
2.如需重新计算,需重启一个流计算实例
关键问题:
1.流式处理对于高吞吐的历史数据处理存在瓶颈,很难适合IoT数据量
2.开发周期长,不同数据格式都要开发不同的streaming程序
3.成本高,很依赖高性能存储如 redis ,hbase等。
三、Apache IoTDB项目
以处理IoT时序数据为核心:
1.基于时序优化的文件存储格式TsFile,可与HDFS同步
2.提供数据模型能力(物的层次结构)
3.融入主流生态,如Hadoop, Spark, and Grafana等
4.高压缩低成本,存储在硬盘上的成本<$0.23/GB (Azure 约$3/GB)
关键问题:
1.通过JDBC接口与云端DB互通,有功能局限
四、以模型驱动的IoTA架构
云边协同,模型驱动的分析架构:
1.贯穿整体业务始终的数据模型,一致体验,去ETL化
2.边缘计算SDK,边缘侧可部署数据分析逻辑,增强时效性
关键问题:
1.期望构建标准化的数据模型,达到去ETL化的效果,可能需要较长时间的演化2.并未完全解决流批分离处理架构下分析结果可能不一。