一种元数据同步的方法

57 篇文章 0 订阅
订阅专栏

一、技术背景

在面向数字能源领域,KaiwuDB 就元数据同步存在以下应用场景:源端执行元数据操作语句,同时对应源端元数据变化;这些元数据需要在目标的一端进行同步,而实现这一目标的方法是通过数据复制同步模块来完成。

元数据复制同步可以分为两个部分:

  • 元数据回放表的复制模块

  • 元数据回放模块

本文主要介绍整个元数据同步模块中的后半部分,即元数据回放(metadata backfill)模块的技术实现。

二、技术基础

1. 元数据回放表

此表用于记录源端元数据操作 SQL 语句:

表 1:元数据回放表

2. 表级别的复制

表级别的复制是元数据回放的基础。通过复制语法可以将源端的元数据回放记录表复制到目标端,在源端通过 DDL 对元数据进行操作的语句,将会由表级别的复制发送到目标端,完成对元数据记录表的复制操作。元数据回放模块在此表的同步基础上,进行两端的元数据回放并达到元数据同步的目的。

元数据模块由表级别的复制调用触发。在表级别的复制过程中,存在将数据写入元数据表的操作。选择在数据写入到目标端的回放表时,触发回放模块,进行检索并实现元数据回放。

三、实现流程

图 1:回放流程

1. 记录元数据操作语句

我们在执行元数据操作的 SQL 语句时,在执行流程中调用回放表写入接口,将 SQL 语句等其他参数记录在元数据回放表中。

写入此表的数据中,生成的主键为当前的 portal_id(portal_id 和源端绑定,每个端的 portal_id 是不同的)和生成的 rowid 联合主键。因此,纵使多个源端的语句也可以在同一目标端聚合在同一张回放表中,不会产生主键冲突问题。默认记录的 SQL 语句的回放状态为未回放状态。

2. 放模块的启动

回放模块的启动是基于启动服务时拉起一个协程。通过启动一个回放协程,协程中会检测信号 signal 作为回放模块的触发机制。

若 signal 接收到信号,就触发回放模块的执行。启动后的回放模块,等待复制模块的触发信号,进而触发回放。

3. 放模块的触发

复制模块通过复制表将源端记录表复制到目标端。随着不断的 SQL 记录写入回放表,表级别的复制可以将后续的 SQL 语句记录发送到目标端。

在目标端上,写入回放表时通过向 signal 赋值,即向回放协程模块发送触发信号,就可以在回放模块中触发回放模块。触发回放模块后,就可以进行到下一步回放模块的执行。

4. 回放模块的执行

图 2:回放执行模块

1)获取回放语句

通过对复制过来的源端的回放表的查询,通过筛选查出回放表的未回放语句,查找对应 SQL 记录的回放状态,从而拿到需要回放的待回放语句。

从回放表拿到的语句解析为待执行的字符串语句,这些语句就是待同步在目标端执行的语句,将其传入回放模块的下一阶段,执行回放语句。

2)执行回放语句

将获取的待回放语句传入执行回访模块,利用执行模块对获取到的语句进行执行,完成元数据在目标端的同步执行。

执行完语句后,需要修改此条语句的回放状态,进入更新语句的回放状态模块。

3)更新回放状态

回放成功的语句,需要进入更新回放状态模块,将记录的语句执行成功的更新状态为 true 已执行,下次重新获取的语句就会跳过已经被回放过的语句。

4)事务控制

回放模块的执行中,选择将执行回放语句模块放入同一个事务执行,若语句回放失败,则不进行更新状态;若更新回放状态失败,则回退回放语句的执行。放在同一个事务中,保证回放状态和是否成功执行回放语句保持一致。

四、总结优化

基于复制的技术基础,回放模块启动后,触发和执行回放模块,在源端执行的元数据操作 SQL 语句,同步到目标端进行回放,从而达到元数据的同步。本文讲述的是一个基础的实现思路,未来仍将有很大的优化空间。

