flink_应用场景
差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版 | |||
flink_应用场景 [2019/12/02 16:19] – plough | flink_应用场景 [2019/12/08 20:40] (当前版本) – plough | ||
---|---|---|---|
行 21: | 行 21: | ||
* 及时响应 | * 及时响应 | ||
+ | ===== 实时计算 VS 离线计算 ===== | ||
+ | 实时计算需要不断的从 MQ 中读取采集的数据,然后处理计算后往 DB 里存储,在计算这层你无法感知到会有多少数据量过来、要做一些简单的操作(过滤、聚合等)、及时将数据下发。 | ||
+ | |||
+ | 传统的离线计算,从 DB(不限 MySQL,还有其他的存储介质)里面读取数据,该数据一般就是固定的(前一天、前一星期、前一个月),然后再做一些复杂的计算或者统计分析,最后生成可供直观查看的报表(dashboard)。 | ||
+ | |||
+ | ==== 离线计算的特点 ==== | ||
+ | - 数据量大且时间周期长(一天、一星期、一个月、半年、一年) | ||
+ | - 在大量数据上进行复杂的批量运算 | ||
+ | - 数据在计算之前已经固定,不再会发生变化 | ||
+ | - 能够方便的查询批量计算的结果 | ||
+ | |||
+ | ==== 实时计算的特点 ==== | ||
+ | - 数据实时到达 | ||
+ | - 数据到达次序独立 | ||
+ | - 数据规模大 & 无法预知容量 | ||
+ | - 再次提取数据代价大 | ||
+ | |||
+ | ==== 实时计算的优势 ==== | ||
+ | 对于持续生成最新数据的场景,才用流数据处理是非常有利的。 | ||
+ | |||
+ | ===== 实时计算面临的挑战 ===== | ||
+ | - 数据处理唯一性(如何保证数据只处理一次?至少一次?最多一次?) | ||
+ | - 数据处理的及时性(采集的实时数据量太大的话可能会导致短时间内处理不过来,如何保证数据能够及时的处理,不出现数据堆积?) | ||
+ | - 数据处理层和存储层的可扩展性(如何根据采集的实时数据量的大小提供动态扩缩容?) | ||
+ | - 数据处理层和存储层的容错性(如何保证数据处理层和存储层高可用,出现故障时数据处理层和存储层服务依旧可用?) |
flink_应用场景.txt · 最后更改: 2019/12/08 20:40 由 plough