暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

DBLink 工作原理

原创 GBASE数据库 2024-07-04
110

 原文链接:

https://www.gbase.cn/community/post/3984

更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。


同构数据源工作原理

上图所示,目标端集群与源端集群为相同版本的GBase 8a集群,两个集群之间的数据互通采用DBlink。

当配置参数【gcluster_dblink_direct_data_exchange】为1时,代表数据从数据源集群的计算节点直接发送给目标集群。即为上图所示的工作模式。在该工作模式下,源集群和目标集群的节点间在网络上可直接连接。

对上图工作原理进行简述:

(1)目标端集群将数据请求由gcluster的5258端口发送至dblink的9898端口
(2)Dblink将请求由9898端口转发至源端集群的5258端口
(3)源端数据库将接收的请求生成执行计划,由gcluster的5258端口下发至各gnode的5050端口
(4)源端的5050端口接收到执行计划进行查询,并将返回结果与目标端集群的gnode的5050端口直接通讯。
(5)目标端Gnode将查询结果汇总到gcluster层。

【需要开放的端口】

  • Dblink :9898端口
  • 源端与目标端的5258要与dblink的9898可以互相访问
  • 需要保证源端集群的gnode节点与目标端几群的gnode节点的5050都可以互相访问,即让步骤(4)可以顺利进行节点间的数据交换。

异构数据源工作原理

上图所示为GBase 8a与异构数据源Oracle通过DBlink进行数据交互的示意图。

当配置参数【gcluster_dblink_direct_data_exchange】为0时,表示数据从数据源集群发送给网关,然后由网关转发给目标集群。在采用异构数据源时,仅支持该工作模式,或者当两个GBase 8a集群节点间在网络上不可直接连接时,也采用该种工作模式。

对上图工作原理进行简述:

(1)目标端集群将数据请求由gcluster的5258端口发送至dblink的9898端口
(2)Dblink将请求由9898端口转发至源端集群的1521端口
(3)源端数据库处理请求,并将执行结果发送至dblink的9898端口
(4)Dblink将源端数据库返回的结果发送至目标集群的随机的一个gnode节点
(5)目标端Gnode将查询结果返回至gcluster中。

【需要开放的端口】

  • Dblink :9898端口
  • 源端与目标端的5258要与dblink的9898可以互相访问
  • 需要保证目标端集群的所有gnode节点的5050端口与DBlink的9898端口相互访问,目的是让步骤(4)DBlink的查询结果可以顺利返回至目标集群的随机的一个gnode节点上

 原文链接:

https://www.gbase.cn/community/post/3984

更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论