文章目录
前言
笔者之前写过一篇关于存储系统数据探查分析的文章:存储系统“数据之眼”的设计–数据探查服务。文章主要阐述了关于对存储系统,我们如何对其上存储的海量数据做一个常规分析同时不能影响系统提供正常的数据服务。其中的一个核心思想是构建一个探查服务,这个服务定期获取存储系统db文件快照,然后做二次分析,并将结果存入到结果汇聚表中。本文笔者将继续聊聊目前社区对此的进一步优化实现:能够基于RocksDB的Delta Update的方式做更加准实时地结果分析服务。
Ozone数据探查服务:Recon Server
为了使大家能够了解本文笔者将要阐述的,这里有必要提及Ozone数据探查服务Recon Server的服务设计架构,如下图所示:
在早些时间,社区已经实现了从OM Follower到Recon Server的Checkpoint for bootstrap的分支。目前下面的分支apply WAL update也即将要实现,这个过程也是笔者本文将要阐述的主要内容:Recon Server基于RocksDB的WAL做Delta更新。
Recon Server基于Checkpoint获取定期DB Snapshot的弊端
在Recon Server最开始实现RocksDB同步的时候,一开始了采用的是周期性同步DB文件的办法。这个DB来自于Ozone OzoneManager Follower节点的RocksDB文件。相当于是去