Топ-100

Transfer data lite (ETL)

Transfer data (lite) - это простой ETL механизм для переноса данных между разными СУБД (Oracle, PostgreSQL, MySQL, MSSQL).

Создание потока переноса данных:

В главном окне программы DB -> Transfer data (lite)

На главном менеджера представляет из себя коллектор лога работы ETL потоков.

Для включения трассировки переноса данных установит чек "Trace speed" перед запуском потока на листе.

Создание листа и запуск потока переноса данных:

1. Нажать кнопку "Create new list"

2. Настроить подключение "Connect #1"

  2.1 Перейти на нужную вкладку (Oracle, PostgreSQL (в том числе для СУБД основанных на PostgreSQL, например Green Plum), MySQL (в том числе для СУБД основанных на MySQL, например MariaDB), MSSQL

  2.2 Заполнить все поля

  2.4 Нажать кнопку "Connect". При успешном соединении надпись изменится на "Connected" и все поля блока "Connect #1" станут не активными. 

3. Настроить подключение "Connect #2"

  3.1 Перейти на нужную вкладку (Oracle, PostgreSQL (в том числе для СУБД основанных на PostgreSQL, например Green Plum), MySQL (в том числе для СУБД основанных на MySQL, например MariaDB), MSSQL

  3.2 Заполнить все поля

  3.4 Нажать кнопку "Connect". При успешном соединении надпись изменится на "Connected" и все поля блока "Connect #2" станут не активными. 

4. Настройка потока:

  4.1 CommitCount - определяет размер порции данных (количество строк загружаемых в память ПК из БД источника) после вставки которой производится фиксация в БД приемнике. Рекомендуется устанавливать данное значение в интервале от 300 до 3000 строк. При увеличении значения, увеличивается использование памяти ПК.

  4.2 Выбрать механизм (драйвер) извлекающий данные из БД источника:

    4.2.1 DATASET(SQL) - используется классический DataSet извлекающий данные с помощью SQL запроса

    4.2.2 SQLSET(SQL) - используется компонент извлекающий данные с помощью SQL запроса

    4.2.2 SQLSET(TABLE) - используется компонент. Входной параметр имя таблицы данные из которой необходимо перенести

  4.3 IN Query - ввести текст SQL запроса или имя таблицы (при необходимости с именем схемы в которой она размещена) 

  4.4 Loop (one line - one request, without the ";" at the end) - при установлении данного чекбокса, программа рассматривает каждую строку в поле IN Query как отдельный запрос на извлечение данных. Строки обходятся в цикле и по очереди запускается перенос данных. ВАЖНО: строка не должна заканчиваться символом ";" 

  4.5 Выбрать механизм (драйвер) извлекающий данные из БД приемника для получения метаданных о структуре таблицы:

    4.5.1 DATASET(SQL) - используется классический DataSet извлекающий данные с помощью SQL запроса

    4.5.2 SQLSET(SQL) - используется компонент извлекающий данные с помощью SQL запроса

    4.5.2 SQLSET(TABLE) - используется компонент. Входной параметр имя таблицы метаданные которой необходимо извлечь

  4.6 OUT Query - ввести текст SQL запроса или имя таблицы (при необходимости с именем схемы в которой она размещена) 

  4.7 Direct - использовать специализированный режим фиксации данных.

  4.8 Reind - предварительный просмотр набора данных компонентом

  4.9 Optimize - оптимизировать скорость чтения данных

5. Нажать кнопку "Run data transfer"

Для остановки работы потока нажать кнопку "Stop data transfer

Скорость переноса данных.

Скорость переноса данных зависит как от выбранных СУБД между которыми происходит процесс миграции данных, так и от производительности дисков.

 

Тест кейс:

Соединение IN 

СУБД: Postgres

Хост: localhost

Диск SSD

Соединение OUT:

СУБД: MS SQL Server

Хост: виртуальная машина

Таблица: создана на основе представления DBA_TABLES

 

*****2020.09.20 00:46:18*****
Type:SQLSET(TABLE)
SQL: testtb3

Timed: 189.638
RowPerSec: 8623
Read: 1629693
Move: 1629693
Error: 0
End: 2020.09.20 00:49:28
***************************

  • YouTube Social  Icon
  • Facebook Социальной Иконка