分布式 | dble元数据更新同步

生产环境-Mysql高可用配置(dble+mysql+keeplived).pdf 1.体系 dble+mysql+keeplived 2.机器与软件描述 mysql01(172.28.8.65) mysql02(172.28.8.61) dble01(172.28.8.62) dble02(172.28.8.63) keeplived01(172.28.8.62) keeplived02(172.28.8.63) 亮点: 1.数据库主主复制详细代码 2.DBLE中间件用于Mysql集群的详细配置 3.keeplived保证高可用容灾 立即下载

作者:吴金玲

爱可生 dble 项目团队成员,主要负责 dble 相关的日常测试工作,擅长对 dble 中出现的问题进行排查。热爱测试工作,余生欲将测试工作进行到底。

本文来源:原创投稿

*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。


同步元数据,reload @@config_all or reload @@metadata ?

一、本文以 dble 3.21.06.0 版本为例,首先让我们来看看社区经常遇到的几类找不到表或者表字段的问题
sharding.xml的关键配置如下:

问题1:启动 dble 后,在所有后端节点都建立了表 sharding_2_t1 ,然后在 dble 管理端执行 reload @@config_all 命令,查询表 sharding_2_t1 数据及向表 sharding_2_t1 中插入数据,均报找不到表的 metadata 信息(如下图所示),为什么?

问题2:在后端节点对表 sharding_4_t1 增加一个 age 字段,且已确保所有后端节点都增加了这个字段,然后执行 reload @@config_all ,对表进行查询使用新增的字段没问题,但使用 order by 就提示找不到这个字段(如下图所示),为什么?

