首页 > 解决方案 > 从mysql到mongo db的数据调度问题

问题描述

我们正在开发一个 SAAS 系统,我们最初使用 MySQL 作为 DB,但随着数据的增长,我们的数据列表变得更慢,因此我们使用 Mongo DB 来存储我们需要显示的准备好的 JSON(所有加入MySQL)有一段时间效果很好

我们在 java 中编写了一个调度程序,它每 2 分钟运行一次,并将修改后的记录从 MySQL 更新到 mongo

最初,它运行良好,但随着时间的推移和数据及其速率的增加,它失败了很多次,所以我们决定找到可以从 MySQL 二进制日志中读取的任何替代方法,我们可以根据需要合并 MySQL 表并存储在蒙哥数据库

Table 1
  Col11
  Col12
  Col13
  Col14
  Col15

表 2 Col21 Col22 Col23 Col24 Col25

蒙戈系列

  Col11
  Col12
  Col13
  Col14
  Col15 
  Col21
  Col22
  Col23
  Col24
  Col25

标签: mysqlmongodbapache-kafkaetldata-synchronization

解决方案


一种选择可能是Kafka Connect,用于将数据从 MySQL 移动到 Kafka,然后从 Kafka 移动到 MongoDB。

第 1 步:JDBCSourceConnector用于将数据从 MySQL 移动到 Kafka

Kafka Connect JDBC 源连接器允许您将任何具有 JDBC 驱动程序的关系数据库中的数据导入 Apache Kafka® 主题。

第 2 步:使用MongoDB 连接器将数据从 Kafka 移动到 MongoDB

轻松地将来自 Kafka 主题的事件映射和持久化到 MongoDB 集合。将您的 Kakfa 主题中的事件直接提取到 MongoDB 集合中,将数据公开给您的服务,以实现高效的查询、扩充和分析。

请注意,MongoDB 连接器可以用作源连接器或接收器连接器。在您的情况下,您需要接收器连接器,用于将数据从 Kafka 主题移动到 MongoDB 中的目标表。


推荐阅读