[发明专利]读写分离架构业务系统的强一致性查询方法、装置及系统有效
申请号: | 202010627851.4 | 申请日: | 2020-07-02 |
公开(公告)号: | CN111797121B | 公开(公告)日: | 2023-08-25 |
发明(设计)人: | 王超;谷俊;陈元曦;黄浩 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/27 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 孙乳笋;王涛 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 读写 分离 架构 业务 系统 一致性 查询 方法 装置 | ||
本发明提供了一种读写分离架构业务系统的强一致性查询方法、装置及系统,查询方法包括:将写入业务系统主库的待同步到备库的联机业务数据写入缓存;接收用户的查询请求;根据对业务系统的备库和缓存的待同步到备库的联机业务数据进行查询请求改写,从而查询生成强一致性的查询结果。本发明通过缓存待同步的数据,基于缓存数据实现由备库提供强一致性的查询结果,从而提升备库资源利用率,突破备库个数限制,从而实现通过增加备库的数量,显著提升整个联机交易系统对大规模并发访问的查询响应效率。
技术领域
本发明涉及数据库技术,具体的讲是一种读写分离架构的强一致性查询方法及装置。
背景技术
当数据库的数据规模和并发访问量达到一定规模,需要通过scale out方式实现横向扩展。对于横向扩展后的各数据库服务器,分为share nothing体系和shareeverything体系两种体系。
share nothing体系即分布式数据库,如hbase、postgsql、hive、以及“mysql分库分表”等,该体系能支撑海量的数据,各数据库服务器分别存储数据的不同部分(分片),查询时通过前置服务器实现sql改写,将查询分解到各分片上执行,然后进行合并计算(如排序、聚合等),最后将合并后结果返回。该体系中hbase、postgsql、hive一般用于超大规模olap场景的大数据分析,但对oltp联机交易往往响应速度较低;“mysql分库分表”可以用于大规模oltp联机交易场景,但其实质是静态并发,各实例分别处理自身范围(比如按地区分库)的交易,一般不涉及基于全局数据(其他数据分片)的交易。
Share everything体系即不同数据库服务器拥有相同的数据,最典型例子即“oracle rac”和“mysql读写分离主备同步”。该体系的数据规模有限,其“有效”数据规模受限于单台数据库服务器所能管理的数据规模(其他均为副本)。但其将一部分查询分流到备库上执行提升查询效率,也无需修改sql,对用户的友好程度高。在一般联机访问的场景中,由于不会涉及太久远的历史数据,同时也会引入按时点汇总机制(如月末生成余额、报表等)作为后续增量更新的基础,因此,Share everything体系在oltp联机交易场景中得到较多使用。Share everything又分为物理共享和逻辑共享(同步)两大类,Oracle rac或oracle exdata是物理共享的代表,虽然技术效果好,但技术准入门槛较高(除底层集群软件、共享文件系统等专用软件外,还需依赖于光纤网络、磁盘机等物理设施);mysql主从同步、mongodb等数据库则是逻辑共享(同步)的代表,将数据从写(主)库同步到读(备)库,物理限制较小,适用面较广,但存在以下问题:
Share everything体系的读(备)库不适用于强一致性查询场景:由于主备库数据间同步需要时间,因此备库(读库)和主库(写库)间存在短暂不一致,能实现最终一致性,但无法实现强一致性。对于联机交易查询系统,用户最佳期望是获得强一致性的查询结果,延时确认(如订票)或给出老状态(如互联网搜索引擎)只能是用户无奈做出妥协的特殊场景。因此,一个联机查询系统,应尽可能向余额类查询等强一致性场景看齐。
读(备)库资源不能得到充分利用:对于强一致性查询要求,事实上只能在主库执行。由于用户对联机查询系统的最佳期望是获得强一致性的查询结果,这导致备库能执行的查询数量有限,只有可以不要求主备库数据强一致性的查询才可分流到备库,但这严重依赖于用户可接受妥协的程度。因此,读(备)库的资源无法充分利用,查询读写分离的效果不佳,“查询和热备并重”的期望无法实现,退化成“热备为主,查询为辅”。
写(主)库到读(备)库的同步存在瓶颈,可使用的读(备)库个数受限:主备库同步间存在瓶颈,如对多个备库进行同步,则主库的网卡将成为瓶颈,备库的个数受限,影响了读写分离结构的进一步扩展。相对而言,本问题被“读(备)库资源不能得到充分利用”这个问题所掩盖,但如果能解决“读(备)库不适用于强一致性查询场景”问题,导致读(备)库资源能被充分利用,则该问题也将成为亟待解决的问题之一。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010627851.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种麻醉科用麻醉剂雾化喷洒装置及其使用方法
- 下一篇:视角扩散膜片及显示面板