欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > OceanBase 的ODP OBproxy 的记录

OceanBase 的ODP OBproxy 的记录

2025/2/2 7:57:42 来源:https://blog.csdn.net/weixin_43292394/article/details/141829638  浏览:    关键词:OceanBase 的ODP OBproxy 的记录
                                       OceanBase 的ODP的路由说明

一、简述为什么使用ODP的原因
(强一致性情况下)
1.分布式数据库在SQL解析这块存在本地执行计划,远程执行计划,分布式执行计划。
本地执行计划:整个SQL的表都在session所在的Observer 节点上。
远程执行计划:整个SQL的表都不在session所在的Observer 节点上,但是全部分布在另外一个Observer节点上。
分布式计划:分区主副本存在跨多个Observer节点的情况,会触发数据的重分布,然后再进行SQL部分的jion计算。

2.本地,远程,分布式的情况说明
本地执行计划:可以说ODP多了一条网络连接耗时。
远程执行计划:存在Observer1将SQL解析后,将PLAN传给Observer2的情况,存在网络开销(PLAN>SQL)。并且会将结果传给Observer1,在反馈给ODP,最终反馈给客户。
如果Observer1直接将SQL传给Observer2,会进行硬解析。
分布式执行计划:对SQL进行解析,然后产生大量的数据重分布问题,然后再进行SQL部分的jion运算,并进行合并,导致占用大量的时间。

二、ODP的作用
前言:ODP 可以进行轻量级别的SQL解析,并根据本地的路由缓存进行SQL链路,减少远程执行计划,分布式执行计划的网络方面的消耗。
在这里插入图片描述
ODP路由的功能与策略
OBproxy 会通过proxy@sys账户获取租户的信息,然后根据租户的信息,以及根据SQL的from语句部分与where条件部分进行对比,确定路由规则(LDC,Leader,读写分离等),获取本地缓存的路由表(如果过期,会在接触到Observer后,反馈给ODP,然后进行目标Observer寻址),然后进行黑白名单确认,确认后,转发SQL。 转发SQL成功后,新的Observer会更替ODP的本地路由表。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com