Как перенести данные в IBM Db2 Warehouse on Cloud с помощью интерфейса командной строки Lift?

При переносе данных из базы данных IBM PureData System for Analytics (Netezza) необходимо сначала с помощью команды «lift extract» локально извлечь таблицу базы данных в файл CSV. Затем командой «lift put» нужно передать файл данных CSV в целевую зону IBM Db2 Warehouse on Cloud. Целевая зона IBM Db2 Warehouse on Cloud — это заранее выделенный участок памяти для загрузки и стирания данных. И наконец, с помощью команды «lift load» файл данных CSV передается в модуль. По окончании загрузки можно удалить файл командой «lift rm».

При переносе группы файлов CSV порядок действий будет тем же. Сначала файлы CSV передаются в целевую зону Db2 Warehouse on Cloud командой «lift put». Целевая зона Db2 Warehouse on Cloud — это заранее выделенный участок памяти для загрузки и стирания данных. Затем с помощью команды «lift load» файл данных CSV передается в модуль. По окончании загрузки можно удалить файл командой «lift rm».

Есть ли максимальный размер базы данных для миграции?

Нет, можно переносить базу данных любого размера. Но следует учесть, что длительность миграции базы данных зависит от скорости сетевого соединения, объема несжатых данных, которые требуется перенести, и аппаратной конфигурации исходного и целевого компьютеров. Другими словами, время работы может варьироваться.

Какие объекты базы данных можно переносить?

Через интерфейс командной строки Lift можно переносить в целевое хранилище данных IBM Cloud таблицы или файлы CSV. Если требуется перенести другие объекты базы данных, например таблицы, представления или хранимые процедуры, воспользуйтесь компонентом IBM Database Conversion Workbench.

Где пакет CLI будет работать максимально эффективно?

Рекомендуется установить CLI в системе, которая находится в сети ближе всего к источнику базы данных. Запуск пакета из этой системы обеспечит минимальное время отклика. Это гарантирует, что ваши данные будут быстрее извлекаться и промежуточно обрабатываться в локальной среде, что, в свою очередь, ускорит процесс миграции данных в целом.

Какие сетевые порты следует открыть в локальной системе?

В системе, где работает CLI Lift, необходимо открыть следующие порты:

НазначениеПротоколНаправлениеНазначениеПорт
Передача AsperaTCPИСХОДЯЩИЙИНТЕРНЕТ33001*
Передача AsperaUDPИСХОДЯЩИЙИНТЕРНЕТ33001*
Db2 Warehouse on Cloud — JDBC, защищенный SSL TCPИСХОДЯЩИЙИНТЕРНЕТ50001
DB2 Warehouse on Cloud REST Load APITCPИСХОДЯЩИЙИНТЕРНЕТ8443
Lift Core ServicesTCPИСХОДЯЩИЙИНТЕРНЕТ443

 

*При установке исходящего соединения CLI Lift с кластером Db2 Warehouse on Cloud через порт 33001 будет входящий обратный трафик. Локальный порт, входящий в динамический диапазон портов, будет выбираться операционной системой произвольно. Все современные брандмауэры работают с сохранением состояния (помнят соединение), и ожидается, что открытия входящего порта не потребуется. 

Каковы требования к локальному хранилищу для извлечения данных?

Для Linux и MacOS минимальный объем хранилища должен быть большим или равным объему памяти, который занимает на диске самая большая таблица (в несжатом виде).

Для Windows минимальный объем хранилища должен быть вдвое большим или равным объему памяти, который занимает на диске самая большая таблица (в несжатом виде).

Как быть, если в целевой зоне Db2 Warehouse on Cloud for Analytics недостаточно места для моей самой большой таблицы?

Вы можете проверить доступный объем дисковой памяти целевой зоны Db2 Warehouse on Cloud for Analytics с помощью команды «lift df». Освободить место можно с помощью команды «lift rm». Если памяти по-прежнему недостаточно, можно разбить таблицу на несколько частей и передавать их по отдельности. Это делается опцией «lift extract –size».

Мне нравится, что Lift работает так быстро, но можно ли замедлить передачу, если я работаю в сети с ограниченной полосой пропускания?

Конечно. Для ограничения полосы пропускания при передаче данных можно выполнить команду «lift put --max-throughput».

Я не хочу вводить свои идентификационные данные для базы данных и другие общие параметры. Можно ли указать их в качестве переменных среды или сохранить где-нибудь?

Да. Идентификационные данные соединения можно задать в качестве переменных среды. Также можно создать файл свойств и сохранить в нем идентификационные данные и другие параметры для базы данных. Для просмотра списка опций интерфейса командной строки Lift воспользуйтесь командой «lift help <command».

