分布式 | DBLE 新全局表检查实现浅析

dble是基于mysql的高可扩展性的分布式中间件 用于MySQL分片的高可扩展性中间件 立即下载

作者:孙正方
爱可生 DBLE 核心研发成员,拥有丰富的分布式数据库中间件开发、咨询以及调优经验,擅长数据库中间件问题排查和处理,对线上中间件部分排错有深入的实践与认知。
本文来源:原创投稿
*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。


背景

在 dble 2.19.11.0 之前的版本中,继承于 Mycat 的实现,全局表检查是一个 server 级别的功能,并且通过在创建全局表的时候添加列 _dble_op_time 来进行实现。在实际使用中带来了许多棘手的问题。

  • 开关不便
  • 结果集处理不便
  • 数据导入处理不便

在 dble 2.19.11.0 中,考虑到生产中实际使用的场景和定义情况,按照以下的几点要求,对于全局表检查进行了重新的设计:

  • 检查开关在表格级别(只有部分表格需要检查)

  • 检查触发的具体时间需要能精确定义

  • 检查的方式要求可以自定义

  • 检查方式自定义要求足够足够简单明确

实现原理

根据以上提供的明确要点,dble 引入了 quartz 框架来进行定时任务的时间控制,并且在 schema.table 级别的标签上添加了以下的几个可选项:

  • globalCheck

  • cron

  • globalCheckClass

并且在加载过程中,将每一个 table 的全局表检查,作为一个独立的定时任务加载到 quartz 中去,之后便交由 quartz 进行触发和执行。

而至于每一个独立的定时任务,则可以和其他的 dble 中的自定义功能一样,由用户自定义以下几个方法:

  • getCountSQL (全局表检查 SQL 执行定义)

  • getFetchCols (全局表检查结果集列定义)

  • resultEquals (全局表检查结果对比方法)

  • failResponse (全局表检查失败反馈方法)

  • resultResponse (全局表检查结果反馈方法)

具体的执行逻辑和流程如下图所示:

简单的描述为以下步骤:

  • start/reload 的时候将表格所配置的定时任务加入到 quartz 中

  • quartz 触发定时任务

  • 实例化 AbstractConsistencyChecker 并执行

  • 根据方法 getCountSQL 确定需要执行的 SQL,并将 SQL 下发执行

  • 根据方法 getFetchCols 确定需要获取的 SQL 执行结果列

  • 根据方法 resultEquals 对于不同 MySQL 上的检查结果进行对比

  • 根据 failResponse 和 resultResponse 方法进行结果的反馈

全局表检查使用实例

当然,dble 内置了两种全局表检查的默认方法,并提供了对应的简称:

  • CHECKSUM

  • COUNT

顾名思义,以上的两种默认方法分别通过在不同的 MySQL 节点求取同名表的 checksum 值以及 count 的数量来进行比较不同 MySQL 节点上的数据的一致性。

具体则可以按照以下进行配置:

<!--dble内置CHECKSUM检查方式-->
<table name="tb_global1" dataNode="dn1,dn2" type="global" globalCheck="true" cron = "0 * * * * ?" globalCheckClass="CHECKSUM"/>
<!--dble内置COUNT检查方式-->
<table name="tb_global2" dataNode="dn1,dn2" type="global" globalCheck="true" cron = "0 * * * * ?" globalCheckClass="COUNT"/>
OnePose++: Keypoint-Free One-Shot Object Pose Estimation without CAD Models 算法:首先采用LoFTR的细匹配模块,将粗匹配点周围的小窗口内,通过对比特征找到最相似的位置,细化当前特征点的位置。算法:PnP算法,利用3D点和2D投影点的对应关系,计算相机相对于物体的6D姿态(位置朝向)。算法:使用COLMAP,对2D粗匹配对(不依赖传统关键点匹配)进行特征轨迹计算并生成半稠密点云,每个3D点包含坐标和对应的2D投影点。算法:LoFTR粗匹配模块,将每一个像素点视为伪关键点,生成半稠密的2D匹配对。输入:优化后的3D、当前视图的2D特征点。输出:粗半稠密点云以及物体的特征轨迹。 阅读详情

相关推荐

AXI 1G/2.5G Ethernet Subsystem IP核使用过程中参数配置全解

AXI 1G/2.5G Ethernet Subsystem 是一个为FPGA设计的以太网子系统,它支持1Gbps和2.5Gbps的数据传输速率,使得FPGA能够直接进行高速以太网通信。这个子系统通常包含以太网MAC控制器、GMII(千兆媒体独立接口)或RGMII(简化GMII)接口、以及可选的PHY(物理层)接口支持。

u011565038的博客 1万+

9.分库分表中间件DBLE

1.原理 分析SQL语句,根据SQL语义将SQL拆分成多个,发送至数据节点,将多个数据节点的结果聚集,返回客户端。 2.DBLE 基于MyCat的开源免费的、高性能、高可用的MySQL分库分表中间件。

Steven的博客 953

从零搭建风电场:手把手教你用WAsP+WindPRO完成风资源评估全流程

