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的本地路由表。

相关推荐
OceanBase数据库官方博客3 天前
解析 OceanBase 生态工具链 —— OAT / obd / OCP / obshell
数据库·oceanbase·分布式数据库
福大大架构师每日一题7 天前
RAGFlow v0.24.0 发布!全新「内存系统 + 多沙箱引擎 + OceanBase 支持」惊艳登场,功能全面革新!
oceanbase·ragflow
云和恩墨14 天前
云和恩墨zCloud V6.0、zData X V3与OceanBase V4完成兼容互认证,解锁数据管理新可能
oceanbase·兼容认证·zcloud·zdatax
OceanBase数据库官方博客16 天前
从分库分表到原生分布式:高德基于 OceanBase 的数据底座演进之路
数据库·oceanbase·分布式数据库
MoMoSQL66617 天前
2026年1月国产数据库大事记:国开行2822万采购Gbase,浙商银行930万采购GoldenDB,墨天轮发布“2025年度数据库”……
数据库·阿里云·tidb·oceanbase·gaussdb
OceanBase数据库官方博客23 天前
OceanBase场景解码系列三|OB Cloud 如何稳定支撑中企出海实现数 10 倍的高速增长?
数据库·oceanbase·分布式数据库
码海踏浪23 天前
从简单到专业在OceanBase中查看SQL是否走索引
数据库·sql·oceanbase
OceanBase数据库官方博客25 天前
DeepK 自动程序修复框架论文——OceanBase 校企联合研究
数据库·oceanbase·分布式数据库
OceanBase数据库官方博客25 天前
高德刘振飞:从自研 OceanBase,回望数据库技术范式变迁
数据库·oceanbase·分布式数据库·高德
MMMMMMMMMMemory1 个月前
社区版oceanbase报警XA事务悬挂
数据库·oceanbase