[发明专利]支持远程拉取的多数据中心同步方法在审
申请号: | 202111596972.8 | 申请日: | 2021-12-24 |
公开(公告)号: | CN114281895A | 公开(公告)日: | 2022-04-05 |
发明(设计)人: | 吴春中;张浩阳 | 申请(专利权)人: | 成都索贝数码科技股份有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/242 |
代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 孙元伟 |
地址: | 610041 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 支持 远程 多数 中心 同步 方法 | ||
本发明公开了一种支持远程拉取的多数据中心同步方法,属于时序数据库技术领域,包括步骤:在多数据中心之间进行数据同步时,依据用户SQL语句中所涉及的数据进行拉取,并以数据块为单位进行按需同步;并且,用户在进行降采样查询时,只同步相关统计信息,而不同步数据本身;在对数据进行压缩过程中,获取数据块时无需解码,传输至目标库后也无需再次编码。本发明尤其适合在带宽受限情况下的多数据中心同步,同步无需特殊的SQL语句,实现同步操作对用户无感,提升了同步效率。
技术领域
本发明涉及时序数据库技术领域,更为具体的,涉及一种支持远程拉取的多数据中心同步方法。
背景技术
传统数据库如果希望从远端向本地同步数据,通常有两种方式:
(1)数据库集群:这种方式下集群中各数据库中数据需要保持实时同步,所以对网络带宽要求较高,在网络延迟较高的环境中,集群性能较低,容易出现大量的事务回滚。并且,同步方式不够灵活,即便本地用户只关心远端的少量数据,也必须同步整个数据库,造成存储资源浪费。
(2)远程查询+本地插入:这种方式是从远程表中查询数据,然后插入本地表。这种方式足够灵活,但是同步粒度又太细,结果集在传输过程中,面临组织和压缩的问题。不能充分发挥时序数据按照时间有序组织数据的优势。
发明内容
本发明的目的在于克服现有技术的不足,提供一种支持远程拉取的多数据中心同步方法,解决背景中提出的技术问题,尤其适合在带宽受限情况下的多数据中心同步,同步无需特殊的SQL语句,实现同步操作对用户无感,提升了同步效率等。
本发明的目的是通过以下方案实现的:
一种支持远程拉取的多数据中心同步方法,包括步骤:在多数据中心之间进行数据同步时,依据用户SQL语句中所涉及的数据进行拉取,并以数据块为单位进行按需同步;并且,用户在进行降采样查询时,只同步相关统计信息,而不同步数据本身;在对数据进行压缩过程中,获取数据块时无需解码,传输至目标库后也无需再次编码。
进一步地,包括子步骤:
S1,本地数据库接收同步SQL语句,分析语句,判断是否需要远程拉取数据,如需拉取数据,则将语句传至远程数据库,并对SQL语句进行再次判定后拉取相应数据;
S2,将所需同步的数据块,传输至本地数据库;
S3,重新构建数据块统计信息的上下级关系。
进一步地,在步骤S1中,包括子步骤:用户在本地数据库执行查询时,本地数据库会首先判断所查询的数据是否存在于本地数据库,如果存在则直接从本地数据库获取数据,如果不存在则以Data Page为单位向远程数据库发起数据同步并将对应层的数据块存放位置提前挪出。
进一步地,所述Data Page都组织成64K的数据块。
进一步地,在步骤S1中,所述需要拉取哪一层中的数据具体:如果语句为count(*),则只需拉取Houre-Chunck层对应数据即可,无需拉取下层数据。
进一步地,在步骤S3中,远程数据库在收到远程同步请求后,会搜集这些数据块,搜集数据库块的过程实际就是顺序读取的过程。
进一步地,在步骤S3中,搜集完毕后,数据库会采用列存方式打包数据,打包成块后,直接传输回用户的本地数据库。
进一步地,在步骤S3中,包括子步骤:本地数据库在收到数据块后执行插入操作,并重新构建统计信息上下级关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都索贝数码科技股份有限公司,未经成都索贝数码科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111596972.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种FPC模具冲头的加工方法
- 下一篇:一种资源配置方法、系统及存储介质