CN115587096A - 实现MySQL同步数据到ES构建宽表的***及方法 - Google Patents
实现MySQL同步数据到ES构建宽表的***及方法 Download PDFInfo
- Publication number
- CN115587096A CN115587096A CN202211251356.3A CN202211251356A CN115587096A CN 115587096 A CN115587096 A CN 115587096A CN 202211251356 A CN202211251356 A CN 202211251356A CN 115587096 A CN115587096 A CN 115587096A
- Authority
- CN
- China
- Prior art keywords
- data
- mysql
- tool
- database
- service
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了实现MySQL同步数据到ES构建宽表的***及方法,本发明涉及数据库相关领域,将业务关系型数据持久化到非关系型数据库,从而实现数据的快速检索,通过MySQL开启数据库Bi n l og日志;使用数据同步工具订阅日志,同步数据到消息队列pu l sar中;创建消费者应用,对数据进行过滤、清洗,组装成目标数据,最后存储到ES中;创建查询接口,供业务***使用;将业务***查询服务切换到上述服务,通过引入了消息队列,所以整个链路是具备变更数据的堆积能力的,如果变更数据消费的比较慢,MySQL本地较老的bi n l og文件由于磁盘空间的不足而被删除时,消息队列中的数据仍然存在,数据同步仍然可以正常进行。
Description
技术领域
本发明涉及数据库相关领域,具体为实现MySQL同步数据到ES构建宽表的***及方法。
背景技术
MySQL是一种关系型数据库管理***,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择MySQL作为网站数据库,但是MySQL无法应对海量数据下各种复杂条件的查询,必须借助ES搜索引擎,所以需要实时、准确的的同步数据到ES。
发明内容
本发明的目的在于提供实现MySQL同步数据到ES构建宽表的***及方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:实现MySQL同步数据到ES构建宽表的***,包括数据去规范化模块、消费者应用模块和查询模块,所述数据去规范化模块用于去除数据库的规范化,所述消费者应用模块用于对数据进行过滤、清洗,组装成目标数据,最后存储到ES中,所述查询模块用于提供查询接口给业务***使用;
所述数据去规范化模块包括列级处理单元和表级处理单元。
作为优选,所述列级处理单元为通过在主表冗余计算好的数据,可避免频繁重复计算数据。
作为优选,所述表级处理单元包括应用多写单元、RDBMS物化视图单元和数据迁移同步单元,从而进行宽表预构建、Cube预构建,构建好的宽表包含了用户查询时需要的所有维度、度量信息。
作为优选,所述应用多写单元为在主数据相同数据库内创建宽表,应用写入数据的时候同时也向宽表写入数据,从而使得复杂的查询可从该表进行;
所述RDBMS物化视图单元为通过数据冗余与预计算减少join、聚合,从而提升查询性能;
所述数据迁移同步单元利用数据同步工具准实时将主数据表数据组织变换形成普通表或大宽表,从而写入第三方存储引擎,复杂查询直接在预构建好的表上或者cube上执行,从而达到良好的性能。
作为优选,所述数据迁移工具分为大数据类工具、流计算类工具、消息类工具、数据库类工具以及云厂商类工具,大数据类工具为大数据产品流入数据提供服务,因为大数据产品本身特点,侧重批量定时的迁移,流计算类工具为自身流计算框架生态服务,侧重计算,迁移同步更多是类似数据连接器的角色,消息类工具为自身消息产品生态服务,数据库类工具数据库厂家一般都会提供原厂工具,云厂商类工具主要侧重自身云上数据库生态产品之间的互融互通和将线下自建数据库的数据上云。
此外,本发明还提供一种实现MySQL同步数据到ES构建宽表的方法,其特征在于:包括以下步骤:
步骤一:将业务关系型数据持久化到非关系型数据库,通过MySQL开启数据库Binlog日志;
步骤二:使用数据同步工具订阅订阅日志,同步数据到消息队列pulsar中;
步骤三:创建消费者应用,对数据进行过滤、清洗,组装成目标数据,最后存储到ES中;
步骤四:创建查询接口,供业务***使用;
步骤五:将业务***查询服务切换到上述服务。
作为优选,所述ES能够有效补足MySQL在企业级数据操作场景的缺陷,且具有文本搜索能力强、多维筛选性能好并且能够使开源和商业并行的优点。
作为优选,文本搜索能力,基于倒排索引实现的搜索***,配合多样的分词器,在文本模糊匹配搜索上表现得比较好。
作为优选,多维筛选性能好,亿级规模数据使用宽表预构建,配合全字段索引,使ES在多维筛选能力上具备压倒性优势。
作为优选,开源和商业并行,ES开源生态非常活跃,具备大量的用户群体,同时其背后也有独立的商业公司支撑,而这让用户根据自身特点有了更加多样、渐进的选择。
综上所述,本发明有益效果是:
1、本发明通过引入了消息队列,所以整个链路是具备变更数据的堆积能力的,如果变更数据消费的比较慢,MySQL本地较老的binlog文件由于磁盘空间的不足而被删除时,消息队列中的数据仍然存在,数据同步仍然可以正常进行。
2、本发明通过引入消息队列后可以支持多方订阅,下游多个应用都依赖源端的变更数据,可以订阅同一份topic即可。
3、本发明通过变更数据是由下游消费者订阅,因此订阅后可以灵活的做一些数据加工,从外部调用微服务接口或者反查一些数据来做数据加工都是比较方便的。
附图说明
为了更清楚地说明发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实现MySQL同步数据到ES构建宽表的***及方法整体设计的流程图;
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
下面结合图1对本发明进行详细说明,其中,为叙述方便,现对下文所说的方位规定如下:下文所说的上下左右前后方向与图1视图方向的前后左右上下的方向一致,图1为本发明装置的正视图,图1所示方向与本发明装置正视方向的前后左右上下方向一致。
请参阅图1,本发明提供的一种实施例:实现MySQL同步数据到ES构建宽表的***,包括数据去规范化模块、消费者应用模块和查询模块,所述数据去规范化模块用于去除数据库的规范化,所述消费者应用模块用于对数据进行过滤、清洗,组装成目标数据,最后存储到ES中,所述查询模块用于提供查询接口给业务***使用;
所述数据去规范化模块包括列级处理单元和表级处理单元。
另外,在一个实施例中,所述列级处理单元为通过在主表冗余计算好的数据,可避免频繁重复计算数据。
另外,在一个实施例中,所述表级处理单元包括应用多写单元、RDBMS物化视图单元和数据迁移同步单元,从而进行宽表预构建、Cube预构建,构建好的宽表包含了用户查询时需要的所有维度、度量信息。
另外,在一个实施例中,所述应用多写单元为在主数据相同数据库内创建宽表,应用写入数据的时候同时也向宽表写入数据,从而使得复杂的查询可从该表进行;
所述RDBMS物化视图单元为通过数据冗余与预计算减少join、聚合,从而提升查询性能;
所述数据迁移同步单元利用数据同步工具准实时将主数据表数据组织变换形成普通表或大宽表,从而写入第三方存储引擎,复杂查询直接在预构建好的表上或者cube上执行,从而达到良好的性能。
另外,在一个实施例中,所述数据迁移工具分为大数据类工具、流计算类工具、消息类工具、数据库类工具以及云厂商类工具,大数据类工具为大数据产品流入数据提供服务,因为大数据产品本身特点,侧重批量定时的迁移,流计算类工具为自身流计算框架生态服务,侧重计算,迁移同步更多是类似数据连接器的角色,消息类工具为自身消息产品生态服务,数据库类工具数据库厂家一般都会提供原厂工具,云厂商类工具主要侧重自身云上数据库生态产品之间的互融互通和将线下自建数据库的数据上云。
此外,本发明还提供一种实现MySQL同步数据到ES构建宽表的方法,其特征在于:包括以下步骤:
步骤一:将业务关系型数据持久化到非关系型数据库,通过MySQL开启数据库Binlog日志;
步骤二:使用数据同步工具订阅订阅日志,同步数据到消息队列pulsar中;
步骤三:创建消费者应用,对数据进行过滤、清洗,组装成目标数据,最后存储到ES中;
步骤四:创建查询接口,供业务***使用;
步骤五:将业务***查询服务切换到上述服务。
另外,在一个实施例中,所述ES能够有效补足MySQL在企业级数据操作场景的缺陷,且具有文本搜索能力强、多维筛选性能好并且能够使开源和商业并行的优点。
另外,在一个实施例中,文本搜索能力,基于倒排索引实现的搜索***,配合多样的分词器,在文本模糊匹配搜索上表现得比较好。
另外,在一个实施例中,多维筛选性能好,亿级规模数据使用宽表预构建,配合全字段索引,使ES在多维筛选能力上具备压倒性优势。
另外,在一个实施例中,开源和商业并行,ES开源生态非常活跃,具备大量的用户群体,同时其背后也有独立的商业公司支撑,而这让用户根据自身特点有了更加多样、渐进的选择。
以上所述,仅为发明的具体实施方式,但发明的保护范围并不局限于此,任何不经过创造性劳动想到的变化或替换,都应涵盖在发明的保护范围之内。因此,发明的保护范围应该以权利要求书所限定的保护范围为准。
Claims (9)
1.实现MySQL同步数据到ES构建宽表的***,包括数据去规范化模块、消费者应用模块和查询模块,其特征在于:所述数据去规范化模块用于去除数据库的规范化,所述消费者应用模块用于对数据进行过滤、清洗,组装成目标数据,最后存储到ES中,所述查询模块用于提供查询接口给业务***使用;
述数据去规范化模块包括列级处理单元和表级处理单元。
2.根据权利要求1所述的实现MySQL同步数据到ES构建宽表的***,其特征在于:所述列级处理单元为通过在主表冗余计算好的数据,可避免频繁重复计算数据。
3.根据权利要求1所述的实现MySQL同步数据到ES构建宽表的***,其特征在于:所述表级处理单元包括应用多写单元、RDBMS物化视图单元和数据迁移同步单元,从而进行宽表预构建、Cube预构建,构建好的宽表包含了用户查询时需要的所有维度、度量信息。
4.根据权利要求3所述的实现MySQL同步数据到ES构建宽表的***,其特征在于:所述应用多写单元为在主数据相同数据库内创建宽表,应用写入数据的时候同时也向宽表写入数据,从而使得复杂的查询可从该表进行;
所述RDBMS物化视图单元为通过数据冗余与预计算减少join、聚合,从而提升查询性能;
所述数据迁移同步单元利用数据同步工具准实时将主数据表数据组织变换形成普通表或大宽表,从而写入第三方存储引擎,复杂查询直接在预构建好的表上或者cube上执行,从而达到良好的性能。
5.根据权利要求4所述的实现MySQL同步数据到ES构建宽表的***,其特征在于:所述数据迁移工具分为大数据类工具、流计算类工具、消息类工具、数据库类工具以及云厂商类工具,大数据类工具为大数据产品流入数据提供服务,因为大数据产品本身特点,侧重批量定时的迁移,流计算类工具为自身流计算框架生态服务,侧重计算,迁移同步更多是类似数据连接器的角色,消息类工具为自身消息产品生态服务,数据库类工具数据库厂家一般都会提供原厂工具,云厂商类工具主要侧重自身云上数据库生态产品之间的互融互通和将线下自建数据库的数据上云。
6.根据权利要求1-5任意一项的一种实现MySQL同步数据到ES构建宽表的方法,其特征在于:包括以下步骤:
步骤一:将业务关系型数据持久化到非关系型数据库,通过MySQL开启数据库Binlog日志;
步骤二:使用数据同步工具订阅订阅日志,同步数据到消息队列pulsar中;
步骤三:创建消费者应用,对数据进行过滤、清洗,组装成目标数据,最后存储到ES中;
步骤四:创建查询接口,供业务***使用;
步骤五:将业务***查询服务切换到上述服务。
7.根据权利要求6所述的实现MySQL同步数据到ES构建宽表的方法,其特征在于:所述ES能够有效补足MySQL在企业级数据操作场景的缺陷,且具有文本搜索能力强、多维筛选性能好并且能够使开源和商业并行的优点。
8.根据权利要求7所述的实现MySQL同步数据到ES构建宽表的方法,其特征在于:文本搜索能力,基于倒排索引实现的搜索***,配合多样的分词器,在文本模糊匹配搜索上表现得比较好。
9.根据权利要求7所述的实现MySQL同步数据到ES构建宽表的方法,其特征在于:开源和商业并行,ES开源生态非常活跃,具备大量的用户群体,同时其背后也有独立的商业公司支撑,而这让用户根据自身特点有了更加多样、渐进的选择。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211251356.3A CN115587096A (zh) | 2022-10-13 | 2022-10-13 | 实现MySQL同步数据到ES构建宽表的***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211251356.3A CN115587096A (zh) | 2022-10-13 | 2022-10-13 | 实现MySQL同步数据到ES构建宽表的***及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115587096A true CN115587096A (zh) | 2023-01-10 |
Family
ID=84780310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211251356.3A Pending CN115587096A (zh) | 2022-10-13 | 2022-10-13 | 实现MySQL同步数据到ES构建宽表的***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115587096A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116821245A (zh) * | 2023-07-05 | 2023-09-29 | 贝壳找房(北京)科技有限公司 | 分布式场景下数据聚合同步方法及存储介质 |
CN117687867A (zh) * | 2023-11-30 | 2024-03-12 | 广州三叠纪元智能科技有限公司 | 一种Elasticsearch日志记录方法、电子设备和存储介质和产品 |
-
2022
- 2022-10-13 CN CN202211251356.3A patent/CN115587096A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116821245A (zh) * | 2023-07-05 | 2023-09-29 | 贝壳找房(北京)科技有限公司 | 分布式场景下数据聚合同步方法及存储介质 |
CN117687867A (zh) * | 2023-11-30 | 2024-03-12 | 广州三叠纪元智能科技有限公司 | 一种Elasticsearch日志记录方法、电子设备和存储介质和产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115587096A (zh) | 实现MySQL同步数据到ES构建宽表的***及方法 | |
Khasawneh et al. | Sql, newsql, and nosql databases: A comparative survey | |
EP3513305B1 (en) | Techniques for dictionary based join and aggregation | |
Makris et al. | A classification of NoSQL data stores based on key design characteristics | |
Zhao et al. | Modeling MongoDB with relational model | |
WO2021068549A1 (zh) | 一种数据处理方法、平台及*** | |
Hewage et al. | Big data techniques of Google, Amazon, Facebook and Twitter. | |
CN109710618A (zh) | 知识图谱数据关系分离的混合存储方法及*** | |
WO2009108459A2 (en) | Indexing large-scale gps tracks | |
US10204111B2 (en) | System and method for compressing data in a database | |
CN103440288A (zh) | 一种大数据存储方法及装置 | |
CN111966677B (zh) | 数据报表的处理方法、装置、电子设备及存储介质 | |
CN110990372A (zh) | 一种维度数据的处理方法及装置、数据查询方法及装置 | |
CN104268295A (zh) | 一种数据查询方法及装置 | |
CN105843842A (zh) | 一种大数据环境下多维聚集查询与展示***及方法 | |
CN106294805A (zh) | 数据处理方法及装置 | |
CN115114374B (zh) | 事务执行方法、装置、计算设备及存储介质 | |
CN104268158A (zh) | 一种结构化数据分布式索引及检索方法 | |
CN107273462B (zh) | 一种构建HBase集群全文索引方法,数据读取方法以及数据写入方法 | |
CN114218211A (zh) | 数据处理***、方法、计算机设备以及可读存储介质 | |
CN101320376A (zh) | 一种数据库搜索方法、***及移动通信终端 | |
CN106716400A (zh) | 一种数据表的分区管理方法及装置 | |
Wingerath et al. | NoSQL & real-time data management in research & practice | |
CN112506887A (zh) | 车辆终端can总线数据处理方法及装置 | |
Hasan et al. | Data transformation from sql to nosql mongodb based on r programming language |
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 |