如何在不停机的情况下从RDBMS实时迁移到Mongo?

问题描述 投票:0回答:2

我正在使用仅支持RDBMS的软件。但是我需要将数据存储在MongoDB中。由于我没有该软件的源代码,因此我无法对其进行修改以支持MongoDB。因此,我需要一个实时迁移工具(最好是开源的),该工具可以将数据从RDBMS迁移到MongoDB,而无需停机。 RDBMS中的更新/删除操作还应该在MongoDB中反映实时性。

使用Sctiptella ETL使用如下所示的迁移脚本将数据从任何RDBMS(通过提供JDBC URL)迁移到Mongo。

    <connection id="in" url="jdbc:hsqldb:db/blogs" user="sa" password="" />
    <connection id="out" url="mongodb://localhost/test" />

    <query connection-id="in">
        SELECT * FROM USERS
        <script connection-id="out">
            {
                operation: 'db.collection.save',
                collection: 'users',
                data: {
                    user_id: '?user_id',
                    name: '?name'
                }
            }
        </script>
    </query>

但是这些动作不是实时执行的。需要手动运行脚本进行迁移。

建议是否有任何工具可以:

  1. 将在RDBMS上所做的实时更改反映到MongoDB
  2. 迁移而不关闭服务器(软件)
mongodb etl database-migration rdbms
2个回答
0
投票

我们的MongoDB顾问之一John Page已经针对此挑战编写了一个称为MongoSyphon的ETL工具。

Talend还提供了ETL工具,可将数据从RDMBS的数据复制到MongoDB,但我并没有因为愤怒而使用它。


0
投票

有多个用于迁移的开源工具。您也可以使用Talend,这非常容易且舒适。但是您希望将实时更改反映到目标中,这与任何迁移工具都无关。如果要反映目标数据库中的数据,则只需执行少量ETL操作。

© www.soinside.com 2019 - 2024. All rights reserved.