命题中两个需求,1:海量数据;2:时效性
如果是单纯考虑1,基本上绝大部分的分布式数据库都适合,无非考虑到海量到什么程度,但是每个分布式数据库的优点不一样,比如说redis的场景是缓存和订阅,es的场景更多的是搜索数据分析。如你所说,redis和es都有缺点,redis是单线程的,一个查询慢了会导致整个查询超时,es没有事务的概念,查询批量的数据集会有限制。
如果是2:其实绝大多数的分布式数据库也是适合的,关键还是看你时效到什么程度,拿hbase来说,写入性能能达到每秒1W的速度。
关键还是看场景,如果是基于时序的聚合处理,不妨选择专门的时序数据库,比如 InfluxDB