博客
KaiwuDB 受邀出席中国智能化油气管道与智慧管网技术交流大会
05-29 381
KaiwuDB 受邀亮相第十三届中国智能化油气管道与智慧管网技术交流大会,浪潮院士、山东浪潮数据库技术有限公司总经理、KaiwuDB 董事长张晖发表主题演讲。
博客
Query 物理计划构建指南
05-27 702
一文了解物理计划结构核心概念及详细构建流程
博客
国际顶会认可!KaiwuDB 论文入选 ICDE 2024
05-22 242
KaiwuDB 与中国人民大学合作的论文FOSS: A Self-Learned Doctor for Query Optimizer被数据库领域顶会The 40th IEEE International Conference on Data Engineering (ICDE 2024)录用
博客
智慧管网 | “数字大脑”加速“能源动脉”新升级
05-20 440
原创 又出新方案的 KaiwuDB 2024-05-16 18:20 上海。
博客
KaiwuDB 参编的《分析型数据库技术要求》标准正式发布
05-09 302
KaiwuDB 作为一款分布式、多模融合、支持原生 AI 的数据库产品,支持时序数据、关系型数据采、存、算、管及数据跨模分析,将自适应时序引擎、事务处理引擎、预测分析引擎、内存实时引擎等多种计算引擎深度融合,助力广大企业用户完成从数据管理到业务场景分析的落地实践。分析型数据库作为数据库产品的重要分支,承担对数据进行在线统计、在线分析、即席查询等发掘信息数据价值的工作。该标准确立了分析型数据库的参考模型,规定了核心能力和支撑能力要求,适用于分析型数据库系统的设计、开发、测试、评估、运维、管理等。
博客
KaiwuDB 解析器之语义解析
05-06 843
解析器是数据库系统的重要组成部分之一,主要的功能是将客户端输入的 SQL 语句分解为语法单元,然后将这些语法单元转化成数据库内部可识别的数据结构,最终生成数据库可以执行的计划。从客户端输入一个 SQL 指令(文本格式),数据库执行器无法直接执行该文本指令,会先通过词法解析和语法解析将文本指令生成数据库能识别的数据结构 AST;语义解析对 AST 进行有效性校验,生成优化器需要的 Memo 数据结构;通过优化器(包括 RBO、CBO)优化后选出一个最优的 Memo 结构;
博客
KaiwuDB 受邀亮相 IOTE2024 演讲,顺便领了个奖
04-29 349
受邀亮相 IOTE2024 大会并发表主题演讲,向全球 5 万余名与会者介绍浪潮研发的新一代工业物联数据基座 — 分布式多模数据库 KaiwuDB 及物联网场景解决方案,旨在将先进数据技术引入实体经济领域,促进数字化转型和智能化升级。
博客
一文解读 SQL 生成工具
04-28 671
SQL 生成工具可用于测试 Parser 与其他数据库产品的兼容性,通过解析 YACC 语法文件中的产生式,生成对应的 SQL 语句,再使用数据库执行该 SQL,根据结果判断语句是否与其他数据库语法兼容。
博客
KaiwuDB CTO 魏可伟:AIoT,用行业定义数据库
04-16 318
魏可伟表示,当今中国乃至全球数据库市场上,从业者习惯于以技术定义数据库产品,例如关系型数据库、OLAP 数据库、时序数据库、图数据库、向量数据库等等,用以分门别类地应对不同类型的数据管理诉求;KaiwuDB 是一款分布式、多模、支持云边端协同的数据库产品,以 AIoT 为一大核心场景,提供高性能、高可用、高兼容、高扩展的数据管理服务及能力,旨在以现代数据库架构,与前沿智能化技术的融合创新赋能工业物联网、数字能源、车联网、智慧产业等新兴数字领域,助力我国传统产业从容步入 IoT 时代。
博客
KaiwuDB 数据库故障诊断工具详解
04-09 325
数字化时代,数据是企业最宝贵的资产之一。然而,随着数据量的增长,数据库管理的复杂性也在不断上升。数据库故障可能导致业务中断,给公司带来巨大的财务和声誉损失。在本篇博客中,我们将分享 KaiwuDB 是如何设计故障诊断工具以及具体的示例演示。
博客
KaiwuDB 乱序数据处理功能解读
04-08 270
在处理乱序数据时,指定时间窗口内(比如 10 分钟或 1 小时)的乱序数据会根据去重策略处理之后存储下来,时间窗口之外的乱序数据会被丢弃。下图是乱序数据写入的基本流程:时间窗口是指表最新数据时间戳的时间点再前置的一段时间,在表没有新数据的写入时,它的时间窗口不会变。配置文件中存在参数:ts_st_iot_disorder_interval,用以支持乱序数据写入的时间窗口,单位:秒。此配置项的值不能超过分区时间间隔数值。
博客
数据库系统访问控制面面观
03-22 877
信息系统安全是保护信息系统中各类型数据资源免受未经授权的访问(包括查看、新增、修改、删除),确保数据完整性、保密性和可用性。在当下万物互联的发展背景下,信息安全尤其重要。访问控制作为信息安全的重要组成部分,既可对用户访问信息系统进行身份鉴别,又可细粒度控制用户对信息的访问权限。数据库作为信息系统的基础软件,承担着数据存储的责任,需要保证信息的完整性、保密性和可用性,就需要进行严格的访问控制。以下为部分内容节选,点击视频查看完整版内容。
博客
KaiwuDB 分布式系统 Range Split & Merge 原理详解
03-12 1033
Range(分区)是一种数据库管理组织数据的技术。在分布式系统中,我们可将数据按照一定规则分成多个 Range 进行组织,通过分裂(Split)和合并(Merge)来实现动态管理,用以优化查询性能,并帮助提升系统的扩展性、可用性及负载均衡。本期直播的主要内容即为:KaiwuDB 分布式系统里 Range 的分裂(Split) 与合并 (Merge)。
博客
基于 Ractor 模型优化事务复制回放性能
03-01 315
当扫描线程发现可回放的事物后,会将事物 ID 加入 txnList 执行 enqueu 操作,加入事物 ID 后,扫描线程会执行 notify 操作,唤醒正在睡眠的回放线程进行事务回放操作,示意图参考如下图 2。过去发现的可回放事务都会被加入到 txnList 中,现在发现的可回放事务正在由回放线程进行回放,将来发现的可回放事务是由扫描线程扫描 UUID 进行发现的。当可回放事务全部回放结束后,认为回放结束。可回放事务分为 3 类,过去发现的可回放事务/现在发现的可回放事务/将来发现的可回放事务。
博客
KaiwuDB 拿下“物联之星”双项殊荣
02-28 425
2023年,基于对 AIoT 垂直场景需求的深入探索,KaiwuDB 先后推出工业物联网场景解决方案、离散制造业解决方案、数字能源解决方案等,并在工业互联网大数据中心、国网山东综能、奇瑞青岛的重点系统落地部署,大幅提升系统数据实时处理和数据价值挖掘的能力,实现以数据驱动的政府治理效率、企业生产运营效率的有质提升。未来,KaiwuDB 也将持续挖掘物联网衍生的场景需求,助力企业实现管理精细化、决策科学化和服务高效化,以领先的数据运管能力拥抱物联网时代。
博客
Kepler 参数化查询优化方法
02-27 912
本文主要介绍了发布于 2023 年 SIGMOD 的论文《Kepler: Robust Learning for Faster Parametric Query Optimization》,该文章针对参数化查询,将参数化查询优化与查询优化结合,旨在减少查询规划时间的同时提高查询性能。
博客
基于学习的参数化查询优化方法
02-19 802
参数化查询是指具有相同模板,且只有谓词绑定参数值不同的一类查询,它们被广泛应用在现代数据库应用程序中。它们存在反复执行动作,这为其性能优化提供了契机。然而,当前许多商业数据库处理参数化查询的方法仅仅只优化查询中的第一条查询实例(或用户指定的实例),缓存其最佳计划并为后续的查询实例重用。该方法虽然优化时间至最小化,但由于不同查询实例的最佳计划不同,缓存计划的执行可能是任意次优的,这在实际应用场景中并不适用。大多数传统优化方法需对查询优化器进行许多假设,但这些假设通常不符合实际应用场景。
博客
ThreadPool 模式设计与流程演示
01-29 1026
本期我们将和大家分享 ThreadPool 模块设计。该模式能够提高系统资源的使用效率,通过重复利用已创建线程避免频繁创建和销毁线程对系统资源的消耗,可保持系统执行大量高并发任务时的性能稳定,通过 ThreadPool 模式可实现统一资源管理,简化编程接口。
博客
数据集成时表模型同步方法解析
01-17 925
数据治理的第一步,也是数据中台的一个基础功能 — 即将来自各类业务数据源的数据,同步集成至中台 ODS 层。业务数据源多种多样,单单可能涉及到的主流关系型数据库就有近十种。功能更加全面的数据中台通常还具有对接非关系型数据库、消息队列、日志源、文件源等功能。数据湖通常是 OLAP 型的数据库,虽然中台系统很少会采用多种数据仓库技术,但在技术选型时,可选项也有很多。数据集成可实现多种异构数据库间的数据同步,想要提升数据中台的易用高效性,自动表模型同步则显得至关重要。
博客
KaiwuDB × 风电企业 | 高性能、低成本、释放数据价值
01-15 387
随着平台接入风场数量日益增长,数据量激增,数据库存储、计算和管理成本负担也愈发沉重,急需一套行之有效的数据库改造与升级方案,用以加快 AI 智能化风电业务发展建设。借助 KaiwuDB “就地计算”强大分析算力,全方位支撑 AI 分析,进行精细化运维,实现了风电场故障“早预测、早判断、早介入”,降低了 30% 以上人工成本。现有风电数据仅用于存储监测,数据分析能力缺失且无法对接常用 AI 算法平台,严重阻碍数据全量分析预测价值释放,以及 AI 智能化风电业务的发展建设进程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 分布式数据库--ZMP数据迁移平台 3884
  • WAL的概念与实践分析 3661
  • 软硬件结合,分布式数据库存储架构优化实践 3415
  • Spark 在 KaiwuDB 中的应用与实践 3355
  • KaiwuDB云原生分布式数据库安全功能以及实现介绍 3166

