Ozone的数据延迟处理机制

Ozone Manager采用Table Cache和DoubleBuffer实现数据延迟处理,提高系统响应速度。Table Cache确保数据即时可见性,而DoubleBuffer提升数据写出吞吐量,两者结合减少对DB服务的依赖,提供更高效的处理效率。
摘要由CSDN通过智能技术生成

前言


在典型的基于DBMS的管理系统中,业务上的请求操作最终会转化为CRUD操作被apply到后台的数据库里。从客户端数据请求的发起再到最终结果的apply,在设计上整个过程往往是同步的方式,因为客户端要知道最终结果是否已经成功更新到数据库里了。类似在其它不是基于DMBS的存储系统中,这种同步处理的方式也是非常常见的。不过,笔者今天要探讨一种对此更为高效的改良设计,来提高数据请求处理的效率,客户端能够得到更快的响应。

传统同步模式的数据处理过程


在传统的软件系统中,数据请求处理返回整个一系列过程是同步的进行的,中间的任何一个环节出错都将宣告此次数据操作的失败。以下是其中的处理过程图:
在这里插入图片描述
上图对应步骤操作如下:

1)客户端发起数据操作请求
2)中心Manager服务端进行相关条件判断
3)如果条件判断通过,则进行后台DB数据更新,否则Manager返回失败结果给客户端。

上述的过程步骤其实并不多,但是决定整个请求处理过程的快慢经常会发生于最后的DB数据更新这一步。因为DB数据更新涉及到和外界服务进行交互,如果DB服务反应慢了,整个过程的时间也就变长了。试想一下,假设我们把比较重的数据落DB的操作从这个环节中剥离出去,独立地执行,那就可以提高不少的处理速度了。

我们姑且定义上面的过程为数据的延迟处理操作。在最近Hadoop Ozone的OzoneManager的代码实现中,就实现了这么一套延迟处理逻辑。下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值