CN112269832A - 一种基于cdc实现数据库数据同步并读写分离的方法 - Google Patents
一种基于cdc实现数据库数据同步并读写分离的方法 Download PDFInfo
- Publication number
- CN112269832A CN112269832A CN202011188030.1A CN202011188030A CN112269832A CN 112269832 A CN112269832 A CN 112269832A CN 202011188030 A CN202011188030 A CN 202011188030A CN 112269832 A CN112269832 A CN 112269832A
- Authority
- CN
- China
- Prior art keywords
- olap
- mirror
- database
- engine
- oltp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于CDC实现数据库数据同步并读写分离的方法,属于数据库技术领域。本发明的基于CDC实现数据库数据同步并读写分离的方法,在统一平台增加MIRROR关键字,在统一平台中使用MIRROR关键字创建镜像表,在OLTP数据库引擎和OLAP数据库引擎中分别建表;对镜像表执行增、删、改操作,路由到OLTP引擎中;数据同步服务将数据同步到OLAP引擎中执行;对镜像表执行查询操作,路由到OLAP引擎中;删除镜像表,则分别删除OLTP数据库引擎和OLAP数据库引擎中的表。该发明的基于CDC实现数据库数据同步并读写分离的方法能够充分发挥OLAP和OLTP数据库引擎的特性,具有很好的推广应用价值。
Description
技术领域
本发明涉及数据库技术领域,具体提供一种基于CDC实现数据库数据同步并读写分离的方法。
背景技术
OLTP即OnlineTransactionProcessing为联机事务处理过程,也称为面向交易的处理过程,OLTP型数据库系统是面向交易型场景需求的系统。OLTP型数据库系统不仅仅局限于某一数据库,具有CDC或类似机制的数据库均可实现,例如:Oracle,Informix,Cockroachdb。其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式。
OLAP即OnlineAnalyticalProcessing联机分析处理过程,OLAP型数据库系统是面向分析型场景需求的系统,是一种数据处理技术,专门设计用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持,可以根据分析人员的要求快速、灵活地进行大数据量的复杂查询处理,并且以一种直观而易懂的形式将查询结果提供给决策人员。OLAP型数据库也不局限于单一数据库,GreenPlum等均可。
随着用户数据量不断提升、场景需求的提高,交易型和分析型的混合场景需求日益增加,需要一套数据库系统,或者基于两套数据库系统搭建的一个平台解决该类需求。为充分发挥OLTP和OLAP两类数据库引擎的作用,插入、删除、更新等事务型操作路由到事务型数据库系统;查询操作路由到分析型数据库系统。数据在两个系统中都存在,需要将数据由一个系统同步到另一个系统中,这属于后台服务,对用户透明。
发明内容
本发明的技术任务是针对上述存在的问题,提供一种能够用于事务性和分析性需求都比较强烈的场景,充分发挥两个数据库引擎各有的特性的基于CDC实现数据库数据同步并读写分离的方法。
为实现上述目的,本发明提供了如下技术方案:
一种基于CDC实现数据库数据同步并读写分离的方法,在统一平台增加MIRROR关键字,在统一平台中使用MIRROR关键字创建镜像表,在OLTP数据库引擎和OLAP数据库引擎中分别建表;对镜像表执行增、删、改操作,路由到OLTP引擎中;数据同步服务将数据同步到OLAP引擎中执行;对镜像表执行查询操作,路由到OLAP引擎中;删除镜像表,则分别删除OLTP数据库引擎和OLAP数据库引擎中的表。
CDC即ChangeDataCapture改变数据捕获,是较多数据库实现的增量抽取解决方案。通过捕获改变的数据,进行通知用户进行处理。目前提供这一机制的数据库系统包括Oracle、Informix、Cockroachdb等。
镜像表为具有读写分离功能的数据表的类型名字。
作为优选,该基于CDC实现数据库数据同步并读写分离的方法具体包括以下步骤:
S1、在统一平台中使用MIRROR关键字创建镜像表,在OLTP数据库引擎和OLAP数据库引擎中分别建表;
S2、对镜像表执行增、删、改操作,该类事务型操作被统一平台路由到OLTP引擎中;
S3、查询镜像表数据,该类分析型操作被统一平台路由到OLAP型数据库系统中;
S4、由数据同步服务完成数据从OLTP数据库引擎到OLAP数据库引擎;
S5、删除镜像表,在OLTP数据库引擎和OLAP数据库引擎中分别删除表。
作为优选,步骤S1具体包括以下过程:
S11、增加MIRROR关键字,在统一平台创建镜像表;
S12、使用事务日志技术,记录事务日志,创建数据表t_mirror_oltp;
S13、在OLTP数据库引擎中创建数据表t_mirror_oltp;
S14、使用事务日志技术,记录事务日志,创建数据表t_mirror_olap;
S15、在OLAP数据库引擎中创建数据表t_mirror_olap;
S16、创建镜像表事务提交。
作为优选,步骤S2具体包括以下过程:
S21、判断当前操作是否是增、删、改操作;
S22、若是增、删、改操作,则路由到OLTP数据库引擎,成功执行,失败则返回失败原因。
作为优选,步骤S3具体包括以下过程:
S31、判断当前操作是否是查询操作;
S32、若是查询操作,则路由到OLAP数据库引擎,成功返回结果集,失败返回失败原因。
作为优选,步骤S4具体包括以下过程:
S41、数据库同步服务解析与t_mirror_oltp相关的CDC日志;
S42、生成对应的OLAP引擎对应的操作SQL语句;
S43、在对应的OLAP引擎执行SQL语句,进行数据同步。
作为优选,步骤S5具体包括以下过程:
S51、使用事务日志技术,记录事务日志,删除数据表t_mirror_oltp;
S52、在OLTP数据库引擎中删除数据表t_mirror_oltp;
S53、使用事务日志技术,记录事务日志,删除数据表t_mirror_olap;
S54、在OLAP数据库引擎中删除数据表t_mirror_olap;
S55、删除镜像表事务提交。
作为优选,步骤S1和步骤S5中,均通过数据库事务技术保证原子性。
与现有技术相比,本发明的基于CDC实现数据库数据同步并读写分离的方法具有以下突出的有益效果:所述基于CDC实现数据库数据同步并读写分离的方法可以用于事务性和分析性需求都比较强烈的场景,充分OLTP数据库引擎和OLAP数据库引擎各有的特性,于事务日志技术建表、删表,确保各数据库引擎表的元数据强一致性,可使其更加可靠,同时OLTP和OLAP型数据库引擎均为高可用系统,使之在整体上高可用,同时也将事务型数据库系统和分析型数据库系统进行深度融合,具有良好的推广应用价值。
附图说明
图1是本发明所述基于CDC实现数据库数据同步并读写分离的方法的镜像表建表操作时序图;
图2是本发明所述基于CDC实现数据库数据同步并读写分离的方法的数据插入、查询流程时序图。
具体实施方式
下面将结合附图和实施例,对本发明的基于CDC实现数据库数据同步并读写分离的方法作进一步详细说明。
实施例
本发明的基于CDC实现数据库数据同步并读写分离的方法,在统一平台增加MIRROR关键字,在统一平台中使用MIRROR关键字创建镜像表,在OLTP数据库引擎和OLAP数据库引擎中分别建表;对镜像表执行增、删、改操作,路由到OLTP引擎中;数据同步服务将数据同步到OLAP引擎中执行;对镜像表执行查询操作,路由到OLAP引擎中;删除镜像表,则分别删除OLTP数据库引擎和OLAP数据库引擎中的表。具体包括以下步骤:
S1、在统一平台中使用MIRROR关键字创建镜像表,在OLTP数据库引擎和OLAP数据库引擎中分别建表,通过数据库事务技术保证其原子性。
如图1所示,具体包括以下过程:
S11、增加MIRROR关键字,在统一平台创建镜像表;
S12、使用事务日志技术,记录事务日志,创建数据表t_mirror_oltp;
S13、在OLTP数据库引擎中创建数据表t_mirror_oltp;
S14、使用事务日志技术,记录事务日志,创建数据表t_mirror_olap;
S15、在OLAP数据库引擎中创建数据表t_mirror_olap;
S16、创建镜像表事务提交。
S2、对镜像表执行增、删、改操作,该类事务型操作被统一平台路由到OLTP引擎中。
如图2所示,具体包括以下过程:
S21、判断当前操作是否是增、删、改操作;
S22、若是增、删、改操作,则路由到OLTP数据库引擎,成功执行,失败则返回失败原因。
S3、查询镜像表数据,该类分析型操作被统一平台路由到OLAP型数据库系统中。
如图2所示,具体包括以下过程:
S31、判断当前操作是否是查询操作;
S32、若是查询操作,则路由到OLAP数据库引擎,成功返回结果集,失败返回失败原因。
S4、由数据同步服务完成数据从OLTP数据库引擎到OLAP数据库引擎。
具体包括以下过程:
S41、数据库同步服务解析与t_mirror_oltp相关的CDC日志;
S42、生成对应的OLAP引擎对应的操作SQL语句;
S43、在对应的OLAP引擎执行SQL语句,进行数据同步。
S5、删除镜像表,在OLTP数据库引擎和OLAP数据库引擎中分别删除表。
具体包括以下过程:
S51、使用事务日志技术,记录事务日志,删除数据表t_mirror_oltp;
S52、在OLTP数据库引擎中删除数据表t_mirror_oltp;
S53、使用事务日志技术,记录事务日志,删除数据表t_mirror_olap;
S54、在OLAP数据库引擎中删除数据表t_mirror_olap;
S55、删除镜像表事务提交。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (8)
1.一种基于CDC实现数据库数据同步并读写分离的方法,其特征在于:在统一平台增加MIRROR关键字,在统一平台中使用MIRROR关键字创建镜像表,在OLTP数据库引擎和OLAP数据库引擎中分别建表;对镜像表执行增、删、改操作,路由到OLTP引擎中;数据同步服务将数据同步到OLAP引擎中执行;对镜像表执行查询操作,路由到OLAP引擎中;删除镜像表,则分别删除OLTP数据库引擎和OLAP数据库引擎中的表。
2.根据权利要求1所述的基于CDC实现数据库数据同步并读写分离的方法,其特征在于:具体包括以下步骤:
S1、在统一平台中使用MIRROR关键字创建镜像表,在OLTP数据库引擎和OLAP数据库引擎中分别建表;
S2、对镜像表执行增、删、改操作,该类事务型操作被统一平台路由到OLTP引擎中;
S3、查询镜像表数据,该类分析型操作被统一平台路由到OLAP型数据库系统中;
S4、由数据同步服务完成数据从OLTP数据库引擎到OLAP数据库引擎;
S5、删除镜像表,在OLTP数据库引擎和OLAP数据库引擎中分别删除表。
3.根据权利要求2所述的基于CDC实现数据库数据同步并读写分离的方法,其特征在于:步骤S1具体包括以下过程:
S11、增加MIRROR关键字,在统一平台创建镜像表;
S12、使用事务日志技术,记录事务日志,创建数据表t_mirror_oltp;
S13、在OLTP数据库引擎中创建数据表t_mirror_oltp;
S14、使用事务日志技术,记录事务日志,创建数据表t_mirror_olap;
S15、在OLAP数据库引擎中创建数据表t_mirror_olap;
S16、创建镜像表事务提交。
4.根据权利要求3所述的基于CDC实现数据库数据同步并读写分离的方法,其特征在于:步骤S2具体包括以下过程:
S21、判断当前操作是否是增、删、改操作;
S22、若是增、删、改操作,则路由到OLTP数据库引擎,成功执行,失败则返回失败原因。
5.根据权利要求4所述的基于CDC实现数据库数据同步并读写分离的方法,其特征在于:步骤S3具体包括以下过程:
S31、判断当前操作是否是查询操作;
S32、若是查询操作,则路由到OLAP数据库引擎,成功返回结果集,失败返回失败原因。
6.根据权利要求5所述的基于CDC实现数据库数据同步并读写分离的方法,其特征在于:步骤S4具体包括以下过程:
S41、数据库同步服务解析与t_mirror_oltp相关的CDC日志;
S42、生成对应的OLAP引擎对应的操作SQL语句;
S43、在对应的OLAP引擎执行SQL语句,进行数据同步。
7.根据权利要求6所述的基于CDC实现数据库数据同步并读写分离的方法,其特征在于:步骤S5具体包括以下过程:
S51、使用事务日志技术,记录事务日志,删除数据表t_mirror_oltp;
S52、在OLTP数据库引擎中删除数据表t_mirror_oltp;
S53、使用事务日志技术,记录事务日志,删除数据表t_mirror_olap;
S54、在OLAP数据库引擎中删除数据表t_mirror_olap;
S55、删除镜像表事务提交。
8.根据权利要求7所述的基于CDC实现数据库数据同步并读写分离的方法,其特征在于:步骤S1和步骤S5中,均通过数据库事务技术保证原子性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011188030.1A CN112269832A (zh) | 2020-10-30 | 2020-10-30 | 一种基于cdc实现数据库数据同步并读写分离的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011188030.1A CN112269832A (zh) | 2020-10-30 | 2020-10-30 | 一种基于cdc实现数据库数据同步并读写分离的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112269832A true CN112269832A (zh) | 2021-01-26 |
Family
ID=74345304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011188030.1A Pending CN112269832A (zh) | 2020-10-30 | 2020-10-30 | 一种基于cdc实现数据库数据同步并读写分离的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112269832A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102906743A (zh) * | 2010-05-17 | 2013-01-30 | 慕尼黑技术大学 | 混合oltp和olap高性能数据库系统 |
CN103942342A (zh) * | 2014-05-12 | 2014-07-23 | 中国人民大学 | 一种内存数据库oltp&olap并发查询优化方法 |
CN110019375A (zh) * | 2019-04-18 | 2019-07-16 | 哈尔滨汇拓投资中心(有限合伙) | 一种基于在线聚合的多版本并行混合处理方法 |
CN110362632A (zh) * | 2019-07-22 | 2019-10-22 | 无限极(中国)有限公司 | 一种数据同步方法、装置、设备及计算机可读存储介质 |
-
2020
- 2020-10-30 CN CN202011188030.1A patent/CN112269832A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102906743A (zh) * | 2010-05-17 | 2013-01-30 | 慕尼黑技术大学 | 混合oltp和olap高性能数据库系统 |
CN103942342A (zh) * | 2014-05-12 | 2014-07-23 | 中国人民大学 | 一种内存数据库oltp&olap并发查询优化方法 |
CN110019375A (zh) * | 2019-04-18 | 2019-07-16 | 哈尔滨汇拓投资中心(有限合伙) | 一种基于在线聚合的多版本并行混合处理方法 |
CN110362632A (zh) * | 2019-07-22 | 2019-10-22 | 无限极(中国)有限公司 | 一种数据同步方法、装置、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11921746B2 (en) | Data replication method and apparatus, computer device, and storage medium | |
US6622152B1 (en) | Remote log based replication solution | |
US6178425B1 (en) | Method of determining the visibility to a remote database client of a plurality of database transactions using simplified visibility rules | |
US7035879B2 (en) | System and method for synchronizing data of wireless devices | |
EP2418591B1 (en) | Online data migration | |
US9542468B2 (en) | Database management system and method for controlling synchronization between databases | |
US10242057B2 (en) | Distributed system with accelerator and catalog | |
EP1465085A2 (en) | Transactionally consistent change tracking for databases | |
CN109558452B (zh) | 一种查询建表操作的同步方法 | |
JP7362190B2 (ja) | ストレージエンジンにおけるデータインデックス付け方法、データインデックス付け装置、コンピュータ装置、及びコンピュータプログラム | |
CN111930768B (zh) | 增量数据获取方法、发送方法、装置及其计算机存储介质 | |
CN111522631A (zh) | 分布式事务处理方法、装置、服务器及介质 | |
CN104050276A (zh) | 一种分布式数据库的缓存处理方法及系统 | |
US20210286799A1 (en) | Automated transaction engine | |
US7353231B1 (en) | Flip-flap mechanism for high availability, online analytical processing databases | |
CN110717073A (zh) | 云流程平台中结合业务数据实现流程查询处理的系统及其方法 | |
US11630814B2 (en) | Automated online upgrade of database replication | |
CN112231321A (zh) | 一种Oracle二级索引及索引实时同步方法 | |
CN107169003B (zh) | 一种数据关联方法及装置 | |
CN109634975B (zh) | 数据同步方法及装置、电子设备及计算机可读存储介质 | |
CN114925073A (zh) | 支持灵活动态分片的分布式数据库架构及其实现方法 | |
CN110222121A (zh) | 一种基于CDC方式的SQL Server数据库增量同步实现方法及系统 | |
US7739232B2 (en) | Programming system for occasionally-connected mobile business applications | |
US20050065944A1 (en) | Systems and methods for extracting data sets from an online relational database into a data warehouse | |
CN117472854A (zh) | 一种加速批量文件搜索模型 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210126 |