Перенос данных в учетную запись API SQL в Azure Cosmos DB с помощью платформы Striim

ПРИМЕНИМО К: API SQL

Образ Striim в Azure Marketplace обеспечивает непрерывное перемещение данных из хранилищ и баз данных в Azure в режиме реального времени. При перемещении данных можно выполнить встроенную денормализацию, преобразование данных, включить аналитику в режиме реального времени и сценарии создания отчетов с данными. Можно без особых сложностей приступить к работе со Striim, чтобы непрерывно перемещать корпоративные данные в API SQL в Azure Cosmos DB. Azure предоставляет платформу, упрощающую развертывание Striim и перенос данных в Azure Cosmos DB.

В этой статье описан способ использования Striim для переноса данных из базы данных Oracle в учетную запись API SQL в Azure Cosmos DB.

Предварительные требования

Развертывание решения Striim из Marketplace

  1. Войдите на портал Azure.

  2. Выберите Создать ресурс и выполните поиск Striim в Azure Marketplace. Выберите первый вариант и нажмите кнопку Создать.

    Поиск элемента Striim в Marketplace

  3. Затем введите свойства конфигурации для экземпляра Striim. На виртуальной машине развертывается среда Striim. В области Основные сведения введите имя пользователя виртуальной машины, пароль виртуальной машины (этот пароль используется для подключения к виртуальной машине по протоколу SSH). Выберите свои параметры Подписка, Группа ресурсов и Сведения о расположении, где надо развернуть Striim. По завершении нажмите кнопку ОК.

    Настройка основных параметров для Striim

  4. В области Параметры кластера Striim выберите тип развертывания Striim и размер виртуальной машины.

    Параметр Значение Описание
    Тип развертывания Striim Автономный Striim может выполняться с типом развертывания Автономный или Кластер. В автономном режиме сервер Striim будет развернут на одной виртуальной машине. Размер виртуальных машин можно выбрать в зависимости от объема данных. В режиме кластера сервер Striim будет развернут на двух или более виртуальных машинах выбранного размера. Кластерные среды с более чем 2 узлами автоматически обеспечивают высокий уровень доступности и отработку отказа.

    В этом руководстве можно выбрать параметр "Автономный". Для размера виртуальной машины используйте значение по умолчанию "Standard_F4s".
    Имя кластера Striim <Striim_cluster_Name> Имя кластера Striim.
    Пароль кластера Striim <Striim_cluster_password> Пароль для кластера.

    После заполнения формы нажмите кнопку ОК, чтобы продолжить.

  5. В области Параметры доступа Striim укажите общедоступный IP-адрес (выберите значения по умолчанию), доменное имя для Striim, пароль администратора, который будет использоваться для входа в пользовательский интерфейс Striim. Настройте виртуальную сеть и подсеть (выберите значения по умолчанию). После внесения сведений нажмите кнопку ОК, чтобы продолжить.

    Параметры доступа Striim

  6. Azure проверит правильность развертывания. Проверка занимает несколько минут. По окончании проверки нажмите кнопку ОК.

  7. Наконец, ознакомьтесь с условиями использования и выберите Создать, чтобы создать экземпляр Striim.

Настройка базы данных-источника

В этом разделе будет выполнена настройка базы данных Oracle в качестве источника для перемещения данных. Для подключения к Oracle потребуется драйвер Oracle JDBC. Для считывания изменений из исходной базы данных Oracle можно использовать утилиту LogMiner или API-интерфейсы XStream. Чтобы считывать, записывать или сохранять данные из базы данных Oracle, в подкаталогах Java в Striim должен присутствовать драйвер Oracle JDBC.

Загрузите драйвер ojdbc8.jar на локальный компьютер. Он будет установлен в кластере Striim позже.

Настройка целевой базы данных

