[发明专利]基于binlog的元数据管理方法和用于提供元数据的方法及装置有效
申请号: | 201410403789.5 | 申请日: | 2014-08-15 |
公开(公告)号: | CN105447014B | 公开(公告)日: | 2019-03-15 |
发明(设计)人: | 曾文旌 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242 |
代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 binlog 数据管理 方法 用于 提供 数据 装置 | ||
本申请公开了一种基于binlog的元数据管理方法和装置,以及一种用于提供元数据的方法和装置。其中,所述基于binlog的元数据管理方法包括:从MySQL主数据库获取元数据,作为基准元数据;以上述获取基准元数据的时间点为起点,从所述MySQL主数据库获取二进制日志binlog数据;在上述获取binlog数据的过程中,针对所述binlog数据中的每个日志事件执行下述操作:判断所述日志事件记录的是否为DDL操作;若是,存储与所述DDL操作相关的信息。采用本申请提供的方法,实现了对MySQL主数据库在各个时间点的元数据的自主管理,从而可以提供从自主管理的起始时间到当前时间之间的任意一个时间点的元数据信息,增强了binlog解析功能的容错性和可运维性。
技术领域
本申请涉及MySQL数据库技术,具体涉及一种基于binlog的元数据管理方法和装置。本申请同时提供一种用于提供元数据的方法和装置。
背景技术
MySQL是一个开放源码的关系型数据库管理系统,通常采用主从同步的架构方式,即:一台主服务器负责处理写入操作和少量的读操作,一台或者多台从服务器(或称备用服务器)负责处理读操作,从而实现负载均衡,缩短对用户访问请求的响应时间。针对上述主从同步的架构方式,MySQL数据库通常采用二进制日志文件binlog来实现主、从数据库之间的数据复制功能。
随着数据库技术以及数据库业务的发展,上述主从复制功能已无法满足多变的用户需求,例如,有的数据库业务只需要同步部分库或者表中的数据;有的业务则需要把MySQL中的数据,同步到其他关系数据库,甚至nosql数据库中去。基于这些需求,有些公司开发了基于binlog的数据同步产品,在MySQL系统的外部实现数据解析和同步功能,具体说:将从MySQL主库拉取的binlog数据解析成和数据库无关的结构数据,然后将所述结构数据按照目标数据库的需求导入到所述目标数据库中,从而实现所需的数据同步功能。
在上述数据同步的过程中,为了完整地将binlog中的数据解析成和数据库无关的结构数据,通常需要获知MySQL数据库的完整元数据(meta数据,即:记录数据库和表结构的数据),然而由于binlog自身无法提供这部分数据,因此现有技术通常采用以下三种方式获取:
1)直接向MySQL主数据库查询所需的元数据;
2)搭建独立的MySQL数据库,每从binlog数据里获取一个DDL,都在该MySQL数据库中执行,需要元数据时从该MySQL数据库中获取;
3)搭建meta中心,定期从MySQL主数据库抓取元数据并保存,如果在数据同步过程中因为故障要重新执行部分同步操作、需要获取过去的某个指定时间点的元数据时,则从已抓取的元数据中选择一个版本,并从该版本对应的时间点重新拉取并解析binlog数据。
上述三种方式,在具体的应用过程中分别存在以下缺陷:
采用方式一,由于解析binlog数据需要与binlog数据的时间戳对应的元数据信息,而MySQL主数据库的元数据是实时变化的,因此通过直接连接主库查询的方式获得当前时间点的元数据信息,可能出现与解析binlog所需元数据不一致的情况;
采用方式二,只能提供与当前解析的binlog数据的时间戳对应的元数据,无法提供之前的其他时间点的元数据。
采用方式三,每隔一段时间就要从MySQL主数据库查询一次元数据,增加了主数据库的负担;而且在需要获取过去的某个指定时间点的元数据时,只能从定期抓取的元数据中,选取其抓取时间点早于所述指定时间点的元数据版本,并从该版本对应的时间点开始拉取binlog数据,通常会拉取重复的数据,影响整个数据同步过程的效率。
发明内容
本申请提供一种基于binlog的元数据管理方法和装置,以解决现有技术无法根据指定时间点提供元数据的问题。本申请另外提供一种用于提供元数据的方法和装置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410403789.5/2.html,转载请声明来源钻瓜专利网。