本文详细介绍了从零开始搭建风电场的全流程,重点讲解如何使用WAsP和WindPRO进行风资源评估和风场布局优化。内容包括软件配置、数据采集规范、风图谱建模实战、机组选型策略以及常见问题解决方案,帮助工程师掌握风电开发的核心技术,提升项目成功率。

year5的博客 369

mysql tookit 之 dble(2)修改一些配置

修改一些配置测试 1.修改test表的主键通过dble全局自增 1.修改schema.xml 2.重新加载配置: 登入管理端口,重新加载配置: dryrun; reload @@config 3.测试: insert into testdb.test(userid,other) values(100006,'22222'); 能自动生成全局的序列 这默认是时间戳方式全局的序列 2.新建分区表的步骤1.在schema.xml新增表;2.reload reload @@config3.创建表: create

pool_Sneaker的博客 234

【Mac+CLion+STM32+JLink】从零到一:在macOS上构建高效STM32开发与调试工作流

本文详细介绍了在macOS上使用CLion、STM32CubeMX和JLink搭建高效STM32开发与调试工作流的完整指南。从环境准备、CLion深度配置到STM32CubeMX工程实战,再到JLink烧录避坑和串口调试技巧,帮助开发者快速掌握Mac平台下的嵌入式开发全流程。

weixin_28278377的博客 254

多层环境室内定位系统综述总结

本文是一篇发表于2025年《IEEE Access》期刊的综述论文,由埃及开罗美国大学与卡塔尔卡内基梅隆大学团队合作完成,聚焦多层环境室内定位系统的核心挑战、技术方案及未来方向,填补了该领域缺乏全面综述的空白。

程序员石磊 440

分布式 | DBLE 新特性之脱离分库分表的读写分离

作者:赵佳慧 爱可生产品团队成员,主要负责公司运维平台的更新迭代。平时喜欢多了解其他技术,不断提升个人技能。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 一、功能介绍 本篇内容主要围绕分库分表中间件 DBLE v3.20.10.0 版本的新特性 “不分库分表的读写分离” 展开介绍。 在 v3.20.10.0 版本之前,DBLE 支持配置分库分表的前提下使用读写分离功能。v3.20.10.0 版本开始,DBLE 支持配置单纯的读写分离,即读写分离功.

ActionTech的博客 498

开源3D激光SLAM算法的异同点、优劣势与适配场景总结

本文对比分析了主流开源3D激光SLAM方案的核心差异与适用场景。LOAM架构简洁但精度较低;LeGO-LOAM轻量化适合地面机器人;LIO-SAM采用因子图优化支持多传感器融合;LVI-SAM通过视觉-激光-惯性三重冗余提升鲁棒性;FAST-LIO系列基于滤波架构实现超高实时性。选型需权衡传感器配置(纯激光/激光+IMU/激光+视觉)、运动状态(高速/常规)、计算资源等因素:资源受限选LeGO-LOAM或Faster-LIO,高速运动选FAST-LIO系列,退化环境选LVI-SAM,全局一致性需求选LIO-

Studying…… 650

分布式数据库DBLE

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

Peter的博客 3万+

多模态大模型助力AI人工智能领域的智能决策

我们的目的是深入了解多模态大模型是怎样在AI人工智能领域帮助做出智能决策的。范围涵盖了多模态大模型的基本概念、工作原理、在不同场景下的应用,以及未来的发展方向等。接下来,我们会先介绍多模态大模型和智能决策的核心概念,再讲讲它们之间的关系。然后说说多模态大模型在智能决策中的算法原理和操作步骤,用数学公式来解释一下。接着通过一个项目实战案例让大家更直观地感受。之后看看多模态大模型在实际中的应用场景,推荐一些学习的工具和资源。最后探讨未来的发展趋势和挑战,进行总结并提出一些思考题。多模态大模型。

AIGC应用创新大全的博客 918

【TC3xx芯片】TC3xx芯片UCB详解

TC3xx芯片UCB详解

qq_36056498的博客 1万+

quartz的分布式一致性mysql_分布式 | DBLE 新全局表检查实现浅析

作者:孙正方爱可生 DBLE 核心研发成员,拥有丰富的分布式数据库中间件开发、咨询以及调优经验,擅长数据库中间件问题排查和处理,对线上中间件部分排错有深入的实践与认知。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。背景在 dble 2.19.11.0 之前的版本中,继承于 Mycat 的实现,全局表检查是一个 server 级别的功能,并且通过在创...

weixin_35942549的博客 238

一文读懂 CST 时/频域求解器

本文系统介绍了CST Studio Suite中的关键网格技术——六面体网格、四面体网格以及TLM求解器专用的八叉树非均匀网格技术。重点阐述了六面体网格的三项核心技术:理想边界拟合(PBA)技术可精确处理曲面边界,薄片技术(TST)能高效模拟薄层结构,自适应八叉树网格实现计算资源最优分配。同时详细对比了六面体网格与四面体网格的特点及适用场景,前者适用于系统级EMC/EMI分析等时域问题,后者擅长处理复杂曲面和异质材料的频域问题。

一只豌豆象的博客 461

分布式 | DBLE Release Notes 详细解读 2.19.11.0

