• 数据调用架构演变历程

      1. 单体数据结构 集中式数据存储, 大多数将架构分为计算层和存储层
      2. 微服务架构 数据分散在不同的系统中 进行数据分析或数据挖掘时

        1. 需要从不同的数据库中进行数据抽取, 将数据从数据库中周期性的同步到数据仓库中
        2. 在数据仓库中进行数据的抽取、转换、加载(ETL)
        3. 构建数据集市和应用
      3. Lambda架构

        1. Hadoop MapReduce批处理、Apache Storm 实时数据处理 ———-> 引入的框架太多 平台复杂度高、运维成本高
        2. Apahce Spark 微批处理
      4. 有状态的流计算

        1. 每次计算新的数据时是基于中间状态的结果的基础上进行运算, 不需要将原始数据重新从外部存储中取出
        2. ————> Apache Flink
    • Flink的优势

      1. 基于Google Dataflow流式计算模型实现的高吞吐、低延迟、高性能兼具实时流式计算的框架

        • Apache Spark: 高吞吐和高性能
        • Apache Storm: 低延迟和高性能
      2. 支持事件时间(Event Time)
      3. 支持有状态计算。(流式计算过程中将算子的中间结果数据存储到内存或者文件系统中)
      4. 支持高度灵活的窗口操作。(Time、Count、Session 以及Data-dirven)
      5. 基于轻量级分布式快照(Snapshot)实现的容错
      6. 基于JVM实现独立的内存管理
      7. Save Points