Как выполнить живую миграцию с РСУБД на Пн go без простоев? - PullRequest
1 голос
/ 27 мая 2020

Я использую программное обеспечение, которое поддерживает только СУБД. Но мне нужно, чтобы данные хранились в MongoDB. Поскольку у меня нет исходного кода этого программного обеспечения, я не могу изменить его для поддержки MongoDB. Поэтому мне нужен инструмент живой миграции (желательно с открытым исходным кодом), который может переносить данные из СУБД в MongoDB без простоя программного обеспечения. Операции обновления / удаления в СУБД также должны отражать реальное время в MongoDB.

Используется Sctiptella ETL для переноса данных из любой СУБД (путем предоставления JDB C URL-адреса) в Mon go с использованием сценарий миграции, как показано ниже.

    <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. Отражать текущие изменения, внесенные в СУБД, в MongoDB
  2. Перенести без завершения работы выключить сервер (ПО)

Ответы [ 2 ]

1 голос
/ 28 мая 2020

Один из наших консультантов по MongoDB Джон Пейдж написал инструмент ETL для решения этой задачи под названием MongoSyphon .

Talend также использует инструмент ETL для копирования данных из RDMBS в MongoDB, но я не использовал его в гневе.

0 голосов
/ 28 мая 2020

Есть несколько инструментов с открытым исходным кодом для миграции. Вы также можете использовать Talend, что очень просто и удобно. Но вы ожидаете отражения живых изменений в своей цели, что не имеет отношения к каким-либо инструментам миграции. Если вы хотите отразить данные в целевой базе данных, вам нужно выполнить несколько операций ETL.

...