DBLE 2.19.11.0 来了,全局表功能重置!!! 伴随着各行各业的节后复工,DBLE 2.19.11 也在今天顺利发版,不期而至! 以下对 DBLE 2.19.11.0 Release Notes 的进行详细解读,文章主要分为以下四部分内容: 一、DBLE 项目介绍 二、新版本概况 二、主要更新解读 三、完整 Release Notes 一、DBLE 项目介绍 DBLE — 企业级开源...

ActionTech的博客 479

蓝牙模块HM-10手册

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

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

dble 不支持的关键字 mysql_分布式 | DBLE Release Notes 详细解读 2.19.11.0

DBLE 2.19.11.0 来了,全局表功能重置!!!伴随着各行各业的节后复工,DBLE 2.19.11 也在今天顺利发版,不期而至!以下对 DBLE 2.19.11.0 Release Notes 的进行详细解读,文章主要分为以下四部分内容:一、DBLE 项目介绍二、新版本概况二、主要更新解读三、完整 Release Notes一、DBLE 项目介绍DBLE — 企业级开源分布式中间件,江湖人...

weixin_39669982的博客 233

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

分布式 | DBLE 关联查询下压优化

本文摘要: 在某些特殊情形下,DBLE无法将关联查询语句正确下压到数据节点,进而导致执行异常。 本文详细分析了此种现象产生的原因,并提供了解决方案。 作者:林海 华夏银行数据库专家,专注于开源及国产分布式数据库技术,多年一线金融行业数据库开发与运维经验。目前主要负责分布式数据库的研究、应用与推广工作。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 一、前言 采用分布式数据库中间件模式时,我们将业务表按照某种特定的算法和规则分散到了多个业务子..

ActionTech的博客 393

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【dble 介绍】

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

1707

dble 不支持的关键字 mysql_分布式 | DBLE Release Notes 详细解读 2.19.09.0

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

weixin_32893479的博客 351

分布式 | DBLE Release Notes 详细解读 2.19.09.0

2.19.09.0 版本DBLE Release Notes 以下对 DBLE 2.19.09.0 版本的 Release Notes 进行详细解读。 文章主要分为三部分内容: 一、DBLE 项目介绍 二、新版本主要更新解读 三、完整的 DBLE Release Notes 及翻译 一、DBLE 项目介绍 DBLE 是企业级开源分布式中间件,江湖人送外号“MyCat...

ActionTech的博客 427

MySQL分库分表dble初次尝试

文章目录安装MySQL配置MySQL安装zookeeper安装haproxy安装DBLE下载并安装配置DBLE全局唯一序列日志清理配置dble集群配置MySQL-HA开启DBLE参数配置MHA启动MHA启动DBLEsysbench压测DBLE使用规范智能ER表schema规范 安装MySQL MySQL的安装过程省略,请自行安装。 MySQL版本:5.7.29 MySQL结构如下: 主库IP 主库端口

wl21787的博客 887

dble做 saas化 租户独立数据库

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Ma...

想要拥有==>你就得变得更优秀! 764

DBLE的配置

1、配置文件 (1)server.xml:服务信息配置,系统配置,对外用户密码,防火墙等 (2)schema.xml:分片信息配置,对外数据库表格,后端mysql链接 (3)rule.xml:规则细节配置,分片规则详细参数 2、dble中配置的生效方式 配置加载:1.启动加载2.reload加载3.reload all,第二种修改表格,用户权限用到,第三种是额外增加了对mysql链接配置,实际在加...

yrsg666的博客 1632

MySQL DBLE_MySQL 分库分表 dble简单使用

一、运行环境Host NameIPDBModdata0172.16.100.170mysqldata1172.16.100.171mysqldata2172.16.100.172mysql二、安装dble1、上传安装dble需要Java环境,1.8及以上版本直接解压dble即可2、dble结构如下三、配置dble配置文件放在conf目录下1、配置server.xml 全局信息cp server_t...

weixin_34493203的博客 410

DBLE分库分表实战

环境: DBLE 2.19.03.0OS版本: CentOS Linux release 7.6.1810 (Core)IP: 192.168.20.10/24MySQL版本: MySQL-社区版-5.7.26添加2个账号授权:create user 'rw'@'%' identified by 'rw123456';create user 'rd'@'%' identi...

bingluo8787的博客 1796

分布式 | log4j2 漏洞修复方案

作者:鲍凤其 爱可生 dble 团队开发成员,主要负责 dble 需求开发,故障排查和社区问题解答。少说废话,放码过来。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 dble 运行依赖许多组件的 jar 包,当遇到某个组件有漏洞时,需要紧急修复。 Apache Log4j2 安全漏洞说明:https://nosec.org/home/detail/4917.html 修复方案 ⚠️:方案1可实施,截止至北京时间2021年12月14日11时,log.

ActionTech的博客 2775
上一篇: 故障分析 | 同一条 SQL 为何在 MariaDB 正常,MySQL 5.7 却很慢?
下一篇: 第09问:MySQL 莫名崩溃,如何保留现场?
爱可生开源社区
博客等级 码龄8年 1936粉丝 1004原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值