开发者社区> 问答> 正文

流存储的抽象能给上层的计算单元带来什么样的好处呢?

已解决

流存储的抽象能给上层的计算单元带来什么样的好处呢?

展开
收起
詹姆斯邦德00 2022-06-29 17:04:12 577 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    首先,对于之前提到的 messaging 系统+文件系统,数据需要用 stream 接口进入saging 系统,但是可能以文件接口方式读出,在接口抽象上并不一致。我们需要的流存储抽象,不管是注入端还是读取端,都是 stream 接口,给应用程序统一的抽象。

    其次,流存储抽象需要提供动态扩展功能。在应用程序看来,它只需要往一个 stream 里写入数据。至于这个 stream 抽象怎么基于注入量进行动态扩展,或者在多路并发下怎么保证 per-key 的 order ,由抽象层内部解决,对应用程序完全透明。

    第三,在所有情况下,哪怕是动态扩展过程中,从流存储抽象层读出的数据,具有perkey 的 order 保证。

    第四,流存储抽象能够在逻辑上提供基于时间的全局一致的位置点,我们称之为 StreamCut 。应用程序依赖于此能够回放到任意一个位置点,回放或重试业务逻辑。

    计算引擎例如 Flink 能够利用流存储抽象提供的 StreamCut ,基于流存储系统处理的checkpointing 功能,实现端到端的 exactly-once 保证。这在文件抽象接口上,是很难做到的。

    除此之外,还有很多其他针对 streaming 典型场景的的好处,例如原子读写,低延时的tail read、事务支持、历史数据 truncation 等等。

    以上内容摘自《开源大数据前瞻与应用实战》电子书,点击https://developer.aliyun.com/topic/download?id=1153可下载完成版

    2022-06-30 16:25:18
    赞同 展开评论 打赏
问答分类:
来源圈子
更多
收录在圈子:
阿里云开发者社区官方技术圈,用户产品功能发布、用户反馈收集等。
问答排行榜
最热
最新

相关电子书

更多
为并行图数据处理提供高层抽象/语言 立即下载
存储分层企业数据存储类型选择与优化 立即下载
为流处理世界重新设计的存储 立即下载