Surya
Surya

Reputation: 1091

How to perform live migration from RDBMS to Mongo without downtime?

I am using a software which supports only RDBMS. But I need the data to be stored in MongoDB. Since I don't have the source code of that software, I can't able to modify it to support MongoDB. So I need a live migration tool (preferably open-source) that can migrate data from RDBMS to MongoDB without software downtime. The update/delete operations in RDBMS should also reflect realtime in MongoDB.

Used Sctiptella ETL to migrate data from any RDBMS (by providing JDBC URL) to Mongo using a migration script like below.

    <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>

But these actions are not performed in realtime. Need to run the script manually for migration.

Suggest if there are any tools which can:

  1. Reflect live changes made on RDBMS to MongoDB
  2. Migrate without shutting down the server (software)

Upvotes: 1

Views: 240

Answers (2)

Jim Macaulay
Jim Macaulay

Reputation: 5141

There are multiple opensource tool for the migration. You can use Talend as well, which is very easy and comfortable. But you are expecting to reflect live changes into your target which is irrelevant with any migration tools. If you wanted to reflect the data in your target database, you need to perform few ETL operations.

Upvotes: 0

Joe Drumgoole
Joe Drumgoole

Reputation: 1348

One of our MongoDB consultants John Page has written an ETL tool for this challenge called MongoSyphon.

Talend also do an ETL tool to copy data from RDMBS's to MongoDB but I haven't used that one in anger.

Upvotes: 1

Related Questions