作者回复: HBase 和 MongoDB在这种和Spark场景下是比较类似的,可以互换。如果数据仅仅是用来做spark 分析计算,HBase可能还有一些性能上的优势。 MongoDB的好处是,你很可能已经用MongoDB在存储业务产生的数据,当你需要再做分析的时候不需要再把数据导到大数据平台(HDFS/Hbase)一份。你可以直接加上spark计算框架就可以完成分析了。节省存储,节省人力。
作者回复: flink 是一个专门的流处理计算软件,关注对“现在产生的数据”。 spark 除了能做流处理,更多的是批处理能力,对“现在和以前的数据”做回顾式计算和分析。 flink 和 spark 的一个模块,spark stream更有可比性。 flink的实时能力更强一些,颗粒度是一条数据。spark stream是基于微批,所以颗粒度粗一点。
作者回复: 在这个场景下是两者都是okay的,因为是批量计算完了存储结果的场景,然后只是用来读。 ES和mongo相比有一个比较关键的点就是实时更新能力。ES一般不建议做实时更新,因为索引更新耗时很长。所以如果你需要实时更新某些数据并且马上查询,ES会有索引不及时更新的情况导致数据不够一致。
作者回复: 是的,那个示例用的是local 模式。