Можно ли использовать CLI IBM Lift для данных, регулируемых по HIPAA?

Интерфейс командной строки IBM Lift можно использовать для обработки закрытой медицинской информации, регулируемой по HIPAA, если клиент в качестве оператора персональных данных подтверждает, что меры технической и организационной безопасности соответствуют рискам, связанным с обработкой, и данные защищены. CLI IBM Lift не предназначен для обработки данных, к которым применяются дополнительные регулятивные требования.

Как настроить интерфейс командной строки Lift для работы с прокси HTTP?

Для добавления конфигурации прокси HTTP в файле конфигурации среды lift.environment, который находится в установочном каталоге bin CLI Lift (<установочный каталог CLI Lift>/bin), можно указать следующие параметры:

Хост прокси-сервера: proxy.host =<имя-хоста>. Порт прокси-сервера: proxy.port =<номер-порта>. Для вступления параметров в силу следует указывать оба параметра. Если прокси-сервер требует идентификацию, то в CLI Lift используется простая идентификация: в запросе CONNECT указывается proxy.user =<пользователь> и proxy.password =<пароль>. Для вступления параметров идентификации в силу следует указывать оба параметра.

Пример содержимого <установочный каталог CLI Lift>/bin/lift.environment (указывается по одному свойству в строке):

proxy.host =myproxy.host

proxy.port =3029

proxy.user =myproxyuser

proxy.password =proxypassword

Как добавить новый сертификат X509 в список доверенных сертификатов для CLI Lift?

Для добавления сертификата X509 для импорта в хранилище доверенных сертификатов можно создать в установочном каталоге bin CLI Lift (<установочный каталог CLI Lift>/bin) файл свойств lift.environment со следующими параметрами.

Хост прокси-сервера: proxy.certificate.path =<полный путь к файлу сертификата X509>.

Сертификат добавляется с псевдонимом ibm-lift-imported-proxy-cert. Если псевдоним уже существует, файл не импортируется, поэтому перед повторным запуском CLI его следует удалить вручную. Сертификат можно удалить с помощью утилиты Java keytool в хранилище доверенных сертификатов Java CLI Lift в <установочный каталог CLI Lift>/jre/lib/security/cacerts (например, keytool -delete -alias ibm-lift-imported-proxy-cert -keystore <установочный каталог CLI Lift>/jre/lib/security/cacerts -storepass changeit).

Можно ли установить CLI Lift непосредственно в PureData System for Analytics?

Да, CLI Lift можно установить в PureData System for Analytics, но для обеспечения достаточного объема дисковой памяти для промежуточной обработки извлеченных данных требуется подключение дополнительного хранилища.

Как лучше всего подключать и настраивать дополнительное хранилище для PureData System for Analytics?

В следующих технических документах приведены инструкции по монтированию систем SAN/NFS в PureData Systems for Analytics. В них также содержатся практические рекомендации по подключению и настройке дополнительного хранилища для PureData System for Analytics.

1. Добавление хранилища SAN к PureData Systems for Analytics: http://www.ibm.com/support/docview.wss?uid=swg21700900

2. IBM PureData System for Analytics: монтирование NFS на устройстве: http://www.ibm.com/support/docview.wss?qid=63d511603b6e6fb3a0216ea69fc0d500&uid=swg21568933

3. Монтирование файловой системы NFS в системах PureData for Analytics: http://www.ibm.com/support/docview.wss?qid=a9cf4df18f89517d8338b99a8743f522&uid=swg21971589

В какой части локальной системы лучше всего устанавливать CLI Lift, если в качестве источника используется IBM PureData System for Analytics?

При установке CLI Lift для источников PureData System for Analytics следует устанавливать его в системе «внедрения» (это система, используемая для промежуточной обработки данных перед их загрузкой в базу данных PureData System for Analytics). Эта система будет иметь хорошую связь с PureData System for Analytics и большой объем дисковой памяти для промежуточной обработки данных. Но если система внедрения уже заполнена, то устанавливайте CLI Lift в системе с аналогичным подключением и большим объемом памяти.

Где лучше установить CLI Lift для максимальной производительности, если в качестве источника используется IBM PureData System for Analytics?

Мы настоятельно рекомендуем устанавливать CLI Lift в системе Linux. Если CLI Lift установлен в системе Linux, извлечение данных из источников PureData System for Analytics осуществляется с помощью высокоскоростных функций выгрузки. Установка CLI Lift в Linux заметно повысит общую производительность при использовании PureData System for Analytics в качестве источника.

Где лучше установить CLI Lift для максимальной производительности, если в качестве источника используется IBM Db2 для Linux, UNIX и Windows?