二、在回答出现以上问题的原因之前,首先让我们来看看 reload @@config_all 和 reload @@metadata 的使用说明(具体可参见 dble 官方文档:https://github.com/actiontech/dble-docs-cn/blob/master/2.Function/2.1_manager_cmd/2.1.07_reload.md),这样能够使我们更好的理解问题

1.reload @@config_all(2.19.09.0 版本之后功能完全等同于reload @@config )

重新加载所有配置,涉及3个 xml 配置文件( user.xml,db.xml,sharding.xml ),同时 reload @@config_all 还有3个可选参数的形式:reload @@config_all [-s] [-f] [-r];

-s 跳过测试后端链接,默认不加此参数会对配置中的后端链接进行测试,测试失败将返回 ERROR ;

-f 关闭所有变更的 dbGroup(同时加-r参数则所有 dbGroup 都会被视为变更)相关的处于事务中的前端链接,如果无此参数默认仅将相应后端链接放入旧链接池。

-r 不做智能判断,将所有后端连接池全部重新加载一遍。不加此参数时,将对新配置进行智能判断,只会对增删改的连接池做变更,不影响未作变更的连接池。

相关影响:当执行此命令时,表的配置信息发生变更时,涉及到的表的 meta 信息才会被重载,否则保持原有表 meta 信息。另外,如果包含 -r 参数则不做上述判断,全部重新加载 meta 数据。如果不包含 -r 但是包含 -s 参数,则对 metadata 是否需要重新加载的计算时,忽略所有 dbGroup/dbInstance 的变更。注意,不能在配置变更中体现的某些变化是无法重新加载 metadata 的,比如一个带有默认 shardingNode 的 schema 尝试通过删除配置将拆分表或者 global 表变成非拆分表是不符合规范的。应当避免这种操作。

2.reload @@metadata

reload @@metadata 的作用是重新加载所有元数据信息,同时还有两种扩展的过滤表达式的形式:

reload @@metadata where schema=? [ and table=? ]:重新加载指定 schema 中所有表或指定表的元数据信息。

reload @@metadata where table in (‘schema1.table1’ ,‘schema2.table2’,‘schema1.table3’,…):重新加载 schema1 中 table1,table3 和 schema2 中 table2 的元数据信息。

从以上 reload @@config_all 和 reload @@metadata 的使用说明可以看出,二者在加载元数据时的主要区别为:reload @@config_all 只会对配置中的变更项进行重新加载 metadata ,对配置未做变更的项需要手动执行 reload @@metadata 同步变更的元数据。

三、理解了 reload @@config_all 及 reload @@metadata 的区别后,我们再来分析出现前面两个问题的原因。

不难看出,问题1和问题2的报错都是由于在配置没有发生变更的情况下,在后端节点建表或修改表结构后,认为可以通过执行 reload @@config_all 同步到变更的表的元数据导致的。这里使用者有一个常见的误区,认为所有场景下执行 reload @@config_all 都会触发重新加载元数据,但实际上只有当配置同时发生变更时才会同步更新元数据,其他场景都需要手动执行 reload @@metadata 将后端表的元数据同步到 dble 中。

另外,问题2中为什么 select age from sharding_4_t1 能够查询成功,这是因为此查询属于简单查询,直接下发语句到后端节点执行即可,dble 内部不需要用到 age 字段,而后端节点存在 age 字段,所以执行成功。

四、为了便于排查元数据相关的错误,可以使用 check full @@metadata 查看当前 dble 中所有表的元数据信息。

check full @@metadata 还支持按多种条件过滤(具体可参见 dble 的官方文档:https://github.com/actiontech/dble-docs-cn/blob/master/2.Function/2.1_manager_cmd/2.1.17_check_meta_data.md)

通过以上查询结果不难发现,表 sharding_2_t1 和表 sharding_4_t1 的元数据均未同步到更新。

执行 reload @@metadata 后,再次执行 check full @@metadata 查询元数据信息:

通过以上结果可以看到表sharding_2_t1和表sharding_4_t1已经同步到正确的元数据信息,此时可以对表进行常规操作而不会报错:

手把手教你用Ubuntu 22.04的附加驱动工具安装NVIDIA显卡驱动(含常见错误修复) 本文详细介绍了在Ubuntu 22.04系统上,如何通过图形化的“附加驱动”工具安全、便捷地安装NVIDIA显卡驱动。内容涵盖从准备工作、禁用默认的nouveau驱动、图形界面安装实操,到安装后的验证(如使用nvidia-smi命令),并提供了安装失败黑屏、亮度调节失效等常见问题的深度解决方案,帮助用户彻底搞定驱动安装难题。 阅读详情

相关推荐

保姆级教程:QGC地面站Vehicle Setup全模块配置详解(从固件升级到安全设置)

本文提供QGC地面站Vehicle Setup全模块配置的保姆级教程,涵盖从固件升级到安全设置的完整流程。详细解析二次开发环境准备、传感器校准、飞行模式配置等关键步骤,帮助用户快速掌握无人机配置技巧,确保飞行安全与性能优化。

weixin_28726671的博客 387

数据库中间件DBLE学习(一) 基本介绍和快速搭建

dble基本架构简介 dble是上海爱可生信息技术股份有限公司基于mysql的高可用扩展性的分布式中间件。江湖人送外号MyCat Plus。开源地址 我们首先来看架构图,外部应用通过NIO/AIO进行连接操作。这里首先我们得介绍一下NIO/AIO是什么概念。 BIO 即传统的Blocking I/O,是JDK1.4之前的唯一选择。同步阻塞I/O模式,并发处理能力低。 NIO 也叫Non-Blo...

BuddyYuan的学习博客 5503

七、从0开始卷出一个新项目之瑞萨RZN2L 2.2.2 启动模式和flash

七、从0开始卷出一个新项目之瑞萨RZN2L 2.2.2 启动模式和flash。

cl234583745的博客 1466

DBLE分库分表中间件

1.dble和mycat分库分表中间件 1.1分库分表中间件原理 1.分析SQL语句 2.根据SQL语义,将SQL拆分成多个,发送至数据节点 3.将多个数据节点的结果聚集,返回客户端 1.2dble 1.高性能、高可用的MySQL分库分表中间件 2.上号爱可生公司开发 3.完全开源 4.基于开源项目MyCat 1.3dble对MyCat做的增强 1.缺陷修复 2.实现改进,插入语句语法增强,用户连接欸书增强 3.功能增强,提升性能 4.功能裁剪,去掉不用的算法 1.4dbl.

别浪 3711

3张RTX 4090就能跑!BAGEL-7B多模态模型本地部署避坑指南(附Flash Attention安装技巧)

本文详细介绍了如何在3张RTX 4090显卡上本地部署BAGEL-7B多模态模型,包括硬件配置、环境设置、多卡并行优化及常见问题解决方案。特别提供了Flash Attention安装技巧和显存优化策略,帮助开发者高效运行这一开源多模态模型,实现文本与图像生成任务。

1a2s3d4f5g的博客 653

Windows10完美驱动Apple Studio Display:从雷电接口到亮度调节全攻略

本文详细介绍了如何在Windows10系统上完美驱动Apple Studio Display,涵盖雷电接口兼容性、亮度调节及色彩管理等关键问题。通过实测对比不同转接方案和显卡兼容性,推荐使用贝尔金VR线和NVIDIA GTX-1660显卡,并提供了BootCamp驱动安装和亮度调节的终极解决方案,帮助用户实现最佳显示效果。

elastic6hunter的博客 1121

调度系统批量重跑任务的思考

在调度系统中总会遇到这种场景,上游任务出现数据问题,数据缺失,数据重复。这些问题出现的原因有很多,比如上游业务问题,升级某一调度组件测试覆盖不全面,代码bug等。 出现问题的原因,问题的修复,系统针对问题的升级改造,其实这一整套的链路很复杂的逻辑。 本文从几个方面对这类问题进行一些思考; 问题发现 在DQC规则报警没有全面覆盖的场景下,数据问题的发现大部分场景都是依靠业务方对业务的感知,或者线上用户的投诉的反馈。对于kpi任务而言,如果在上游任务执行初期监测的到,就可以立即停止链路调用,去梳理其他业务是否有

北方的大数据之路 3316

WorkBuddy CAD 审图救命课:约束、单位、尺寸链一次查清,打样前拦住返工

最危险的 CAD 文件不是打不开,而是看起来完整却混用了毫米与英寸、草图欠约束、关键尺寸没有来源。审图任务必须先列规则,再输出问题位置。 本课不会用“AI 一键完成”制造错觉,而是把 WorkBuddy、FreeCAD 0.21.2、OpenCascade 7.7 与人工审阅组成一条可复现链路。你会从“一份模拟 STEP 文件、参数表、装配基准与审图标准”出发,得到“单位报告、约束清单、尺寸链风险表与人工复核标记”,并学会用真实命令、错误信号和停止条件判断成果能不能进入下一阶段。

yueyeguzhuo的专栏 265

DBLE知识点

DBLE 是一种面向分布式数据库的中间件,专为高并发、海量数据的互联网应用设计。它通过数据分片、读写分离和负载均衡等机制,帮助应用系统更好地扩展和管理底层数据库资源,适用于高性能、高可用性和大规模的数据处理场景。举例说明让我们通过具体的场景举例说明 DBLE(Database Proxy Layer Engine)是如何工作的,以及它的核心功能在实际应用中的作用。DBLE 通过数据分片读写分离负载均衡和高可用性等机制,帮助大规模分布式数据库系统在处理高并发请求时保持高性能和高可用性。

qq_52122048的博客 1609

华为OD机试双机位C卷-停车场收入统计 (Py/Java/C/C++/Js/Go)

华为OD机试双机位C卷 停车场收入统计,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试 - 停车场收入统计。

qq_45776114的博客 2185

多物理场光学仿真软件:Ansys Lumerical_(8).CHARGE解决方案详解

CHARGE 模块主要用于求解 Poisson 方程和连续性方程,以模拟半导体器件中的电荷分布和载流子输运。通过 CHARGE 模块,可以分析器件的能带结构、载流子浓度、电流密度等关键参数。这些参数对于理解器件的工作原理和优化设计至关重要。

kkchenjj的博客 1387

分布式数据库DBLE

                                                   分布式数据库DBLE 第一章 绪论 研究背景 目前,在电商、金融、O2O、零售、电信等行业普遍存在用户基数大,营销活动频繁,核心交易系统响应日益变慢的问题,随着业务数据增长迅速,超过单机数据库的承受极限,制约业务的发展;在电力、气象、农业、智能制造等行业海量的数据远远超过单机数据库的承受极...

Peter的博客 3万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

分布式 | DBLE 3.20.07.0 来啦!

3.20.07.0 版本 DBLE Release Notes 以下对 DBLE 3.20.07.0 版本的 Release Notes 进行详细解读。 文章主要分为以下三部分内容: 一、DBLE 项目介绍 二、新版本主要更新解读 三、完整 Release Notes 及翻译 https://github.com/actiontech/dble 一、DBLE 项目介绍 DBLE 是企业级开源分布式中间件,江湖人送外号 “MyCat Plus”;以其简单稳定,持续维护,良好的社区环境和广大的群众基础得到.

ActionTech的博客 838

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

分布式 | DBLE 是如何实现视图的?

作者:苏仕祥 浩鲸科技 PaaS 组件团队成员,长期从事分库分表中间件的相关解决方案工作,热爱技术,乐于分享。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 本文主要讲解 DBLE 是如何实现 MySQL 视图功能的,内容包括 MySQL 视图相关概念、MySQL 对视图的实现,以及 DBLE 对视图的实现。 一、MySQL...

ActionTech的博客 398

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【dble 介绍】

dble是上海爱可生信息技术股份有限公司基于mysql的高可扩展性的分布式中间件,存在以下几个优势特性:   dble 是基于开源项目MyCat的,专注于MySQL是一个更好的选择。 所以取消了对其他数据库的支持,对兼容性,复杂查询和分布式事务的行为进行了深入的改进/优化。       数据水平拆分 随着业务的发展,您可以使用dble来替换原始的单个MySQL实例。 ...

1707

视图的数据存放在哪里_分布式 | DBLE 是如何实现视图的?

作者:苏仕祥浩鲸科技 PaaS 组件团队成员,长期从事分库分表中间件的相关解决方案工作,热爱技术,乐于分享。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。本文主要讲解 DBLE 是如何实现 MySQL 视图功能的,内容包括 MySQL 视图相关概念、MySQL 对视图的实现,以及 DBLE 对视图的实现。一、MySQL 视图概念及 MyS...

weixin_39779537的博客 265

视图包含聚合函数 查询慢_分布式 | DBLE 是如何实现视图的?

作者:苏仕祥浩鲸科技 PaaS 组件团队成员,长期从事分库分表中间件的相关解决方案工作,热爱技术,乐于分享。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。本文主要讲解 DBLE 是如何实现 MySQL 视图功能的,内容包括 MySQL 视图相关概念、MySQL 对视图的实现,以及 DBLE 对视图的实现。一、MySQL 视图概念及 MySQL 中视...

weixin_39780784的博客 223

mysql中的视图_分布式 | DBLE 是如何实现视图的?

作者:苏仕祥浩鲸科技 PaaS 组件团队成员,长期从事分库分表中间件的相关解决方案工作,热爱技术,乐于分享。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。本文主要讲解 DBLE 是如何实现 MySQL 视图功能的,内容包括 MySQL 视图相关概念、MySQL 对视图的实现,以及 DBLE 对视图的实现。一、MySQL 视图概念及 MySQL 中视...

weixin_39567046的博客 86

视图包含聚合函数 查询慢_分布式中DBLE 是如何实现视图的-爱可生

作者:苏仕祥浩鲸科技 PaaS 组件团队成员,长期从事分库分表中间件的相关解决方案工作,热爱技术,乐于分享。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。本文主要讲解 DBLE 是如何实现 MySQL 视图功能的,内容包括 MySQL 视图相关概念、MySQL 对视图的实现,以及 DBLE 对视图的实现。一、MySQL 视图概念及 MySQL 中视...

weixin_39860919的博客 243

wpf datagrid 字段平均分布_分布式丨DBLE 3.20.10.0 更新-爱可生

3.20.10.0 版本DBLE Release Notes以下对 DBLE 3.20.10.0 版本的 Release Notes 进行详细解读。文章主要分为以下三部分内容:一、DBLE 项目介绍二、新版本主要更新解读三、完整 Release Notes四、【新增】过往版本更新一、DBLE 项目介绍DBLE 是企业级开源分布式中间件,江湖人送外号 “MyCat Plus”;以其简单稳定,持续维护...

weixin_39905037的博客 244

wpf datagrid 字段平均分布_分布式 | DBLE 3.20.10.0 来了!

3.20.10.0 版本DBLE Release Notes以下对 DBLE 3.20.10.0 版本的 Release Notes 进行详细解读。文章主要分为以下三部分内容:一、DBLE 项目介绍二、新版本主要更新解读三、完整Release Notes四、【新增】过往版本更新https://github.com/actiontech/dble一、DBLE 项目介绍DBLE 是企业级开...

weixin_39530288的博客 251

话说雍正为了实施促进_社区回顾 | 雍正喵 0815 周资讯汇总

金牌播报员姓名:雍正技能:专治八阿哥(BUG)职责:社区资讯、发版报道雍正喵每周汇总,是本喵在社区打工的固定工作。准时为大家更新精选优质资讯,掌握最新动态。爱可生开源社区,一个有深度的 MySQL 社区,喵~资讯详情社区资讯?DBLE 社区免费Mycat问题诊断[详情]?想要《MySQL 大智小技》的小伙伴请进[详情]本周技术内容分享∘GROUPING() 函数用法解析[...

weixin_39855658的博客 202

探秘Dble:分布式数据库中间件的新星

探秘Dble:分布式数据库中间件的新星 dbleA High Scalability Middle-ware for MySQL Sharding项目地址:https://gitcode.com/gh_mirrors/db/dble 在数字化转型的大潮中,数据量爆炸性增长,对数据库性能和扩展性的要求也随之提高。正是这样一款为应对大规模数据处理挑战而设计的高性能、高可用的分布式数据库中间件。本文将...

gitblog_00045的博客 773

DBLE缓存分析

DBLE是应用较为广泛的分布式数据库中间件。本文主要结合使用案例,介绍DBLE缓存机制,缓存使用限制以及缓存种类。

TIME_1981的博客 1041
上一篇: 第36期:MySQL 原生水平拆表
下一篇: 技术分享 | MGR 单主模式组内滚动升级
爱可生开源社区
博客等级 码龄8年 1936粉丝 1004原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值