分类专栏

  • KaiwuDB 热点新闻 23篇
  • KaiwuDB 应用场景 4篇
  • KaiwuDB 行业案例 4篇
  • KaiwuDB 产品解读 3篇
  • KaiwuDB 技术博客 57篇
  • PG 协议 1篇

最新评论

  • KaiwuDB 受邀亮相 IOTE2024 演讲,顺便领了个奖

    普通网友: 学到了,细节很到位!【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • KaiwuDB 解析器之语义解析

    普通网友: 每当我阅读你的编程博客文章时,我总能感受到你的专业水平和耐心解答的精神。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • KaiwuDB 受邀亮相 IOTE2024 演讲,顺便领了个奖

    普通网友: 干货满满,实用性强,博主的写作风格简洁明了,让人一目了然。文章涵盖了很多实用的知识点。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • 一文解读 SQL 生成工具

    2401_84004024: 学到了,细节很到位!【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • 数据库系统访问控制面面观

    CSDN-Ada助手: 推荐 MySQL入门 技能树:https://edu.csdn.net/skill/mysql?utm_source=AI_act_mysql

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • KaiwuDB 受邀出席中国智能化油气管道与智慧管网技术交流大会
  • Query 物理计划构建指南
  • 国际顶会认可!KaiwuDB 论文入选 ICDE 2024
2024年21篇
2023年104篇
2022年49篇
2021年14篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

聚圣源起名字男孩李应芊 字起名菜鸟裹裹快递查询小动物起名北辙南辕电视剧盛宇被服宝宝起名大全100分,韵味十足艾普宽带客服电话山西襄汾饭店垮塌前视频曝光涡轮增压是什么意思四个意识四个自信两个维护马姓起名字女孩做生意起名测试翁姓该怎么起名大全辣手回春金榜八字起名05年nba总决赛斗破苍穹后传邯郸区号有诗意的公司起名起名多少划不好回到古代当匠神秋千门事件完整照片男人广字辈起名男孩男孩宝宝起名大全猪宝宝小名怎样起罗姓起名罗姓大全给自己家豆腐坊起个名字起点作者排名八字多缺金起名字淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化