Мы настоятельно рекомендуем устанавливать CLI Lift в системе Linux с установленным клиентом Db2. Установка CLI Lift в системе Linux с клиентом Db2 существенно повышает общую производительность. Если CLI Lift не удается обнаружить клиент Db2, то используется другая стратегия извлечения, которая может сказаться на производительности. Если в системе, в которой установлен CLI Lift, недоступен клиент DB2, на консоли появится сообщение «Lift извлекает данные с обычной скоростью. Для ускорения извлечения установите и настройте клиент Db2. Дополнительную информацию можно найти здесь: http://ibm.biz/BdZcFp» (внешняя ссылка).

Каковы требования к клиенту Db2 для максимально быстрого извлечения данных из IBM Db2 для Linux, UNIX и Windows?

Предварительные требования CLI Lift для использования клиента Db2:

1. В переменной PATH должна быть доступна команда db2 (для Linux) или db2cmd (для Windows).

  • Linux: <Перед выполнением CLI Lift к среде следует применить профайл INSTANCE_OWNER_HOME>/sqllib/db2profile
  • Windows: Клиент Db2 должен быть установлен в качестве экземпляра по умолчанию

2. Если CLI Lift выполняется удаленно с сервера IBM Db2 для Linux, UNIX и Windows, то пользователь ОС должен входить в группу SYSADM экземпляра клиента Db2.

3. Версия клиента Db2 должна совпадать с версией сервера IBM Db2 для Linux, UNIX и Windows или быть новее ее.

Можно ли переносить таблицы со скрытыми столбцами из исходной базы данных Db2?

Да. CLI Lift поддерживает извлечение скрытых столбцов. По умолчанию скрытые столбцы не включаются в извлеченный файл CSV. Если требуется включить в извлеченные данные скрытые столбцы, необходимо явно указать названия всех столбцов (вместе со скрытыми) с помощью опции column selection. Дополнительные сведения об опции column selection можно получить, выполнив команду «lift extract –help».

Каковы требования к клиенту Oracle для максимально быстрого извлечения данных с сервера Oracle?

Ниже приведен список предварительных требований CLI Lift для клиента Oracle:

1. Установите базовый модуль и модуль инструментов клиента Oracle.

2. Добавьте путь к программе exp в переменную среды PATH.

3. В зависимости от среды может потребоваться добавление пути к библиотеке клиента Oracle в переменную пути к библиотеке ОС (например, LD_LIBRARY_PATH).

4. Версия клиента Oracle должна совпадать с версией сервера Oracle или быть новее ее.

Примечание: Предварительная настройка соединения клиента Oracle с исходной базой данных не требуется.

Можно ли переносить таблицу с международными многобайтовыми символами?

Да. CLI Lift работает с кодовой страницей UTF-8 и поддерживает преобразование данных из популярных наборов символов Oracle.

Ниже приведен список поддерживаемых наборов символов базы данных Oracle (NLS_CHARACTERSET):

AL32UTF8, AR8ISO8859P6, AR8MSWIN1256, BLT8ISO8859P13, BLT8MSWIN1257, CL8ISO8859P5, CL8MSWIN1251, EE8ISO8859P2, EE8MSWIN1250, EL8ISO8859P7, EL8MSWIN1253, IW8ISO8859P8, IW8MSWIN1255, JA16EUC, JA16EUCTILDE, JA16SJIS, JA16SJISTILDE, KO16MSWIN949, NEE8ISO8859P4, TH8TISASCII, TR8MSWIN1254, VN8MSWIN1258, WE8ISO8859P15, WE8ISO8859P9, WE8MSWIN1252, ZHS16GBK, ZHT16HKSCS, ZHT16MSWIN950, ZHT32EUC, ALE16UTF16

Набор символов исходной базы данных Oracle можно определить следующим запросом SQL:

SELECT PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME = 'NLS_CHARACTERSET';

В системе с CLI Lift настроен клиент Oracle, но в CLI Lift отображается сообщение типа «Lift извлекает данные с обычной скоростью. В исходной таблице присутствуют типы данных, замедляющие извлечение данных Lift». Почему не удается извлекать данные быстрее?

Если в таблице есть любой из следующих типов данных, то CLI Lift использует режим с пониженной производительностью:

BINARY_FLOAT, BINARY_DOUBLE, LOB, BLOB, CLOB, BFILE, XML, ROWID, UROWID

Каждая таблица оценивается отдельно. Этот пониженный режим действует только для операции извлечения текущей таблицы, в которой есть эти типы данных.

Требуется ли настраивать Microsoft SQL Server Tools или клиент для использования CLI Lift?

Нет. Для миграции данных с помощью CLI Lift не требуется установка дополнительных инструментов.

Начало работы с IBM Lift

Начните перенос данных за считанные минуты.