Ozone Streaming方式的写优化
文章目录 前言 Ozone Streaming的实现背景:Ratis Streaming Ozone Streaming方式写过程 参考资料 前言 在Ozone目前数据写出的过程,是基于从对象文件的block,再从block到chunk粒度进行数据的写出的。每次Ozone写完一个chunk后,对应着会触发一次write chunk的RPC call。当我们写入的数据文件对象很大的时候,过程中将会涉及到很多次write chunk PRC的操作调用。这个RPC call的频繁调用意味着相应更多的transaction的发生。对于Ozone Datanode里使用Raft协议做数据一致性同步过程的影响而言,则意味着更多的raft log需要被apply以及对应Ratis snapshot的take操作也会变得更加频繁。在一定程度上,这会影响到Datanode节点本身的数据写出操作。最近社区提出了利用Ratis Streaming的特性来优化Ozone数据写出的流程。本文笔者来简单聊聊Ozone Streaming这种全新方式的数据写出过程,目前此功能处于有一个初步的设计方案阶段。 Ozone Streaming的实现背景:Ratis Streaming 首先我们来聊聊Ozone Streaming的一个大的背景,Ozone Streaming想法的提出源自于Ratis