В этом разделе будет настроена учетная запись API SQL в Azure Cosmos DB в качестве целевой для перемещения данных.

  1. Создайте учетную запись API SQL в Azure Cosmos DB с помощью портала Azure.

  2. Перейдите в область Обозреватель данных в учетной записи Azure Cosmos. Выберите Создать контейнер для создания контейнера. Предположим, что выполняется перенос продуктов и данных заказов из базы данных Oracle в Azure Cosmos DB. Создайте базу данных с именем StriimDemo с контейнером под названием Заказы. Подготовьте контейнер с 1000 ЕЗ (единица запроса) (в этом примере используется 1000 ЕЗ, но следует использовать оценку пропускной способности для вашей рабочей нагрузки) и /ORDER_ID в качестве ключа раздела. Эти значения будут отличаться в зависимости от исходных данных.

    Создание учетной записи API SQL

Настройка потока данных из Oracle в Azure Cosmos DB

  1. Теперь вернемся к Striim. Прежде чем взаимодействовать со Striim, установите ранее загруженный драйвер Oracle JDBC.

  2. Перейдите к экземпляру Striim, развернутому на портале Azure. Нажмите кнопку Подключить в верхней строке меню и на вкладке SSH скопируйте URL-адрес в поле Вход с помощью локальной учетной записи виртуальной машины.

    Получение URL-адреса SSH

  3. Откройте новое окно терминала и выполните команду SSH, скопированную с портала Azure. В этой статье используется терминал в MacOS. Аналогичные инструкции можно выполнять с помощью генератора ключей PuTTY или другого клиента SSH на компьютере Windows. При появлении запроса введите да, чтобы продолжить работу, и введите пароль, заданный для виртуальной машины на предыдущем этапе.

    Подключение к виртуальной машине Striim

  4. Теперь откройте вкладку нового терминала, чтобы скопировать файл ojdbc8.jar, загруженный ранее. Чтобы скопировать Jar-файл с локального компьютера в папку tmp экземпляра Striim, выполняемого в Azure, используйте следующую команду SCP:

    cd <Directory_path_where_the_Jar_file_exists> 
    scp ojdbc8.jar striimdemo@striimdemo.westus.cloudapp.azure.com:/tmp
    

    Копирование Jar-файла с локального компьютера в Striim

  5. Затем вернитесь к окну, где SSH использовался для экземпляра Striim, и выполните вход как sudo. Переместите файл ojdbc8.jar из каталога /tmp в каталог lib экземпляра Striim с помощью следующих команд:

    sudo su
    cd /tmp
    mv ojdbc8.jar /opt/striim/lib
    chmod +x ojdbc8.jar
    

    Перемещение Jar-файла в папку lib

  6. В том же окне терминала перезапустите сервер Striim, выполнив следующие команды:

    Systemctl stop striim-node
    Systemctl stop striim-dbms
    Systemctl start striim-dbms
    Systemctl start striim-node
    
  7. Запуск Striim займет около минуты. Если надо просмотреть состояние, выполните следующую команду:

    tail -f /opt/striim/logs/striim-node.log
    
  8. Теперь вернитесь в Azure и скопируйте общедоступный IP-адрес виртуальной машины Striim.

    Копирование IP-адреса виртуальной машины Striim

  9. Чтобы перейти к веб-интерфейсу Striim, откройте новую вкладку в браузере и скопируйте общедоступный IP-адрес, после которого указано 9080. Войдите, используя имя администратора и пароль администратора, указанный на портале Azure.

    Вход в Striim

  10. Теперь вы находитесь на домашней странице Striim. Здесь представлены три разные области: Панели мониторинга, Приложения и SourcePreview (Просмотр исходных данных). В области "Панели мониторинга" можно перемещать данные в режиме реального времени и визуализировать их. В области "Приложения" находятся конвейеры потоковых данных или потоки данных. В правой части страницы находится область SourcePreview, где можно просматривать данные перед их перемещением.

  11. Выберите область Приложения, и мы рассмотрим ее. Имеется множество примеров приложений, которые можно использовать для ознакомления с Striim, однако в этой статье вы создадите собственный пример. Нажмите кнопку Добавить приложение в правом верхнем углу.

    Добавление приложения Striim

  12. Предлагается несколько способов создания приложений Striim. Выберите Начать с шаблона, чтобы начать с имеющегося шаблона.

    Запуск приложения с помощью шаблона

  13. В поле Поиск шаблонов введите "Cosmos" и выберите Цель: Azure Cosmos DB, затем выберите Oracle CDC в Azure Cosmos DB.

    Выбор Oracle CDC в Cosmos DB

  14. На следующей странице присвойте имя своему приложению. Можно указать, например, имя oraToCosmosDB, затем нажмите кнопку Сохранить.

  15. Далее, введите конфигурацию источника исходного экземпляра Oracle. Введите значение в поле Имя источника. Имя источника — это просто соглашение об именовании для приложения Striim. Можно использовать имя, подобное src_onPremOracle. Введите значения для других параметров источника — URL-адрес, Имя пользователя, Пароль, и выберите LogMiner в качестве считывателя для чтения данных из Oracle. Нажмите кнопку Далее, чтобы продолжить.

    Настройка параметров источника

  16. Striim проверит вашу среду, чтобы подтвердить, что ее можно подключить к вашему экземпляру-источнику Oracle, наличие корректных разрешений и настройку CDC. После проверки всех значений нажмите кнопку Далее.

    Проверка параметров источника

  17. В базе данных Oracle выберите таблицы для переноса. Например, выберите таблицу "Заказы" и нажмите кнопку Далее.

    Выбор исходных таблиц

  18. После выбора исходной таблицы можно выполнить более сложные операции, например сопоставление и фильтрацию. В этом случае вы просто создадите реплику исходной таблицы в Azure Cosmos DB. Итак, нажмите кнопку Далее, чтобы настроить целевой объект.

  19. Теперь настроим целевой объект.

    • Имя целевого объекта — укажите понятное имя для целевого объекта.
    • Ввод из — в раскрывающемся списке выберите входной поток из данных, созданных в исходной конфигурации Oracle.
    • Коллекции — введите свойства конфигурации целевого объекта Azure Cosmos DB. Синтаксис коллекций — SourceSchema.SourceTable, TargetDatabase.TargetContainer. В этом примере в качестве значения используется "SYSTEM.ORDERS, StriimDemo.Orders".
    • AccessKey — это PrimaryKey (основной ключ) учетной записи Azure Cosmos.
    • ServiceEndpoint — универсальный код ресурса (URI) учетной записи Azure Cosmos. Коды указаны в разделе Ключи портала Azure.

    Выберите Сохранить и Далее.

    Настройка параметров целевого объекта

  20. Далее вы попадаете в конструктор потоков, где можно перетаскивать соединители блоков для создания приложений потоковой передачи. На этом этапе не вносятся изменения потока. Продолжайте и разверните приложение, нажав кнопку Развернуть приложение.

    Развертывание приложения

  21. В окне развертывания можно указать, следует ли запускать определенные части приложения в определенных частях топологии развертывания. Поскольку мы работаем в простой топологии развертывания с помощью Azure, будем использовать параметр по умолчанию.

    Использование параметра по умолчанию

  22. После развертывания можно просмотреть поток передаваемых данных. Щелкните значок волны и значок просмотра рядом с ним. Нажмите элемент Развернуто в верхней строке меню и выберите Запустить приложение.

    Запуск приложения

  23. Striim будет выбирать только новые изменения в базе данных с помощью средства чтения CDC (отслеживание измененных данных) . При наличии данных, передаваемых через исходные таблицы, вы это увидите. Однако, источник не подключен к какому-либо приложению, поскольку это демонстрационная таблица. При использовании генератора образцов данных можно вставить цепочку событий в базу данных Oracle.

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

    Настройка конвейера CDC

  25. И наконец, войдите в Azure и перейдите в учетную запись Azure Cosmos. Обновите обозреватель данных, и увидите, что данные получены.

    Проверка перенесенных данных в Azure

Решение Striim в Azure позволяет непрерывно переносить данные в Azure Cosmos DB из различных источников, таких как Oracle, Cassandra, MongoDB и многих других. Дополнительные сведения см. на веб-сайте Striim. Загрузите бесплатную 30-дневную пробную версию Striim и отправляйте запросы на поддержку, если возникают проблемы при настройке пути миграции с помощью Striim.

Дальнейшие действия